合字、连字、连结字或合体字(英语:Ligature),在西方字体排印学中一般表示将多于一个字母的合成一个字形。如印刷品中常常将拉丁字母两个字母fi的i上一点常与f的一钩合并,而德语字母ß原为ss等等。汉字的合字在不同情况下也称作合文或合体字。
合字经过演变、长时间流行后,可能被视为直接的符号、文字而非合字。如W源自VV或UU,Æ源自AE,而表示“与”的意思的“&”,原是e和t的合字。
印刷合字单纯源于手写本中连写的字符。以发现的最早的楔形文字手写本中就已经含有很多连写字符。中世纪的拉丁文手写本中,誊写僧人为加快速度将字符连写,诞生了很多手写缩合字,如在哥特体中,带右圈的字母(b, o,和p)和带左圈的字母(c, e, o, d, g和q)的圈部都被重叠书写。很多手写本字符如h, m和n的竖划都被重叠,而且诞生了很多手写缩合字。14世纪的手写本中含有很多这种手写缩合字。
当活字印刷诞生后,很多合字直接被制造成了铅字。但是在1950年代无衬线字体广泛使用,以及1970年代照相排版技术之后,合字就逐渐很少被使用。最早能进行合字电脑排版(之后激光打印机)之一的是高德纳的TeX程序(详见下文)。这一潮流也影响到了1985年之后的桌面排版技术。早期电脑软件无法进行合字替换(但TeX可以),大部分新制作的电脑字体里也没有合字。早期的个人电脑多使用英文,而英文中并不是必须使用合字,所以也没有实际需要。
随着现代电脑处理的多语言化和现代电子排版技术(如OpenType)的流行,合字开始逐渐恢复被使用。
许多合字都把字母f和其后的字符组合起来,最常用的就是fi(或fi,显示为两个独立字符)。很多字体的这两个字母并排在一起后,字母i上的点会抵挡到字母f的弧形勾,无法正确排印,所以干脆就制造一个合字铅字,把i的点融入f的勾来直接使用。其他f合字包括fj、fl(fl)、ff(ff)、ffi(ffi)、和ffl(ffl)。其他合字包括fa、fe、fo、fr、fs、ft、fb、fh、fu、fy,以及f后加句号、逗号或连字符,还有不太常用的双写ff和fft。
使用这些合字是因为通常的小写字母f中弧形勾影响字符间距调整。
有时,跨词合字(如的)是不希望出现的,电脑程序(如TeX)提供手动方式将它们分开。一些字体带有fff合字(如Requiem体甚至包括一个 fffl合字)用于德语的复合词,如(氧气罐)和(游艇)(仅在遵循1996年拼写改革法的前提下才写作)。正式的德文正写法,如杜登词典所述,不赞成跨词合字,由于组合在德文中只会在组合词出现如(、),所以这样跨词合字在德文中使用会被认为是不正确的。英语中类似的例子则是。
土耳其语中有带点和不带点的字母I,如单词(烤箱)和(主意)。fi合字容易混淆,所以在土耳其文排印中一般不使用该合字。像fl合字一般也不用,土耳其语本来就没有这样的拼写。
合字ſʒ(sz)和tʒ(tz)来自德语哥特体,现在街头、城市广场的标识中带或者以结尾时仍常被使用。
有时st(st)、ſt(ſt)、ch、ct、Qu以及Th的合字也被使用(如字体Linux Libertine)。
德语中eszett合字(亦称“清S”)ß,其名称es-zett(意为“S-Z”)表示其源自“长S加Z”或“长S在圆S之上”。尽管“长s”ſ已经在现代德文正写法消失了,ß仍被保留并被视为合字,传统上在大写的时候以及字母排序的时候改写为“SS”。2008年其大写字母“ẞ”加入Unicode并出现更多字形。ß仅在德国和奥地利使用,瑞士德文不用这个合字。
字母W是7世纪左右才被加入拉丁字母表的,其发音不尽相同。古英语使用卢恩字母Ƿ(Wynn),但受到诺曼人影响后废弃不用。14世纪,这个起源于双写的V或U的“新”字母诞生并在字母表中占有一席。由于它相对于其他字母比较年轻,只有很少欧洲语言(英语、荷兰语、德语、波兰语、威尔士语、马耳他语和瓦龙语)使用它来拼写本土词汇。
字符Æ(小写æ,中世纪时称为aesc)作为一个字符在丹麦语、挪威语、冰岛语以及古英语中使用,并不是一个印刷用的合字。它是一个实在的字母——代表一个元音,且在字母表中有位置。现代英文正写法中Æ不作为一个单独字母,而只是一种拼写异形,如百科全书的英文单词encyclopædia也可拼写成encyclopaedia或encyclopedia。
Æ源自中世纪拉丁文,当时只是一些词汇的随意合字如Æneas。它还可以在英文和法文中出现,但是现在已经倾向把A和E分开印刷。同样,Œ和œ在法文中虽然通常印刷成合字,但在技术限制情况下仍可以拆开书写。
在德文正写法中,带两点的字母元音ä、ö和ü来自历史上的、、合字(严格的说是标在顶端的e,即aͤ,oͤ,uͤ)。现在当文字处理无法显示这三个字符的情况下仍可改写为二合字母。字母排序中它们不等价于、、,而是被简单看成、、。而北欧语言则不同:带两点的字母被视为独立字母,并排在字母表最后。
一些元音中的圈形附加符号,如å起源于一个o合字。现在把旧式aa改写为å已经称为不成文习惯,但在此之前也可写成a上再加一个小a(aͣ),如Johannes Bureus、Runa ABC boken。
uo合字ů的使用实例也在早期现代高地德语里找到,但其后来混同到u中(如中期高地德语的、早期现代高地德语、现代德语)。它仍存在于捷克语中,被称为。
西班牙语和葡萄牙语中的上波浪线,分别用于字母ñ表示元音鼻音化,起源于一个nn合字(Espanna = España、anno = año)。同样法语中的抑扬符也源自不发音s。法语、葡萄牙语、西班牙语等中的字母ç其实是一个字母c盖在一个z上面的形式。
字母ƕ(Hwair)仅用于转写哥德语,代表hw合字。最早在1900年左右心理学者使用这个字用于代替二合字母hv用于表示有问题的现象,如Jacques Paul Migne在其1860年代的著作(Patrologia Latina,第18卷)。
拜占庭帝国有一个独特的合字Ȣ(o-u合字),它源于希腊字母的ο-υ两个字母的合字,并被加入到了字母表中。
ƣ(Gha)是一个罕见的字母,起源于Q和G,但在ISO的文件中误注成O-I合字(参见Unicode注解)。
国际音标使用合字来表示塞擦音,其中6个有Unicode编码:ʣ、ʤ、ʥ、ʦ、ʧ、ʨ。一个擦音仍使用合字:ɮ,而国际音标扩展里加入了另外三个:ʩ、ʪ、ʫ。
还有一些罕见合字,如Ꜳꜳ、Ꜵꜵ、Ꜷꜷ、Ꜹꜹ、Ꜻꜻ、Ꜽꜽ、Ꝏꝏ、ᵫ、ᵺ、Ỻỻ、Ꜩꜩ、ᴂ、ᴔ。
最常用的合字符号当属&。它起源于E和t的合字,即拉丁文的单词“和”(et)。它在法文中保持原音原意而在英文中也使用。由于其使用广泛,一般已经不认为它是一个合字而是一个普通符号。
和其他合字一样,它被仍当作一个字母来使用(如早期现代英语),英语中它念作and而不是et,而念作et cetera(等等)。大多数字体中的字形和两字直接组合不一样,但仍有一些字体(如Trebuchet MS)就把&设计为合字。
同样,美元符号$可能也起源于合字(“pesos”,但有也有其他不同说法),但现在实际上已经被当成一个普通符号。西班牙比塞塔(peseta)也有时被写作合字₧(源自Pts)。
二合字母,如西班牙语和威尔士语中的,一般不被看成是合字,因为印刷上两个字母通常是分开的。正如上讨论的合字一样,一些二合字母在一些语言中有不同处理方式。西班牙1994年拼写改革时,二合字母和已经被考虑为分开的两个字母。
法文的情况也一样,被看成为合字与字母的组合。
尽管如此,荷兰语中“ij”的定位比较模糊。根据不同的使用标准,它可看成是一个二合字母,或合字,或者一个独立字母。它有独立的大小写形式,而在一些专业字体中,通常是有一个独立字形也有合字(如Zapfino)。无衬线字体大写字母的流行于荷兰,通常形状像是一个断左臂的。更令人混淆的是,手写时可以把小写字母写作没有点的,和大写字母(同样没有点)看起来只是大小差异而已。而在本土荷兰语词汇中不被使用。
合字不仅出现在拉丁文本中:
天城文的合字 (द् + ध् + र् + य = द्ध्र्य) 。字体:JanaSanskritSans
日文的文字绘
,中文“招财进宝”的合书
,中文“孔孟好学”的合书
中文草泥马的合书
中文成龙的合书
TeX是电脑排版系统中能使用合字的典型程序。它能提供五个常用合字:ff、fi、fl、ffi和ffl。当TeX遇到这些组合时会自动替换成合字。当然操作者可以手动切换。
OpenType字体格式可以针对一个字符提供多个字形,因此用来作为合字替换,但需要软件支持。XeTeX就是一个可以运用这一优势的TeX排版引擎。这种替换原先主要用于阿拉伯文排版,但现在已经广泛用于西文OpenType字体。OpenType中,这些是标准liga
、历史性hlig
、上下文clig
、需求性rlig
和任意性dlig
合字。这些在CSS3中可用font-feature-settings
启用或禁用。
CSS还支持font-variant-ligatures
特效。common-ligatures
、discretionary-ligatures
、historical-ligatures
和contextual
特效也被支持。
下表列出了常用文字对的合字以及Unicode代码。正确显示需要使用能正确处理合字的操作系统和浏览器并调用正确的Unicode 电脑字体。
Unicode中对合字的处理不是一个字符定义,而是一种绘制形式。即Unicode不把合字当作一个字符,而是把合字处理为字符序列,由字形绘制系统去处理是否用合字的字形在屏幕上显示或者打印。比如,如果一个现代字体需要显示h后加r,且该字体确实有hr合字,这个合字才会被显示出来。因此,使用特殊Unicode合字字符是“不鼓励”且“在任何环境下不会被再度编码”的。注意,合字æ和œ不能随意替代ae和oe,比如does不能写作dœs。
另外,Dz、克罗地亚语和波斯尼亚语字母DŽ、LJ和NJ都有单独的码位。它们不是合字而是二合字母。
U+0238和U+0239是二合字母,但实际上是合字。