转换希伯来语时,MS Word 字体变为 TimesNewRoman

转换希伯来语时,MS Word 字体变为 TimesNewRoman

通常,我用三种语言(英语、希伯来语、阿拉伯语)处理 MS Word,每次我写字,甚至切换语言时,它都会返回到字体:TimesNewRoman。当我使用不支持其他语言的字体(传统阿拉伯字体(简称 TA)不支持希伯来语)时,实际上会发生此问题。问题恰恰发生在使用希伯来语时。(TA 不支持希伯来语),因此字体更改为 TimeNewRoman 并保持不变,即使将语言改回阿拉伯语也是如此。

我怎样才能使“当前字体不支持的语言”用 Calibri 而不是 TimeNewRoman 书写,或者保持字体恢复为我当前的字体而不是失败的 TimeNewRoman。

我尝试过一些方法,但没有任何效果:

  • 更改样式的字体。
  • 更改默认字体。
  • 改变主题的字体设置。截屏
  • 创建并将所有这些更改应用于 Normal.dotm 模板而不是仅仅当前文档。

额外信息:当使用两种复杂语言时会出现这个问题,我希望可以为每种语言选择一种字体,而不是只为复杂语言选择一种字体。

答案1

作为临时解决方案,我创建了宏,以便可以半自动地获得所需的字体

    Sub Arabic()
    Selection.Font.Name = "Traditional Arabic"
End Sub
Sub Hebrew()
    Selection.Font.Name = "David"
End Sub
Sub English()
    Selection.Font.Name = "Calibri"
End Sub

然后为每种字体定义一个快捷图标和快捷键:

  1. 显示 Word 选项
  2. 在对话框左侧,单击自定义功能区
  3. 单击“自定义键盘”
  4. 选择宏类别
  5. 选择您想要分配给快捷键的宏并分配..
  6. 我选择 Ctrl+Alt+Q 表示英语,Ctrl+Alt+W 表示希伯来语,Ctrl+Alt+E 表示阿拉伯语。

顺便说一下,我已经将 ctrl+1 分配给英语,ctrl+2 分配给希伯来语,ctrl+3 分配给阿拉伯语。使用 Autohotkey 和以下代码:

^1::SetInputLang(0x0409) ; English (USA)
^2::SetInputLang(0x040d) ; Hebrew
^3::SetInputLang(0x0401) ; arabic saudi arabia

SetInputLang(Lang)
{
    WinExist("A")
    ControlGetFocus, CtrlInFocus
    PostMessage, 0x50, 0, % Lang, %CtrlInFocus%
}

希望这对你有帮助,Bm3

相关内容