チケット #39516

charrange 100をALcharにしても欧文扱いとならない

登録: 2019-08-28 06:59 最終更新: 2019-11-10 19:04

報告者:
担当者:
(未割り当て)
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
2
重要度:
2
解決法:
修正済み
ファイル:
なし

詳細

luatexja-ja.pdf の4.1節にcharrange 100番に文字を割り当てる例がありますが、100番になにかの文字を割り当てて、100番をALcharにしても、100番に含まれる文字が欧文扱いになりません。しかしcharrange 9番を使うと欧文扱いになります。charrange 9番と100番の扱いが内部的に違うと思いますが、その違いは例えばluatexja-ja.pdfには書かれていないと思います。なおこれに気づいた理由は絵文字に含まれるバイト列全部を含むcharrangeを定義してそれをALcharにしようとしたからですがその目的はcharrange 9番を使用して問題なく達成できました。以下に9番と100番の違いをPDFとして表示するlatexファイルを置きます。

\documentclass[a4paper,12pt]{ltjsarticle}

\ltjdefcharrange{9}{"200D}
\ltjdefcharrange{100}{"200E}
\ltjsetparameter{jacharrange={-9,-100}}
\begin{document}
\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{"200D}}\\
\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{"200E}}
\end{document}

チケットの履歴 (5 件中 3 件表示)

2019-08-28 06:59 更新者: emojifreak
  • 新しいチケット "charrange 100をALcharにしても欧文扱いとならない" が作成されました
2019-08-28 07:54 更新者: h7k
  • 解決法なし から 修正済み に更新されました
コメント

すみません,ltj-charramge.lua の typo(99 行目で 31*ATTR_RANGE となるべきところが 7*ATTR_RANGE となっていた)でした.以下に diff を載せます.

  1. diff --git a/src/ltj-charrange.lua b/src/ltj-charrange.lua
  2. index 96fbd88..d528d8d 100644
  3. --- a/src/ltj-charrange.lua
  4. +++ b/src/ltj-charrange.lua
  5. @@ -3,7 +3,7 @@
  6. --
  7. luatexbase.provides_module({
  8. name = 'luatexja.charrange',
  9. - date = '2019/04/01',
  10. + date = '2019/08/28',
  11. description = 'Handling the range of Japanese characters',
  12. })
  13. luatexja.charrange = {}
  14. @@ -99,7 +99,7 @@ function luatexja.charrange.toggle_char_range(g, i) -- i: external range number
  15. else
  16. local kc
  17. if i>0 then kc=0 else kc=1; i=-i end
  18. - if i>=7*ATTR_RANGE then i=0 end
  19. + if i>=31*ATTR_RANGE then i=0 end
  20. local attr = kcat_attr_table[i]
  21. local a = tex_getattr(attr)
  22. tex.setattribute(g, attr,
2019-08-28 08:10 更新者: h7k
コメント

追記です.まだ悩み中ですが,次バージョンから U+2000--U+206F を

  • Adobe-Japan1-7 との共通部分は charrange 9 (JAchar) ←もう少し条件きつい方が良いかも?
  • それ以外は charrange 4 (ALchar)

として分割し,そこで charrange 9 を使うかもしれません.

2019-08-28 09:31 更新者: emojifreak
コメント

h7k への返信

として分割し,そこで charrange 9 を使うかもしれません.

早速ご対応とご教示ありがとうございました。常識的には将来のシステム使用番号と重ならないように大きい数字をユーザー側で使うのがよいと思いますが、もし違ったらご教示下さい。

2019-11-10 19:04 更新者: h7k
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする