payload: {"action":"created","issue":{"url":"https://api.github.com/repos/texjporg/ptex-manual/issues/3","repository_url":"https://api.github.com/repos/texjporg/ptex-manual","labels_url":"https://api.github.com/repos/texjporg/ptex-manual/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/texjporg/ptex-manual/issues/3/comments","events_url":"https://api.github.com/repos/texjporg/ptex-manual/issues/3/events","html_url":"https://github.com/texjporg/ptex-manual/issues/3","id":427632219,"node_id":"MDU6SXNzdWU0Mjc2MzIyMTk=","number":3,"title":"[e-(u)pTeX] \\iffontchar, \\fontcharwd など","user":{"login":"aminophen","id":9957466,"node_id":"MDQ6VXNlcjk5NTc0NjY=","avatar_url":"https://avatars0.githubusercontent.com/u/9957466?v=4","gravatar_id":"","url":"https://api.github.com/users/aminophen","html_url":"https://github.com/aminophen","followers_url":"https://api.github.com/users/aminophen/followers","following_url":"https://api.github.com/users/aminophen/following{/other_user}","gists_url":"https://api.github.com/users/aminophen/gists{/gist_id}","starred_url":"https://api.github.com/users/aminophen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aminophen/subscriptions","organizations_url":"https://api.github.com/users/aminophen/orgs","repos_url":"https://api.github.com/users/aminophen/repos","events_url":"https://api.github.com/users/aminophen/events{/privacy}","received_events_url":"https://api.github.com/users/aminophen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2019-04-01T10:38:32Z","updated_at":"2019-04-01T15:22:18Z","closed_at":null,"author_association":"MEMBER","body":"これまた実用上あまり重要ではない話ですが…。\r\n\r\n「e-TeX と e-pTeX を比較してドキュメント化しよう」と思ったのですが，フォント関連のプリミティブ（etex_man.pdf に挙がっている 5 つ）について確認させてください。\r\n\r\n> \\iffontchar ⟨font⟩ ⟨8-bit number⟩\r\n> \\fontcharht ⟨font⟩ ⟨8-bit number⟩\r\n> \\fontcharwd ⟨font⟩ ⟨8-bit number⟩\r\n> \\fontchardp ⟨font⟩ ⟨8-bit number⟩\r\n> \\fontcharic ⟨font⟩ ⟨8-bit number⟩\r\n\r\n2011 年のマクロツイーター\r\n\r\n- https://zrbabbler.hatenablog.com/entry/20110301/1298999095\r\n- https://zrbabbler.hatenablog.com/entry/20110306/1299428126\r\n\r\nには「\\jfont、\\tfont に対してこれらの命令を用いた場合は \\iffontchar と同様にデタラメな結果を返す」との記載がありますが，[forum:1452](https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1452) の時に修正が入っていま🍣，今簡単に試した範囲では以下のようです。\r\n\r\n### 調査結果\r\n\r\n- 共通事項\r\n    - ⟨font⟩ には欧文 (\\font)，和文横 (\\jfont)，和文縦 (\\tfont) のいずれも可。\r\n    - ⟨8-bit number⟩ は ⟨character code⟩ に拡張される。すなわち 0--255 の範囲内の整数，および和文文字の内部コードが可（不正な数値なら Bad character code エラー）。  … (※)\r\n- \\iffontchar の挙動\r\n    - 欧文フォントの場合： ⟨character code⟩ が TFM に存在すれば真，しなければ偽を返す。\r\n        - 文字コード 256 以上は TFM に存在しえないので自動的に「和文文字コードを与えると必ず偽」となり，e-TeX の素直な拡張とみなせる。\r\n    - 和文フォントの場合： **与えられた ⟨character code⟩ を文字タイプとみなし**，JFM に**文字タイプ**が存在すれば真，しなければ偽を返す。 … (★1)\r\n- \\fontcharht, \\fontcharwd, \\fontchardp, \\fontcharic の挙動\r\n    - 欧文フォントの場合： ⟨character code⟩ の文字が存在すれば寸法，存在しなければ 0pt を返す。この「存在すれば」は \\iffontchar に準ずる。\r\n    - 和文フォントの場合： **与えられた ⟨character code⟩ が 256 以上であれば**寸法を返し，**256 未満であれば** 0pt を返す。 … (★2)\r\n\r\n\\iffontchar の(★1)の挙動は，「数値としては ⟨character code⟩ を受け入れるが，実際は文字タイプとして扱われる」という点にさえ留意すれば，何かに役立つかも？と思います。（強いて言うなら，数値のチェック時に 0--255 しか受け付けないようにすると良いかも，くらい。）\r\n\r\n＃ そもそも pTeX 系列では「和文フォントについては、その有効な符号空間の全部の文字が、あたかも常に存在するかのように動作」しますから，真面目に ⟨character code⟩ とみなす実装だと「常に真」で，役に立たないはずです。それなら，現状の文字タイプ扱いでもいいじゃないか，という気持ちです。\r\n\r\n\\fontchar{ht,wd,dp,ic} の(★2)は少々気になります。e-pTeX では問題ないはずですが，e-upTeX だと ⟨°⟩ (U+00B0) や ⟨·⟩ (U+00B7) などの width が 0pt になってしまいます。\r\n\r\n``` tex\r\n%#!euptex\r\n% 現在の和文横組フォントを upjisr-h に\r\n\\jfont\\x=upjisr-h\\x\r\n\r\n% 現在の和文フォントに符合位置があるか？\r\n\\message{\\fontname\\x}\r\n\\newcount\\CNT\r\n\\loop\\ifnum\\CNT<65536\\relax\r\n\\iffontchar\\x\\CNT\\relax\r\n \\message{\\the\\CNT}\r\n\\fi\r\n\\advance\\CNT1\\relax\r\n\\repeat\r\n\r\n% 現在の和文横組フォントの寸法\r\n\\showthe\\fontcharwd\\jfont`°\\relax % => 0.0pt\r\n\\showthe\\fontcharwd\\jfont\"B7\\relax % => 0.0pt\r\n\\showthe\\fontcharwd\\jfont`ー\\relax % => 10.0pt\r\n\\showthe\\fontcharwd\\jfont`、\\relax % => 5.0pt\r\n\\showthe\\fontcharwd\\jfont`（\\relax % => 5.0pt\r\n\\showthe\\fontcharwd\\tfont`漢\\relax % => 10.0pt\r\n\r\n\\bye\r\n```"},"comment":{"url":"https://api.github.com/repos/texjporg/ptex-manual/issues/comments/478624215","html_url":"https://github.com/texjporg/ptex-manual/issues/3#issuecomment-478624215","issue_url":"https://api.github.com/repos/texjporg/ptex-manual/issues/3","id":478624215,"node_id":"MDEyOklzc3VlQ29tbWVudDQ3ODYyNDIxNQ==","user":{"login":"aminophen","id":9957466,"node_id":"MDQ6VXNlcjk5NTc0NjY=","avatar_url":"https://avatars0.githubusercontent.com/u/9957466?v=4","gravatar_id":"","url":"https://api.github.com/users/aminophen","html_url":"https://github.com/aminophen","followers_url":"https://api.github.com/users/aminophen/followers","following_url":"https://api.github.com/users/aminophen/following{/other_user}","gists_url":"https://api.github.com/users/aminophen/gists{/gist_id}","starred_url":"https://api.github.com/users/aminophen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aminophen/subscriptions","organizations_url":"https://api.github.com/users/aminophen/orgs","repos_url":"https://api.github.com/users/aminophen/repos","events_url":"https://api.github.com/users/aminophen/events{/privacy}","received_events_url":"https://api.github.com/users/aminophen/received_events","type":"User","site_admin":false},"created_at":"2019-04-01T15:22:18Z","updated_at":"2019-04-01T15:22:18Z","author_association":"MEMBER","body":"texjporg/tex-jp-build#77 に出しました。"}}
other: {"actor":{"display_login":"aminophen"}}