Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

半角カタカナと同様に半角ハングルをサポート #4

Closed
aminophen opened this issue Jul 22, 2017 · 6 comments
Closed

Comments

@aminophen
Copy link
Member

現在の uptex-fonts は,日本語フォントには半角カタカナをそれ用の TYPE に分類してありますが,半角ハングル (U+FFA0--U+FFDC) や半角記号類 (U+FFE8--U+FFEE) は分類されていません。おそらくその理由は,Adobe-{Japan,Korea,...}1 に入っていないため

dvipdfmx:warning: No character mapping available.
 CMap name: UniKS-UTF16-H
 input str: <ffa1>

のように出て結局使えないから,ではないかと推測します。しかし,最近は Noto / SourceHan のような Adobe-Identity0 なフォントもあって,その場合は

\special{pdf:mapline uprml-h unicode SourceHanSans-Regular.otf}

のようにすることで,半角ハングルも dvipdfmx で出力することができます。この場合,JFM で「半角幅」に定義されていないことが問題になります。そこで

  • JFM の半角用タイプにこれらの文字コードを含める。
  • makejvf/write.c の場合分けの「半角カナ」のところに,半角ハングルと半角記号類も加える。

を提案します。

@t-tk
Copy link
Collaborator

t-tk commented Jul 23, 2017

私はハングルのサポートという点では重要度の低い課題だという認識です。
Halfwidth and Fullwidth Forms (U+FF00 ~ U+FFEF) に含まれるHalfwidth Hangul variants (U+FFA0 ~ U+FFDC)はHalfwidthでないものが Hangul Compatibility Jamo (U+3130 ~ U+318F) に含まれており、現代韓国語のプレーンテキストではほぼ100%後者が使われているはずです。
「Halfwidth Hangul variantsを"Halfwidth"として組版したい」という需要も極めて少ないと思います。
なので「未実装」でもupTeXの短所になることは無いと思っています。
ko.TeXはどうしているか、など軽い興味はありますが…。

Halfwidth symbol variants (U+FFE8 ~ U+FFEE)は正直よく分かりません。対応するレガシーエンコーディングが韓国ならHalfwidth Hangul variantsと需要は同様と想像します。

韓国語を頑張るには、「約物の整備がもっと必要なのか?」「古ハングル」「漢陽使用者定義領域コード(Hanyang private use area code)」「チョッカックッコード」とか、色々課題はあると思います。開発の費用対効果の面で割に合うかどうか、優先順位をつけて進めたいです。
もちろん開発費用が気にならないならお任せします。

#2 で話題の U+00B7 は韓国語のプレーンテキストで頻出しており、重要という認識です。

@aminophen
Copy link
Member Author

ハングルのサポートという点では重要度の低い課題

確かに Unicode にも半角ハングルを deprecated とすべきという提案が出ているほどなので (http://www.unicode.org/L2/L2017/17118-deprecate-half-width-jamo.pdf) ,需要は低そうでした。半角カタカナも最近はあまり使われていないと思っていたのですが,その比ではないくらい使われないのだとすると意味はないかもですね。

半角記号類のほうの由来は調べ切れていません。

@zr-tex8r
Copy link

韓国の国家規格では以下のものが定められています。

・1バイトの文字コードのKS X 1003(旧称 KS C 5636)
※日本のJIS X 0201に相当する。
・2バイトの文字コードのKS X 1001(旧称 KS C 5601)
※日本のJIS X 0208に相当する。

そして、実際に使われている(レガシーな)多バイト文字コード(符号化方式)は、これらをEUCの方式で組み合わせたもの(EUC-KR)です。ここで、ASCIIについては「いわゆる半角(1バイト)」と「いわゆる全角(2バイト)」の重複符号化があることはEUC-JPと同じですが、EUC-KRでは「1バイト側のハングル字母」に相当するものはサポートされていません。(EUC-JPでは「半角カタカナ」はSS2という制御符号を前置して2バイトで表す。)別の符号化方式であるJohabでも「1バイト側のハングル字母」はサポートされていないようです。

従って、U+FFA0~U+FFDCに相当する文字は韓国の文字コードには実は無かった、ということのようです。

@zr-tex8r
Copy link

あっ、どうやらKS X 1003は8ビットじゃなくて7ビット(つまりASCII相当部分しあkない)のようですね。だから先に書いたものは間違ってました。

半角ハングルを deprecated とすべきという提案

おそらくここに書いてある通りなんでしょうね…。

@aminophen
Copy link
Member Author

半角ハングルは deprecated なので,uptex-fonts の標準 JFM でその幅をサポートする必要はなさそうですが,それとは独立に makejvf で半角カタカナ同様の対処(ただ単に case に入れるだけで良いので,特に手間でもない)はしてよい気がしたので,makejvf には半角ハングルと半角記号類の対処を入れようと思います。

@aminophen
Copy link
Member Author

makejvf で半角カタカナ同様の対処

r44932 でコミット。コードも簡潔にできたので良しということで…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants