我们目前的需求是中文的标点符号需要根据当前段落汉字的字体而变化。比如当前段落汉字时宋体,那么就需要中文的标点符号都是宋体,结果标点符号全部变成了Times New Roman。
builder.getFont().setNameAscii("Times New Roman");
builder.getFont().setNameFarEast("宋体");
builder.writeln("中文内容包含“中文标点‘符号’,开始”,就是内容");
我们目前的需求是中文的标点符号需要根据当前段落汉字的字体而变化。比如当前段落汉字时宋体,那么就需要中文的标点符号都是宋体,结果标点符号全部变成了Times New Roman。
builder.getFont().setNameAscii("Times New Roman");
builder.getFont().setNameFarEast("宋体");
builder.writeln("中文内容包含“中文标点‘符号’,开始”,就是内容");
@yangxiong0301 感谢您提供的更多信息。您描述的行为符合预期,因为您的代码中设置了 Ascii 和 FarEast 字体名称。MS Word 会确定运行中每个字符的字符代码并选择相应的字体。在您的示例中,双引号字符被识别为 ASCII 字符,因此使用了 Times New Roman 字体。要获得预期的输出,您可以这样设置字体:
builder.getFont().setName("宋体");
builder.writeln("中文内容包含“中文标点‘符号’,开始”,就是内容");