• R/O
  • HTTP
  • SSH
  • HTTPS

luatexja: コミット

ソースコードの管理場所


コミットメタ情報

リビジョン80d52971644cff20c157314b05ee0a4c3656f510 (tree)
日時2014-11-05 18:52:47
作者Hironori Kitagawa <h_kitagawa2001@yaho...>
コミッターHironori Kitagawa

ログメッセージ

vertical origin when vert or vrt2 is explicitly specified in \tfont

変更サマリ

差分

--- a/src/ltj-jfmglue.lua
+++ b/src/ltj-jfmglue.lua
@@ -110,7 +110,7 @@ local slow_find_char_class
110110 do
111111 local start_time_measure = ltjb.start_time_measure
112112 local stop_time_measure = ltjb.stop_time_measure
113- slow_find_char_class = function (c, m, oc,t )
113+ slow_find_char_class = function (c, m, oc)
114114 local cls = ltjf_find_char_class(oc, m)
115115 if oc~=c and cls==0 then
116116 return ltjf_find_char_class(-c, m), oc
--- a/src/ltj-jfont.lua
+++ b/src/ltj-jfont.lua
@@ -820,7 +820,7 @@ end
820820 -- calculate vadvance
821821 ------------------------------------------------------------------------
822822 do
823- local function acc_feature(table_vadv, table_vorg, subtables, ft)
823+ local function acc_feature(table_vadv, table_vorg, subtables, ft, already_vert)
824824 for char_num,v in pairs(ft.shared.rawdata.descriptions) do
825825 if v.slookups then
826826 for sn, sv in pairs(v.slookups) do
@@ -829,7 +829,7 @@ do
829829 table_vadv[char_num]
830830 = (table_vadv[char_num] or 0) + sv[4]
831831 end
832- if sv[2]~=0 then
832+ if sv[2]~=0 and not already_vert then
833833 table_vorg[char_num]
834834 = (table_vorg[char_num] or 0) + sv[2]
835835 end
@@ -847,8 +847,6 @@ luatexbase.add_to_callback(
847847 local ft = font_getfont(fnum)
848848 local subtables = {}
849849 if ft.specification then
850- ft.specification.features.normal.vrt2 = true
851- ft.specification.features.normal.vert = true
852850 for feat_name,v in pairs(ft.specification.features.normal) do
853851 if v==true then
854852 for _,i in pairs(ft.resources.sequences) do
@@ -860,7 +858,8 @@ luatexbase.add_to_callback(
860858 end
861859 end
862860 end
863- acc_feature(vadv, vorg, subtables, ft)
861+ acc_feature(vadv, vorg, subtables, ft,
862+ ft.specification.features.normal.vrt2 or ft.specification.features.normal.vert)
864863 for i,v in pairs(vadv) do
865864 vadv[i]=vadv[i]/ft.units_per_em*fmtable.size
866865 end
旧リポジトリブラウザで表示