= Debian: groffで日本語表示スペース入るバグ [2010-05-31 12:54]

<<< groff <<< charclass

== バグ説明

http://lists.debian.or.jp/debian-devel/200910/msg00005.html http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=552201

== charclass patchの元

https://code.launchpad.net/~cjwatson/groff/charclass

== オリジナルとの差分

とりあえずcharclass patchをダウンロードした。

どうもcppにpatchがあたっているっぽい。 commit logからcharclass対応の修正を抜き出す


revno: 1822 committer: Colin Watson <cjwatson@debian.org> branch nick: charclass timestamp: Thu 2009-03-26 23:07:24 +0000 message:


revno: 1821 committer: Colin Watson <cjwatson@debian.org> branch nick: charclass timestamp: Mon 2009-03-23 10:53:20 +0000 message:

quest; lookups are still rather slow


revno: 1820 committer: Colin Watson <cjwatson@debian.org> branch nick: charclass timestamp: Mon 2009-03-23 10:49:32 +0000 message:


revno: 1819 committer: Colin Watson <cjwatson@debian.org> branch nick: charclass timestamp: Thu 2009-02-26 18:22:06 +0000 message:


revno: 1818 author: "brian m. carlson" <sandals@crustytoothpaste.ath.cx> committer: Colin Watson <cjwatson@debian.org> branch nick: charclass timestamp: Thu 2009-02-26 18:21:46 +0000 message:

tytoothpaste.ath.cx>)


ということなので、差分を取った。

$ bzr diff -r 1817..1822 file:///home/kiwamu/Dropbox/Public/patches/patch_20100831_groff_charclass_bzr1817-1822.txt

== テスト方法

$ groff -mandoc -Tutf8 su.roff|lv

== charclassの解析

=== char_classクラス

アブストラクトクラス。 single_char_class,range_char_class,ref_char_classクラスが継承する。

* charinfo *get_charinfo() メンバ変数charinfo *ciへのgetter。

* void set_charinfo(charinfo *) メンバ変数charinfo *ciへのsetter。

=== single_char_classクラス

* int lookup_char(int c) char_classが持つ文字

=== range_char_classクラス

=== ref_char_classクラス

=== charinfoクラス

=== fontクラス

=== lookup_char(int c) char_classが持つ文字

=== range_char_classクラス

=== ref_char_classクラス

=== charinfoクラス

=== fontクラス

=== src/libs/libgroff/classes.cpp

=== src/libs/libgroff/font.cpp

=== src/roff/troff/input.cpp