Adobe Illustratorのグリフ置換のバグがCS3で直っていない
- 以前に「Adobe Illustrator CS2のグリフ置換の問題(総論)」で指摘したIllustratorのグリフ置換のバグが、CS3でも直っていないことを確認。深刻な不具合だと思うので、そのメカニズムについて改めてメモしておく。
- このバグは、ワンセンテンスで言えば「ある異体字(aalt)グループ内に、タグXによってグリフaに置換されるグリフAが含まれている場合、タグXを適用することにより、そのグループ内のA以外のグリフもaに置換されてしまう」というものである。
- たとえば「帰」を含む異体字グループは、小塚明朝Proでは下図左側の4つのグリフで構成される。このうちタグ'jp83'によるグリフ置換の対象となるのがCID=1596の「帰」、置換後のグリフがCID=13429の「帰」である。当然だが、「歸」や「皈」は'jp83'タグの影響を受けない。
- ところがAdobe Illustrator CS2/CS3では、'jp83'タグによって「歸」や「皈」までCID=13429の「帰」に置換されてしまう(下図。ピンク地で示した部分が不正な置換)。このパターンを仮に「巻き込まれ型」の文字化けと呼ぶこととする。
- この現象の原因となるタグは'jp83'タグだけではない。下図は、「国」を含む異体字グループが'trad'タグで不正に置換される例。
- 同じ異体字グループ内に同じタグのターゲットとなるグリフが2つ含まれている場合、「A→a」「B→b」となるはずが「A→b」「B→a」という化け方をする(下図)。このパターンを仮に「入れ替わり型」の文字化けと呼ぶこととする。以前「Adobe Illustrator CS2のグリフ置換の問題(「JIS83字形」編)」で書いたのが、この「入れ替わり型」。
- 最後に、複合型の例を挙げる。下図においてピンク地で示した不正な置換のうち、上2つが「入れ替わり」で、下1つが「巻き込まれ」。