如何将新字体应用于以特定字体编写的字符?

Posted

技术标签:

【中文标题】如何将新字体应用于以特定字体编写的字符?【英文标题】:How to apply new font to characters written in a particular font? 【发布时间】:2016-06-27 11:21:04 【问题描述】:

我正在编辑一些使用非 Unicode 字体以科普特语言编写的文本文件。我正在将文件转换为 Unicode。

我使用三种字体编写的文件来表示发音方言。 我想创建一个宏来搜索非 Unicode 字符并将其替换为 Unicode 字符。

我想限制搜索和替换某些字体。我尝试录制宏,但字体选择没有录制。

最终结果将用 Unicode 字符和方言标记分别替换其中一种字体(在字符中内置了方言标记)中的字符。

有没有办法修改下面的代码,将搜索和替换功能限制为以特定字体书写的字符?

Sub aaaa()
'
' aaaa Macro
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "n"
        .Replacement.Text = ChrW(11419) & ChrW(769)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchKashida = False
        .MatchDiacritics = False
        .MatchAlefHamza = False
        .MatchControl = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

在哪里选择字体

最终结果

【问题讨论】:

【参考方案1】:

解决办法:

    Sub twoo()
'
' twoo Macro
'
'
With Selection.Find
 .Text = "n"

 ' Clear all previously set formatting for Find dialog box.
 .ClearFormatting
 ' Set font to Find for replacement.
 .Font.Name = "EXISTING FONT NAME"


 ' Clear all previously set formatting for Replace dialog box.
 .Replacement.ClearFormatting
 ' Set font to Replace found font.
 .Replacement.Font.Name = "NEW FONT NAME"

 .Replacement.Text = ChrW(11419) & ChrW(769)
 .Forward = True
 .Wrap = wdFindContinue
 .Format = True
 .MatchCase = False
 .MatchWholeWord = False
 .MatchKashida = False
 .MatchDiacritics = False
 .MatchAlefHamza = False
 .MatchControl = False
 .MatchWildcards = False
 .MatchSoundsLike = False
 .MatchAllWordForms = False
 End With
 Selection.Find.Execute Replace:=wdReplaceAll

End Sub

【讨论】:

以上是关于如何将新字体应用于以特定字体编写的字符?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用字体写乐谱

c程序中控制台字体颜色是如何编写的呢?

如何将新的SVG图标添加到字体真棒[重复]

如何使用非标准字体编写电子邮件模板?

如何将新字体导入项目 - Angular 5

如何获取(网络)字体中单个字符的大小?