如何给字体加斜体等样式

如果不用RichText组件,文本字体怎样添加斜体加粗等样式,感谢解答

看 CCRichText.js 源码:

    _applyTextAttribute (labelNode) {
        let labelComponent = labelNode.getComponent(cc.Label);
        if (!labelComponent) {
            return;
        }

        let index = labelNode._styleIndex;
        labelComponent.lineHeight = this.lineHeight;
        labelComponent.horizontalAlign = HorizontalAlign.LEFT;
        labelComponent.verticalAlign = VerticalAlign.CENTER;

        let textStyle = null;
        if (this._textArray[index]) {
            textStyle = this._textArray[index].style;
        }

        if (textStyle && textStyle.color) {
            labelNode.color = this._convertLiteralColorValue(textStyle.color);
        }else {
            labelNode.color = this._convertLiteralColorValue("white");
        }

        labelComponent._enableBold(textStyle && textStyle.bold);

        labelComponent._enableItalics(textStyle && textStyle.italic);
        //TODO: temporary implementation, the italic effect should be implemented in the internal of label-assembler.
        if (textStyle && textStyle.italic) {
            labelNode.skewX = 12;
        }

        labelComponent._enableUnderline(textStyle && textStyle.underline);

        if (textStyle && textStyle.outline) {
            let labelOutlineComponent = labelNode.getComponent(cc.LabelOutline);
            if (!labelOutlineComponent) {
                labelOutlineComponent = labelNode.addComponent(cc.LabelOutline);
            }
            labelOutlineComponent.color = this._convertLiteralColorValue(textStyle.outline.color);
            labelOutlineComponent.width = textStyle.outline.width;
        }

        if (textStyle && textStyle.size) {
            labelComponent.fontSize = textStyle.size;
        }
        else {
            labelComponent.fontSize = this.fontSize;
        }

        labelComponent._updateRenderData(true);

        if (textStyle && textStyle.event) {
            if (textStyle.event.click) {
                labelNode._clickHandler = textStyle.event.click;
            }
        }
    },
```

**所以实现方式就是:**

```javascript
this.label._enableBold(true);   // 加粗

this.label._enableItalics(true);
this.label.node.skewX = 12;     // 改 node 的 skewX 实现斜体 ← 这句生效

this.label._enableUnderline(true);  // 下划线
```

其中 `this.label` 为 cc.Label 组件
3赞

label组件勾选“Enable Bold”和“Enable Italic”