1

我正在为一个阅读障碍的孩子写一些阅读材料。为了方便他,我想在每个字母中使用不同的颜色(即所有“a”为红色,所有“e”为蓝色等)。

我是手动做的,很痛苦。尝试使用搜索/替换,但它不接受颜色或格式。

有没有办法为每个字母定义颜色?

4

2 回答 2

2

这是一个python宏:

import string

def get_color_dict():
    color_list = []
    #color_range = range(0xFF + 1)  # all possible colors
    color_range = [0, 128, 200]
    for r in color_range:
        for g in color_range:
            for b in color_range:
                color_list.append("%02x%02x%02x" % (r, g, b))
    letter_color = {}
    for letter in string.ascii_lowercase:
        letter_color[letter] = color_list.pop(0)
    return letter_color

def colorize_text():
    letter_colors = get_color_dict()
    doc = XSCRIPTCONTEXT.getDocument()
    oVC = doc.getCurrentController().getViewCursor()
    oVC.gotoStart(False)
    oVC.collapseToEnd()
    while oVC.goRight(1, True):
        letter = oVC.getString()
        if letter:
            letter = letter.lower()
        if letter in letter_colors:
            oVC.CharColor = int(letter_colors[letter], 16)
        oVC.goRight(0, False)  # deselect
        oVC.collapseToEnd()

# Functions that can be called from Tools -> Macros -> Run Macro.
g_exportedScripts = colorize_text

要运行宏,请将其另存为纯文本文件。创建一个Scripts/python子文件夹并将文件放入其中,如此所述。

以下是使用“Lorem ipsum”的示例结果(在@tohuwawohu 之后):

在此处输入图像描述

于 2016-05-16T22:02:40.727 回答
1

AFAIK 实现此目的的唯一方法是进行搜索/替换,在替换时指定字体颜色。要在替换时自动更改字符颜色,请打开Find & replace对话框(菜单Edit->Find & ReplaceCTRL+ H),然后选择“ Other Options”:

在此处输入图像描述

现在,有一个按钮Format

在此处输入图像描述

单击Format按钮将弹出通常的字符样式对话框。在那里,切换到“字体效果”选项卡并设置特定字符的字体颜色:

在此处输入图像描述

选择颜色后,它将显示在“替换为”组合框下方(要删除它,请单击No Format按钮):

在此处输入图像描述

这是在文本中使用自定义字体颜色替换ae自行替换的结果:Lorem ipsum

在此处输入图像描述

于 2016-05-16T18:28:07.283 回答