用泰文写小说
用泰文写小说:叠在辅音上的元音与声调标、词间无空格、靠分词的断行、行距与对齐、字体,以及该测试什么。
发布于 27 Sept 2026 · 1 分钟阅读
泰文小说有深厚的连载传统,在阅读应用与网络平台上也活得健康,但在网上写它,意味着要同文字本身谈判。泰文把元音与声调标叠在辅音上方,书写时词与词之间不留空格,并把排版的难处全权交给渲染文本的引擎。理解了这三件事的写作者,挑得到应付得来的工具,避得开那些悄悄把页面搅烂的。
这套文字如何运作
泰文是元音附标文字(abugida):每个辅音自带一个元音,元音符修改它。这些元音里,有的是在辅音前后键入的占位字母,有的是组合附标;用 W3C 的概括:“只有出现在辅音上方或下方的元音符号成分是组合附标;其余是普通的占位字母。”元音朝每个方向包裹基础字符。Omniglot 描述泰文元音附标出现在“它所修饰的辅音的前面、上面、下面或后面”,W3C 则指出复合元音“可以动用最多 4 个字形(外加一个声调标),字形可以最多三面环绕基础辅音”。
泰文也有声调,而且声调写出来:声调标“放在音节最后一个声母辅音上”(Omniglot),W3C 补充说,实际声调取决于辅音的类、音节的型(活音节或死音节)“外加任何声调标”。把一个上元音放在声调标下面,一个辅音就驮起一小塔附标,而行距与字体的问题恰恰从这里来。
词间没有空格
Omniglot 说得直白:“词与词之间没有空格,泰文文本里的空格表示一个小句或句子的结束。”W3C 的泰文资源同意:“空格分隔的是短语,而不是词”,因此“用算法检测音节边界可能很困难”。Unicode 的断行规范把泰文与老挝文、高棉文、缅甸文一同归入“复杂上下文相关”:寻找断行机会“需要形态分析”,典型做法是查词典。
对写作者:
- 用字符数长度。 词数计数器按空格切分,对泰文报出的是胡话,所以一章的自然单位是字符。用这个来衡量你的目标(参见网络小说一章写多长合适)。
- 把空格当作节奏。 因为空格意味着小句或句子而不是词,你的空格选择读起来就是标点。读者感觉得到短语间距的不均,哪怕说不出名字,所以保持一致。
- 让引擎断行。 绝不插入手工换行或连字符式的取巧来修折行;分词是渲染器的职责,而手工断行在其他屏幕尺寸上会僵化得很丑。
行距与对齐
因为附标在基础辅音上下叠放,泰文需要的行间空间比拉丁文多;行距一紧,压在上元音之上的声调标就会撞上上一行或被裁掉。给泰文宽裕的行距,测试最高的那些音节,而不是平均的一行。至于对齐:浏览器的两端对齐远逊于专业排版引擎,所以右缘参差的左对齐文本是泰文在网页上的安全默认,这也是 Kanonara 对它渲染的每一种文字采用的同一选择。
数字字体
- 用真正为泰文设计的字体,不是外挂了泰文的拉丁字族。附标定位,也就是整形,正是廉价字体最先失败的地方。
- 检查高叠堆。 带上元音加声调标的辅音应当呈现干净的间隔与正确的顺序。用你自己手稿里的真实句子测试,不用示例全句。
- 检查有没有真粗体。 泰文字体上合成的粗体会把圈糊掉;如果字族没有真正的粗体字重,强调要省着用。
- 在读者用的设备上测试。 一台系统字体孱弱的手机,才是你的故事实际居住的地方。
发布注意事项
各平台的阅读端对泰文分词与字体的处理好坏不一,所以先发一章测试章节、在应用里读一遍,再把连载托付出去。如果你跨平台发布,把手稿放在一处、由它向外分发:渲染质量不在你手里,源稿质量在。工具问题与任何语言相同,是如何选择小说写作软件,只是多一道过滤:工具必须在编辑器、预览与导出的每一步都正确渲染泰文。至于发在哪,从连载平台版图出发,并亲自核实各平台的泰文支持。
来源
- W3C: Thai Script Resources Combining marks, glyph stacking, phrase spacing.
- Omniglot: Thai script No spaces between words; tone mark placement.
- Unicode Standard Annex #14: Line Breaking Property Thai in the SA class; dictionary-based breaking.
本文中的写作技法论断均可在下列来源中查证;属于从业者共识而非定论的内容,正文均已注明。