<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>Swash</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">Swash glyph – Fonts Knowledge - Google Fonts</cite>, <time>2024-12-05T13:01:28.000Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://fonts.google.com/knowledge/glossary/swash_glyph">https://fonts.google.com/knowledge/glossary/swash_glyph</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en">Swash (typography) - Wikipedia</cite>, <time>2024-12-03T07:04:07.000Z</time>, <time>2024-12-05T13:02:57.317Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://en.wikipedia.org/wiki/Swash_(typography)">https://en.wikipedia.org/wiki/Swash_(typography)</anchor-external></p></section><section><h1>フォント機能</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント機能</anchor>
<dfn><code>cswh</code></dfn>
は
Contextual Swash
とされています。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 
<code>cswh</code> 
は特定の文脈において、既定の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">グリフ</anchor>を対応する <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">swash glyph</anchor>
に置換します。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
1つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字</anchor>に複数の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">swash</anchor> 代替を提供<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">できます<rt xmlns="http://www.w3.org/1999/xhtml">may</rt></rubyb>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 
<code>GSUB</code> <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">lookupType</code></f> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">8</n> が<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>推奨</anchor><rt xmlns="http://www.w3.org/1999/xhtml">recommended</rt></rubyb>されます。
複数の候補があるときは nested <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">lookup</anchor> で <code>GSUB</code> <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml">lookupType</code></f> <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">3</n>
が使えます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal></src>
それ以外の <code>GSUB</code> や <code>GPOS</code> も禁止されているわけではありません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>は選択肢の最初を<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">好ましい<rt xmlns="http://www.w3.org/1999/xhtml">preferred</rt></rubyb>形と考えて<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構いません<rt xmlns="http://www.w3.org/1999/xhtml">may</rt></rubyb>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント開発者</anchor>はそのように並べる<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです<rt xmlns="http://www.w3.org/1999/xhtml">should</rt></rubyb>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応用</anchor>は選択肢があるときは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に選択手段を提供する<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">べきです<rt xmlns="http://www.w3.org/1999/xhtml">should</rt></rubyb>。
文脈内にて代替形を順番に表示することもできますし、
代替形を一度に表示するパレットを提示することもできますし、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>にそうした手法から選ばせることもできます。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <code>clig</code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">swash ligature</anchor> での利用が想定されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <code>cswh</code> でも <code>clig</code> でも表せるようなものをどちらで提供するべきなのか、
あるいはどちらも提供するべきなのか、よくわかりません。
<code>cswh</code> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">swash</anchor> 専用ですが、 <code>clig</code> は用途非限定なので、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォント開発者</anchor>の意図として明らかに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">swash</anchor> として提供したい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">合字</anchor>には <code>cswh</code> を使うのがいいのでしょうか。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="en-us">Registered features, a-e (OpenType 1.9.1) - Typography | <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Microsoft Learn</anchor></cite>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PeterCon</anchor>, <time>2024-07-07T00:58:54.000Z</time>, <time>2024-12-05T13:07:25.812Z</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://learn.microsoft.com/en-us/typography/opentype/spec/features_ae">https://learn.microsoft.com/en-us/typography/opentype/spec/features_ae</anchor-external></li></ul></refs></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アルファベット</anchor>用の概念だけど<sw-ch xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">し</sw-ch>の左線を伸ばして上の文字の横に配置するみたいなのにも当てはめられるのかな。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 
でもまあ話がややこしくなるからそれはそれこれはこれとしたほうがいいのだろうね。</p></section></body></html>