* 意味

[33] 
[[字]]を組み合わせた(ようにみえる)ものは幅広く[[合字]]と呼ばれます。


* いろいろな合字

[FIG(short list)[ [3] [[合字]]
- [[ラテン文字]]
-- [[ae]]
-- [[dz]]
-- [[oe]]
-- [[st]]
-- [[fi]]
-- [[ffi]]
-- [[łł]]
- [[合略仮名]]
- [[複音節仮名]]
- [[麿]]
- [[廿]]
- [[割り書]]
- [[广永]]
- [[くずし字]]
- [[連綿体]]
- [[筆記体]]
- [[縦中横]]
- [[元号合字]]
- [[組み文字]]
- [[ロゴ文字列]]
- [[IDS]]
- [CODE(charname)@en[ZWJ]]
- [CODE(charname)@en[ZWNJ]]
- [CODE[goji]]
- [CODE[rb]]
- [CODE[GSUB]]
- [[書字方向依存グリフ]]と[[合字]]の関係
- [[フォント依存符号化]]
- [[cursive]]

]FIG]

* 連字

[28] 
[[活字]]時代、[[貴人の名前]]に関する[[連字]]の慣習:

-
[7] [CITE@ja[狩野宏樹さんはTwitterを使っています 「@0guma 誤植防止のため「天皇陛下」4字連字を作った新聞社もあったと聞きますが、金日成金正日(本当はハングル)の6字は大きくて太い字で印字するそうですから、誤植防止とは別の意味もあるようです。むしろ擡頭平出といった皇帝に関する東アジア漢字文化圏の伝統的表記の継承と見るべきかも」 / [[Twitter]]]], 午後0:16 · 2014年12月11日 [TZ[+09:00]], [TIME[2020-12-07T03:21:24.000Z]] <https://twitter.com/KAN0U/status/542880635665125376>
-
[8] [CITE@ja[ginga 釋道哲さんはTwitterを使っています 「「連字」は誤植防止というよりも、速さが問われる新聞社において頻出語句、特異語句をあらかじめ用意する、という意味のほうが大きいです。「会社」「政府」「東京」「函館」などなど。RT @KAN0U: @0guma 誤植防止のため「天皇陛下」4字連字を作った新聞社もあったと聞きますが、」 / [[Twitter]]]], 午後1:03 · 2014年12月11日 [TZ[+09:00]], [TIME[2020-12-07T03:21:24.000Z]] <https://twitter.com/ginga_station/status/542892377749192704>


[29] 
[CITE@ja[伊豆大島独立構想と1946年暫定憲法]], [[NetCommons]], [TIME[2013-03-31]], [TIME[2015-08-19]], [TIME[2023-07-02T15:15:23.000Z]] <https://ngu.repo.nii.ac.jp/index.php?active_action=repository_view_main_item_detail&page_id=13&block_id=49&item_id=165&item_no=1>
#page=25

>
[LEFT[
[SNIP[]]実際,『島の新聞』に対しても検閲の目は[BR[]]
厳しく,「天皇「陛下」を「陸下」と誤って印[BR[]]
刷した」ことにより,一ヶ月の休刊処分を受け[BR[]]
たという[SNIP[]]
]LEFT]

[96] 
[CITE@ja[Xユーザーのいずみすいめいさん: 「@wsbing かつての日本でも「天皇階下」と誤植してしまった新聞がありそれ以降「天皇陛下」で一体化した活字を使うことになった。したがって「天皇陛下」の途中で改行できない。」 / X]], [TIME[午後2:44 · 2025年12月18日][2025-12-18T05:44:05.000Z]], [TIME[2025-12-22T07:04:05.000Z]] <https://x.com/hachihachimaru1/status/2001528875432788420>

* OpenType 合字

** 合字グリフ

[16] 
[[OpenType]] の[[グリフ級]] [DFN[[N[2]]]]
は、
[DFN[[RUBYB[[RUBY[合][ごう]][RUBY[字][じ]]グリフ][ligature glyph]]]]を表します。

[17] 
[[合字グリフ]]は[[合字]]を表す[[グリフ]]です。

[18] 
[[合字グリフ]]は[[基底グリフ]]と似ていますが、
[[基底グリフ]]が1組分の[[添付点]]しか指定できないのに対し、
[[合字グリフ]]には複数組分の[[添付点]]が指定できます。
[SEE[ [[グリフ位置決定]] ]]

[20] どの組が選ばれるか
[SEE[ [[文字のレンダリング]] ]]

[19] 
[[合字]]上の[[キャレット]]位置
[SEE[ [[キャレット]], [[合字キャレットリスト]], [[文字のレンダリング]] ]]

[22] 
[[合字グリフ]]の [[anchor point]] の記述においては、
[[データ構造]]上の[RUBYB[構成部品][component]]の順序は、
[RUBYB[文章][text]]の[[書字方向]] ([[writing direction]], [[logical direction]]) によるとされます。
すなわち、例えば[[左横書き]]なら左から右の順とします。
[SRC[>>21]]

;; [23] これは1つの[[合字グリフ]]は1つの[[書字方向]]を内包するという前提になっていますが、
それって必ず成り立つものなのですかね。

;; [24] 必ずしも[[グリフ]]列全体 (text) の[[書字方向]]と同じである必要はなく、
当該[[グリフ]]内の構成部品の[[書字方向]] (というか[[論理順]]) で良い、
と緩和するべきかも? それなら「[LINES(quarter)[株式][会社]]」
のような2次元の[[書字方向]]でも、
「[V[ゆるゆる[YOKO[KK]]です]]」
のような周りの[[書字方向]]と違う[[書字方向]]の[[グリフ]]でも、
問題にならないのですが。

[25] 
[[合字キャレットリスト]]中の[[キャレット]]位置の意味するところは不明瞭ですが、
常識的に考えれば[[合字]]化される前の各[[文字]]と元のままの順序、
つまり[[論理順]]で対応付けられるものでしょう。
従って [[anchor point]] 群の順序と同じ順序になるはずです。
ただし[[キャレット]]位置は1次元になります。

;; [26] [[単調増加]]は求められていないようなので行ったり戻ったりを記述することも不可能ではなさそうですが、
「[LINES(quarter)[株式][会社]]」のような[[合字]]の構成要素に合わせた上下移動は記述できません。


[REFS[
- [21] 
[CITE@ja-jp[[[GPOS]] — Glyph Positioning Table (OpenType 1.9) - Typography | Microsoft Docs]], [[PeterCon]], [TIME[2022-09-07T13:19:20.000Z]] <https://docs.microsoft.com/ja-jp/typography/opentype/spec/gpos#lookup-type-5-mark-to-ligature-attachment-positioning-subtable>
]REFS]

** フォント機能


[52] 特定目的用: [CODE[afrc]]

[REFS[

- [53] 
[CITE@en-us[Registered features, a-e (OpenType 1.9.1) - Typography | [[Microsoft Learn]]]], [[PeterCon]], [TIME[2024-07-07T00:58:54.000Z]], [TIME[2024-12-04T11:57:40.508Z]] <https://learn.microsoft.com/en-us/typography/opentype/spec/features_ae>
- [85] 
[CITE@en-us[Registered features, f-j (OpenType 1.9.1) - Typography | Microsoft Learn]], [[PeterCon]], [TIME[2024-05-31T17:42:16.000Z]], [TIME[2025-05-14T05:07:51.192Z]] <https://learn.microsoft.com/en-us/typography/opentype/spec/features_fj>


]REFS]

*** [CODE[ccmp]]

[54] 
[DFN[[CODE[ccmp]]]]
は
Glyph Composition / Decomposition
とされています。
[SRC[>>53]]

[55] 
[RUBYB[グリフの代替][glyph alternates]]の数を最小化するために[[文字]]の既定の[[グリフ]]を2つ[[以上]]の[[グリフ]]に[RUBYB[分解][decompose]]することが[RUBYB[望まれる][desirable]]ことが時々あります。
また、より良い[[グリフ]]の処理のために2つ[[以上]]の[[文字]]の既定の[[グリフ]]を単一の[[グリフ]]に[RUBYB[合成][compose]]するのが[RUBYB[好ましい][preferable]][RUBYB[ことがあります][may]]。
[CODE[ccmp]]
はこうした目的で使えます。
[SRC[>>53]]

[EG[

[56] 
[[合成済み文字]]の[[グリフ]]を[[基底文字]]の[[グリフ]]と[[ダイアクリティカルマーク]]の[[グリフ]]に分解できます。
[SRC[>>53]]

]EG]

[57] 
[[応用]]は常に [CODE[ccmp]] を適用する[RUBYB[べきです][should]]。
通常は[[利用者]]に有効・無効を制御させる[RUBYB[べきではありません][should not]]。
[SRC[>>53]]

[58] 
[CODE[GSUB]] [F[[CODE[lookupType]]]] は [N[4]] や [N[2]]
が[RUBYB[[[推奨]]][recommended]]されています。
[SRC[>>53]]
それ以外が禁止されているわけではありません。

[59] 
[CODE[ccmp]] は他の[[フォント機能]]より先に実装する必要があるとされます。
[SRC[>>53]]
ここでの実装とは文脈からみて[[フォント]]の [CODE[GSUB]] [CODE[lookup]]
の組み合わせ方のことでしょうか。

*** [CODE[calt]]

[SEE[ [CODE[calt]] ]]

*** [CODE[clig]]

[60] 
[[フォント機能]]
[DFN[[CODE[clig]]]]
は
Contextual Ligatures
とされています。
[SRC[>>53]]

[61] 
[CODE[clig]]
は、
[[グリフ]]列を
typographic な目的に[RUBYB[好ましい][preferred]]単一の[[グリフ]]に置換します。
[SRC[>>53]]

[62] 
他の[RUBYB[[[合字]]][ligature]]の[[フォント機能]]と違って[[合字]]が[RUBYB[[[推奨]]][recommended]]される[RUBYB[文脈][context]]を指定します。
[SRC[>>53]]

;; [63] 
[[用字系]]により、あるいは [[swash ligature]] 用に必要な機能です。
[SRC[>>53]]

[64] 
[CODE[GSUB]] [F[[CODE[lookupType]]]] [N[8]]
が[RUBYB[[[推奨]]][recommended]]されます。
[SRC[>>53]]
その他の [CODE[GSUB]] や [CODE[GPOS]] が禁止されているわけではありません。


[65] 
[CODE[clig]] は既定の状態で有効とする[RUBYB[べきです][should]]。
[SRC[>>53]]

[66] 
[CODE[cswh]] も参照。


*** [CODE[dlig]]


[67] 
[[フォント機能]]
[DFN[[CODE[dlig]]]]
は
Discretionary Ligatures
です。
[SRC[>>53]]

[68] 
[[グリフ]]列を typographic 目的で[RUBYB[好ましい][preferred]]単一の[[グリフ]]に[RUBYB[置き換えます][replace]]。
[SRC[>>53]]

[69] 
[RUBYB[利用者][user]]の[RUBYB[好み][preference]]により[RUBYB[特別な効果][special effect]]に使[RUBYB[える][may]][RUBYB[[[合字]]][ligature]]に[RUBYB[使えます][covers]]。
[SRC[>>53]]

[EG[

[70] 
[CH[c]] [CH[t]] の[[グリフ]]列を [CH[ct]] の[[グリフ]]に置き換えられます。
[SRC[>>53]]

]EG]

[EG[

[71] 
[CH[(]] [CH[金]] [CH[)]]
の[[グリフ]]列を
[CH[㈮]]
に置き換えられます。
[SRC[>>53]]

]EG]

[72] 
具体的にどのような[[合字]]があるかは設計や[[用字系]]によります。
[SRC[>>53]]

[74] 
既定の状態では無効とする[RUBYB[べきです][should]]。
[SRC[>>53]]


[75] 
Discretionary、つまり自由裁量という通り、[[用字系]]に於いて必須の[[合字]]ではないものに用いることが想定されているようです。

[76] 
しかし一口に必須でない[[合字]]といっても幅があって、
仕様書に明示されている例だと
[CH[ct]]
は専ら装飾目的ですが、
[CH[㈮]]
はスペースの削減だったり[[縦中横]]の見栄えのためだったりします。
どちらも「組版的 (typographic) な目的」での[[合字]]で
「あってもなくても良いがあると良くなる場面がある」
ことには違いないのでしょうが。

[77] 
従って [CODE[dlig]] は何も考えずに有効にしたり無効にしたりするようなものではなく、
特定の[[フォント]]と特定の文脈との組み合わせで個別に適用するべきか、しないべきかを検討するべきものといえます。

[EG[

[78] 
事前に何が入力されるか予期できない [[UGC]] のようなものには向きません。

]EG]

[EG[

[79] 
[[Webフォント]]としてサーバーから提供される[[フォント]]ではなく[[プラットフォーム]]の[[フォント]]を使って表示する
[[Webページ]]では使うべきではありません。

]EG]


[73] 
[CODE[GSUB]] [F[[CODE[lookupType]]]] [N[4]]
が[RUBYB[[[推奨]]][recommended]]されています。
[SRC[>>53]]
それ以外の [CODE[GSUB]] や [CODE[GPOS]] が禁止されているわけではありません。

[84] 
[CITE@ja[任意の合字 - Wikipedia]], [TIME[2025-01-19T06:41:56.000Z]], [TIME[2025-02-02T06:59:43.396Z]] <https://ja.wikipedia.org/wiki/%E4%BB%BB%E6%84%8F%E3%81%AE%E5%90%88%E5%AD%97>

*** [CODE[hlig]]

[86] 
[[フォント機能]]
[DFN[[CODE[hlig]]]]
は、
Historical Ligatures
です。
[SRC[>>85]]

[87] 
[[フォント機能]]
[CODE[hlig]]
は、
[RUBYB[既定][default]] ([RUBYB[現在][current]]) の[RUBYB[字形][form]]を[RUBYB[歴史的な代替形][historical alternates]]に[RUBYB[置き換え][replace]]ます。
[RUBYB[過去][past]]には[RUBYB[一般的に使われていた][in common use]][RUBYB[合字][ligatures]]が今日では[RUBYB[時代錯誤的][anachronistic]]になっていることがあり、
[[フォント]]によってはそうした[RUBYB[歴史的字形][historical forms]]を含めて
[RUBYB[「時代」的な効果][“period” effect]]に使えるようにしています。
[SRC[>>85]]

[94] 
具体的にどのような[[グリフ]]の組み合わせからどのような[[合字]]に置換されるべきかは、
まったく個別の[[フォント]]に委ねられているのであり、
[[OpenType]] としては何らの規定もありません。

[EG[
[88] 
[CITE[Palatino Linotype]]
では
long s + t,
long s + b,
long s + h,
long s + k
などで歴史的な合字が使われます。
[SRC[>>85]]
]EG]

[91] 
[CODE[GSUB]] [F[[CODE[lookupType]]]] [N[4]]
によって置換することが[RUBYB[推奨][recommended]]されています。
それ以外の [CODE[GSUB]] や [CODE[GPOS]]
が禁止されているわけではありません。
[SRC[>>85]]

[93] 
[[合字]]ではない1文字の歴史形に対しては [CODE[hist]]
を使うのが良いとされています。


[92] 
[CODE[hlig]]
は既定では無効とする[RUBYB[べきです][should]]。
[[文書]]の[[マーク付け]]、
[[利用者]]の制御、
その他[[応用]]依存の方法で適用できます。
[SRC[>>85]]



*** [CODE[liga]] 


[98] 
[[OpenType]] の[[フォント機能]]
[DFN[[CODE[liga]]]]
は、
Standard Ligatures
を表します。
[SRC[>>97]]


[99] 
[CODE[liga]]
は、
[RUBYB[[[組版]]的な目的][typographic purposes]]で[RUBYB[好ましい][preferred]]よう[[グリフ]]の[RUBYB[列][sequence]]を単一の[[グリフ]]に置換します。
[CODE[liga]]
は、
[RUBYB[通常の条件][normal condition]]で使われる[RUBYB[べき][should]]かどうか[RUBYB[設計者][designer]]・[RUBYB[製造者][manufacturer]]が判断するような[RUBYB[合字][ligature]]のためのものです。
[RUBYB[標準的な合字][standard ligature]]の集合は、
[RUBYB[設計][by design]]や[RUBYB[[[用字系]]][script]]によって違います。
[SRC[>>97]]

[EG[

[100] 
[[グリフ]] [CH[f]] [CH[f]] [CH[l]] の列を [CH[ffl]] の[[グリフ]]で置き換えるために使えます。
[SRC[>>97]]

]EG]

[101] 
[CODE[GSUB]] [F[[CODE[lookupType]]]] [N[4]]
が[RUBYB[推奨][recommended]]されます。
[SRC[>>97]]
それ以外の [CODE[GSUB]] や [CODE[GPOS]]
が禁止されているわけではありません。


[102] 
[CODE[liga]]
は、
[[文書]]の[[マーク付け]]や[[利用者]]の制御、その他[[応用]]依存の方法で適用することができます。
[SRC[>>97]]

[105] 
[CODE[liga]] は[RUBYB[文脈によって][in some contexts]]は[RUBYB[緊要な機能][critical function]]でありますから、
既定の状態で[RUBYB[有効][active]]とする[RUBYB[べき][should]]です。
[SRC[>>97]]

[104] 
ということに [[OpenType]] 仕様ではなっていますが、実際の[[フォント]]は必ずしもそうではなく、
標準的に適用されるべきでない[[合字]]が [CODE[liga]] になってしまっている場合もままあるようです
(>>103)。裏を返せば、標準で [CODE[liga]] を適用しない実装が多いのだろうと推測されます。


[32] 
関連: [[CJK統合漢字合字]]



[REFS[

- [97] 
[CITE@en-us[Registered features, k-o ([[OpenType]] 1.9.1) - Typography | Microsoft Learn]], [[PeterCon]], [TIME[2024-05-31T17:42:31.000Z]], [TIME[2026-01-05T14:20:16.424Z]] <https://learn.microsoft.com/en-us/typography/opentype/spec/features_ko#liga>

]REFS]

*** 誤適用

[FIG(quote)[
[FIGCAPTION[
[35] [CITE@ja[〼(ます)や株式会社がiPhone(Safariなど)で特殊文字に変換される原因と解決方法 | 株式会社ウェブ企画パートナーズ]], [TIME[2024-07-03T02:58:38.000Z]] <https://wk-partners.co.jp/homepage/blog/hpseisaku/htmlcss/special-characters-in-safari/>
]FIGCAPTION]

>要は、特殊文字にできそうなところは、片っ端から特殊文字に変換されてしまうし、ChromeのディベロッパーツールでiPhoneのユーザーエージェントにしているのにも関わらず、その場合は正常表示だし、なんでや!!という症状です。

>font-feature-settings とはブラウザで表示される文字をカーニング(字詰め)してくれるCSS。
>[SNIP[]]
>カーニングをする分には問題ないんですが、「”liga”」が指定してある場合にハマります。
>
これは本来英文字なんかで「合字」といってタイポグラフィ目的のときによく使用されるんですが、この指定が入っていると、株式会社などを勝手に合字して表示しちゃうみたいです。
]FIG]

[36] 
>>35 これによると[[カーニング]]したいだけで意味もわからず [CODE[liga]] 
を有効にする人がいて、 [[iPhone]] には [CODE[liga]] で[CH[〼]]や[CH[㍿]]に置換するような[[フォント]]が入っているために、
[[iPhone]] でだけ意図せず[[合字]]化する現象が発生する模様。

- [38] [CITE@ja[Xユーザーのところてんさん: 「Chromeの翻訳、いい…… 日本は解雇が厳しいので、稼働の波を雇用の波ではなく、下請け構造で会社間の受発注の波に変換している、という前提情報が抜けてるんだよな…… Tier1の会社は外注を減らすだけなので、解雇は行われない Tier2以降の会社は解雇が発生するという話 https://t.co/cpnEQYvi18 https://t.co/xjzJU4QzLE」 / X]], [TIME[午後3:15 · 2024年7月2日][2024-07-02T06:15:33.000Z]], [TIME[2024-07-03T02:43:51.000Z]] <https://x.com/tokoroten/status/1808021677495795918/photo/1>
-- [39] [CITE@ja[XユーザーのTakayuki Fukudaさん: 「@tokoroten 調べてみたら、font-feature-settingsというCSSの設定が原因みたいですね font-feature-settings: "kern" 1, "dlig" 1; というCSSを無効化するとなくなります https://t.co/T3Jz6K3j5T」 / X]], [TIME[午後6:21 · 2024年7月2日][2024-07-02T09:21:14.000Z]], [TIME[2024-07-03T02:43:51.000Z]] <https://x.com/hedachi/status/1808068404773019902>

[40] 
>>38 これは元の欧文なら害がなかった [CODE[dlig]] の指定が、
[[機械翻訳]]によって[[日本語文字]]に差し替わった結果[[合字]]化されてしまった事案。


[37] 
意味もわからず [CODE[liga]] や [CODE[dlig]] を指定する人がいるならそこにまず問題があるが、
[[フォント]]によって [CODE[liga]] や [CODE[dlig]]
で変化したりしなかったりする[[相互運用性]]の無さに問題がある。
[CH[f]][CH[i]]が[CH[ﬁ]]に[[合字]]化されるかどうかのようなものと、
[CH[株]][CH[式]][CH[会]][CH[社]]が[CH[㍿]]に[[合字]]化されるようなものが一緒くたになっているのはおかしい。
前者のようなものは[[フォント]]の設計次第で良いが、
後者のようなものはすべての[[フォント]]で[[合字]]化されるかされないか統一基準があるべきなのに、ないので混乱の元になっている。

[41] 
調べてみないと断言できないが、おそらく欧文では[[カーニング]]と[CH[fi]]のような[[合字]]化で[[ラテン文字]]の配置や字形が最適化されるという目論見で
[CODE[kern]] と [CODE[liga]] ないし [CODE[dlig]] を有効にする指定が流行しているのだろう。
また、[[日本語]]でも意味もわからずそれを真似ることがあるのかもしれない。

[42] 
>>35 には

>[SNIP[]]新しいテーマをガチャガチャとカスタマイズしている[SNIP[]]

と書かれているので、欧文想定で書かれた[[デザインテーマ]]を和文用に使おうとしてるケースで発症してそう。
>>35 の場合は試用段階で発覚しているけど、気づかないままそのまま使っているサイトもありそう
([[iPhone]] で特定の文言が入っていないと発覚しないので)。


[103] 
>>102 によると本来 [CODE[liga]] は常に有効になっているような想定らしい。
ところが実際のフォントはそういう意識で作っていないものがある、と。
仕様上は[[フォント]]が悪いのだから、 [[CSS]] を書いた人は悪くはないのだけれども、
そうはいっても現実を見ないと...



- [89] 
[CITE@ja[(2) Xユーザーのoruminさん: 「Google Drive の傍迷惑なイースターエッグに気づいたんですが、本当に迷惑(corporate_logo みたいなディレクトリを作ると意図通りの名前に見えない) https://t.co/k0G2JkZ2ON」 / X]], [TIME[午後3:13 · 2025年1月22日][2025-01-22T06:13:57.000Z]], [TIME[2025-01-23T00:49:32.000Z]] <https://x.com/orumin/status/1881948395331563744>
-- [82] 
[CITE@ja[(2) XユーザーのAoiMoe a.k.aしお兄Pさん: 「ほんとだ、Google sans使ってると、特定文字に _logo って付けるとリガチャ扱いで Google ロゴのグリフになるwwww https://t.co/Yu2aisOMk7」 / X]], [TIME[午後7:35 · 2025年1月22日][2025-01-22T10:35:33.000Z]], [TIME[2025-01-23T00:49:32.000Z]] <https://x.com/AoiMoe/status/1882014232906211469>
-- [90] 
[CITE@ja[(2) Xユーザーの専門性・売上・原稿さん: 「みつけた。ほんとにリガチャだ… https://t.co/ZHFPPF6Clj https://t.co/K8s9wO0tYE」 / X]], [TIME[午後7:48 · 2025年1月22日][2025-01-22T10:48:56.000Z]], [TIME[2025-01-23T00:49:32.000Z]] <https://x.com/golden_lucky/status/1882017600374460871>
-- [80] 
[CITE@ja[(2) Xユーザーの専門性・売上・原稿さん: 「このリガチャが含まれているのはProduct Sansとして公開されているものだけで、Google Sansとして公開されているフォントにはリガチャはなく、ロゴ用の字形だけはaaltにある。が、これをfontspecのRawFeatureで使うのは無理っぽい(グリフIDで無理やり表示はできる) https://t.co/OsE8rFhfnq」 / X]], [TIME[午後8:04 · 2025年1月22日][2025-01-22T11:04:41.000Z]], [TIME[2025-01-23T00:49:32.000Z]] <https://x.com/golden_lucky/status/1882021564574834719>
-- [81] 
[CITE@ja[(2) Xユーザーの専門性・売上・原稿さん: 「caltだけじゃなく標準のligaからも参照可能だな、これ」 / X]], [TIME[午後9:43 · 2025年1月22日][2025-01-22T12:43:10.000Z]], [TIME[2025-01-23T00:49:32.000Z]] <https://x.com/golden_lucky/status/1882046348406747302>
-- [83] 
[CITE@ja[XユーザーのTsukasa #01さん: 「こういうのって、合字でも明示的指示が想定されるテーブル (dlig) の方に入れるものだと思うんだけどなぁ。 ……ただ、使用フォントが非フリーの Google Sans であることが背景なのか?いやだとしたら、ユーザー入力を入れる場所にそのフォントを使ってることがおかしいか。」 / X]], [TIME[午後7:44 · 2025年1月22日][2025-01-22T10:44:39.000Z]], [TIME[2025-01-23T00:49:32.000Z]] <https://x.com/a4lg/status/1882016521465331968>

[95] 
[CITE@ja[Xユーザーのてらじ@4月から大阪さん: 「@ Windows 11 に詳しい人 Windows Update が面白いことになって、 プログラム が プロ㌘ ビルド が ㌱ド って、組み文字になっちゃった。こんなことある? Win11 が㌧㌦? https://t.co/7QK6DSX4b4」 / X]], [TIME[午後10:11 · 2025年6月12日][2025-06-12T13:11:26.000Z]], [TIME[2025-06-14T14:36:57.000Z]] <https://x.com/TERRAZI/status/1933150150962397240>






* 合字フォント



[10] [[アイコンフォント]]


[30] [CITE@en[GitHub - kirishitanbank/KirishitanLigaturesFont: Font for displaying abbreviated ligatures found in Kirishitan Ban prints.]], [TIME[2023-07-25T10:25:39.000Z]] <https://github.com/kirishitanbank/KirishitanLigaturesFont>

>
フォントをお使いの機器にインストールし、アプリケーションの文書からフォントを選択します。フォントで以下の画像のようなスラッシュ付きの文字列を入力すると、それに対応する合字記号が表示されます。大文字小文字の区別はありません。/apoは/APO、/Apo、/aPoなど、いずれも受け付けられます。スラッシュがあることで検索が楽になりますし、合字が表示されていない場合に発見しやすくなります。
>
/apo /apt /bta /bto /de /de2 /dpo /ds /ds2 /ds3 /ds4 /fo /jao /jo /jo2 /js /jxo /ma /pa /pe /po /pp /pt /pta /pu /sm /sma /xao /xo /x1 /x2 /x3

* 合字・連綿の有無の記述

[SEE[ [[連綿]] ]]

* Web における合字


[1]
[CITE@en[Web standards: Bookmarks and test files (Joe Clark)]] ([TIME[2006-07-17 02:28:51 +09:00]] 版) <http://joeclark.org/standards/#ligatures>


[31] [CITE@en[22240 - Do ligature substitution on web content - chromium]], [TIME[2023-11-11T03:07:15.000Z]] <https://bugs.chromium.org/p/chromium/issues/detail?id=22240>


* 演算子合字

[48] [DFN[programming ligatures]] と称して、
[[プログラミング言語]]の[[演算子]]を[[合字]]表示する[[フォント]]群があります。

[49] 
[[プログラマー]]に遍く受け入れられているとは言い難いですが、
かなりの人気があるらしく、多くのフォントが作られています。

[106] 
[[演算子]]が綺麗に表示できて嬉しいと思う人がいる反面、
元の文字列がわかりにくくなるので嫌がる人もいるみたいです。


[46] [CITE@en[GitHub - i-tu/Hasklig: Hasklig - a code font with monospaced ligatures]], [TIME[2024-10-14T02:45:20.000Z]] <https://github.com/i-tu/Hasklig>

[47] [CITE@en[GitHub - SSNikolaevich/DejaVuSansCode: Monospaced font with programming ligatures based on DejaVu Sans Mono]], [TIME[2024-10-14T03:06:07.000Z]] <https://github.com/SSNikolaevich/DejaVuSansCode>

[45] [CITE@en[GitHub - tonsky/FiraCode: Free monospaced font with programming ligatures]], [TIME[2024-10-14T02:40:01.000Z]] <https://github.com/tonsky/FiraCode>

[50] [CITE@en[GitHub - kika/fixedsys: Fixedsys Excelsior font with programming ligatures]], [TIME[2024-10-14T03:09:01.000Z]] <https://github.com/kika/fixedsys>


[43] 
[CITE[Iosevka]], [TIME[2024-10-13T06:32:41.000Z]], [TIME[2024-10-14T02:35:20.911Z]] <https://typeof.net/Iosevka/>

[44] [CITE@en[Monoid]], [TIME[2016-07-17T01:14:13.000Z]], [TIME[2024-10-14T02:37:24.346Z]] <https://larsenwork.com/monoid/>

[51] 
[CITE@en[GitHub - JetBrains/JetBrainsMono: JetBrains Mono – the free and open-source typeface for developers]], [TIME[2024-10-14T03:14:03.000Z]] <https://github.com/JetBrains/JetBrainsMono>

* メモ


[34] 
[[DSSSL]] には [CODE[combine-char]] があって、[[基底文字]]と[[アクセント]]の組み合わせを合成済文字に置き換えるような使い方ができました。

[FIG(quote)[
[FIGCAPTION[
[2] [CITE@ja[Prefectly | deform]]
( ([TIME[2017-06-08 12:45:55 +09:00]]))
<http://deform.jp/prefectly/>
]FIGCAPTION]

> 大文字のAからZと小文字のaからuまでの文字に47都道府県、それらとは別に、yに県境なしの日本地図、zに県境ありの日本地図が割り振ってあります。
> モダンブラウザでは都道府県の略記によるリガチャ(合字)を使用できます。例えば、"st"と入力すれば埼玉県が、"hk"なら北海道が表示されます。加えて、"jp"のリガチャでは日本地図が表示されます。

]FIG]

[4] 
[CITE@en[tonsky/FiraCode: Monospaced font with programming ligatures]]
( ([TIME[2016-08-10 12:07:11 +09:00]]))
<https://github.com/tonsky/FiraCode>

[5] 
[CITE[Iosevka]]
( ([TIME[2016-08-03 21:51:01 +09:00]]))
<https://be5invis.github.io/Iosevka/>

[6] 
[CITE[Inziu Iosevka Downloads]]
( ([TIME[2016-08-03 21:51:01 +09:00]]))
<https://be5invis.github.io/Iosevka/inziu.html>


[9] [CITE@ja[技術と方法(4)コンピュータ・下 | 文字を組む方法 | 文字の手帖 | 株式会社モリサワ]], [TIME[2020-12-11T02:34:59.000Z]] <https://www.morisawa.co.jp/culture/japanese-typesetting/07/>

[15] [CITE@ja[しま書体 - しまの言葉を伝える書体 -]], [TIME[2019-09-06T01:56:43.000Z]], [TIME[2022-09-03T05:12:17.003Z]] <https://shimanomoji.site/how.html>

[11] [CITE@ja[合字(2) : デザインの現場 小林章の「タイプディレクターの眼」]], [[type_director]], [TIME[2020-12-28T09:50:03.000Z]] <https://blog.excite.co.jp/t-director/10503399/>

[12] [CITE@ja[プログラム用リガチャはプログラマ向けではない | NUMBER-SHOT.NET]], [TIME[2021-04-29T01:23:04.000Z]] <https://number-shot.net/blog/programming-ligatures-are-not-for-programmers/>

[13] [CITE@ja[アラビア文字の合字(リガチャー)と手書き時の位置関係 – アラビア語学習メモ]]
([TIME[2021-08-04T06:42:27.000Z]])
<https://alarabiyah.sakura.ne.jp/arabic/alphabets/arabicligatures/>

[14] [CITE@ja[Sam Sneddon 🏳️‍⚧️さんはTwitterを使っています 「And finally inspired by @Berlin_Type: 9. a reminder that ß is in origin a ſz digraph, which many street signs make more obvious than it often is, 10. interesting letter width & kerning choices for "ch" (plus bonus tz ligature). https://t.co/QiKR4xBr1V」 / Twitter]]
([TIME[2022-03-07T02:20:25.000Z]], [TIME[2022-03-07T02:52:59.408Z]])
<https://twitter.com/gsnedders/status/1500615671977332739>

[27] [CITE@ja[点訳校正委員会報告(「点訳のてびき 第4版」)]], [TIME[2022-09-20T12:35:53.000Z]], [TIME[2022-10-25T15:04:50.356Z]] <http://www.shichocenter.kagoshima.kagoshima.jp/shikaku_sub/tennyaku_kosei4.html#20200906>

[107] 合字は東アジアには関係ないとかいってる人は議論が雑すぎて何も言っていないと同じだし、そもそも何も理解していないのではなかろうか [TIME[2026-02-21T01:53:36.379Z]]