OSDN Git Service

Support \ltjgetparameter{linestep_factor} and \ltjgetparameter{profile_hgap_factor}
[luatex-ja/luatexja.git] / src / ltj-jfont.lua
index 4c56b43..76ec212 100644 (file)
@@ -3,7 +3,7 @@
 --
 luatexbase.provides_module({
   name = 'luatexja.jfont',
-  date = '2018/11/01',
+  date = '2018/12/15',
   description = 'Loader for Japanese fonts',
 })
 
@@ -198,8 +198,9 @@ do
          return new
       else return nil end
    end
+   local size_cache_num = 1
    update_jfm_cache = function (j,sz)
-      if metrics[j].size_cache[sz] then return end
+      if metrics[j].size_cache[sz] then return metrics[j].size_cache[sz].index end
       local t = {}
       metrics[j].size_cache[sz] = t
       t.chars = metrics[j].chars
@@ -233,6 +234,9 @@ do
       t.zw = round(metrics[j].zw*sz)
       t.zh = round(metrics[j].zh*sz)
       t.size = sz
+      size_cache_num = size_cache_num + 1
+      t.index = size_cache_num
+      return size_cache_num
    end
 end
 
@@ -455,14 +459,16 @@ do
    luatexbase.add_to_callback('define_font',luatexja.font_callback,"luatexja.font_callback", 1)
 
    local match, sp = string.match, tex.sp
-   local function load_tfont_jfmonly(spec)
+   local function load_jfmonly(spec, dir)
       local spec, size = match(spec,'(.+)%s+at%s*([%.%w]*)')
       size = sp(size); extract_metric(spec)
-      jfm_dir = 'tate'
-      local i = load_jfont_metric(); update_jfm_cache(i, size)
-      luatexja.jfont.tfont_jfmonly_result = metrics[i].size_cache[size]
+      jfm_dir = dir
+      local i = load_jfont_metric()
+      local j = -update_jfm_cache(i, size)
+      font_metric_table[j]=metrics[i].size_cache[s]      
+      tex.sprint(cat_lp, '\\ltj@cur' .. (dir=='yoko' and 'j' or 't') .. 'fnt' .. tostring(j) .. '\\relax')
    end
-   luatexja.jfont.load_tfont_jfmonly = load_tfont_jfmonly
+   luatexja.jfont.load_jfmonly = load_jfmonly
 end
 
 ------------------------------------------------------------------------