OSDN Git Service

luatexja-core.sty: insert \leavevmode in the def. of \ltjjachar and \ltjalchar
[luatex-ja/luatexja.git] / src / jfm-ujis.lua
index 476f063..08f567d 100644 (file)
@@ -6,7 +6,6 @@
 -- kanjiskip:    0pt plus .25zw minus 0pt
 -- xkanjiskip: .25zw plus .25zw (or .0833zw) minus .125zw
 
-
 local t = {
    version = 3,
    dir = 'yoko',
@@ -26,7 +25,9 @@ local t = {
         [107] = { 0, 0, 0, kanjiskip_shrink=1 },
         [207] = { 0, 0, 0, kanjiskip_shrink=1 },
         [8] = { 0, 0, 0, kanjiskip_shrink=1 },
-      }
+      },
+      kern = { [307] = 0 },     
+      round_threshold = 0.01,
    },
 
    [1] = { -- 開き括弧類
@@ -45,6 +46,9 @@ local t = {
         [4] = { 0, 0, 0, kanjiskip_shrink=1 },
         [5] = { 0, 0, 0, kanjiskip_shrink=1 },
         [105] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [205] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [305] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [405] = { 0, 0, 0, kanjiskip_shrink=1 },
         [6] = { 0, 0, 0, kanjiskip_shrink=1 },
         [007] = { 0, 0, 0, kanjiskip_shrink=1 },
         [107] = { 0, 0, 0, kanjiskip_shrink=1 },
@@ -69,6 +73,9 @@ local t = {
          [4] = { 0, 0, 0, kanjiskip_shrink=1 },
         [5] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
         [105] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+        [205] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+        [305] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+        [405] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
         [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
         [007] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
         [107] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
@@ -78,7 +85,7 @@ local t = {
    },
 
    [3] = { -- 中点類
-      chars = {'・', ':', ';'},
+      chars = {'・', ':', ';', '·'},
       align = 'middle', left = 0.0, down = 0.0,
       width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
       --end_stretch = 0.25,
@@ -91,6 +98,9 @@ local t = {
         [4] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
         [5] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
         [105] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+        [205] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+        [305] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+        [405] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
         [6] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
         [007] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
         [107] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
@@ -110,6 +120,9 @@ local t = {
         [3] = { 0.75, 0.0, 0.25, priority=1, ratio=1./3, kanjiskip_stretch=1 },
         [5] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
         [105] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+        [205] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+        [305] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+        [405] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
         [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
         [007] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
         [107] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
@@ -119,7 +132,7 @@ local t = {
    },
 
    [5] = { -- 分離禁止文字
-      chars = { 'â\80\94', 'â\80\95', 'â\80¥', 'â\80¦', 'ã\80³', 'ã\80´', 'ã\80µ', },
+      chars = { '―', '‥', '…', '〳', '〴', '〵', },
       align = 'left', left = 0.0, down = 0.0,
       width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
       glue = {
@@ -130,8 +143,7 @@ local t = {
         [6] = { 0, 0, 0, kanjiskip_shrink=1 },
       },
       kern = {
-        [5] = 0.0,
-        [105] = 0.0
+        [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
       }
    },
 
@@ -147,8 +159,53 @@ local t = {
         [6] = { 0, 0, 0, kanjiskip_shrink=1 },
       },
       kern = {
-        [5] = 0.0,
-        [105] = 0.0
+        [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
+      }
+   },
+
+   [205] = { -- em-dash
+      chars = { 0x2014 },
+      align = 'middle', left = 0.0, down = 0.0,
+      width = 1, height = 0.88, depth = 0.12, italic=0.0,
+      glue = {
+        [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+        [2] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+        [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+      },
+      kern = {
+        [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
+      }
+   },
+   [305] = { -- two-em dash
+      chars = { 0x2E3A },
+      align = 'middle', left = 0.0, down = 0.0,
+      width = 2, height = 0.88, depth = 0.12, italic=0.0,
+      glue = {
+        [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+        [2] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+        [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+      },
+      kern = {
+        [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
+      }
+   },
+   [405] = { -- three-em dash
+      chars = { 0x2E3B },
+      align = 'middle', left = 0.0, down = 0.0,
+      width = 3, height = 0.88, depth = 0.12, italic=0.0,
+      glue = {
+        [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+        [2] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+        [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+      },
+      kern = {
+        [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
       }
    },
 
@@ -169,8 +226,7 @@ local t = {
         [8] = { 0, 0, 0, kanjiskip_shrink=1 },
       },
       kern = {
-        [5] = 0.0,
-        [105] = 0.0
+        [5] = 0.0, [105] = 0.0, [205] = 0.0, [305] = 0.0, [405] = 0.0,
       }
    },
 
@@ -193,7 +249,8 @@ local t = {
         [4] = { 0, 0, 0, kanjiskip_shrink=1 },
         [6] = { 0, 0, 0, kanjiskip_shrink=1 },
          [8] = { 0, 0, 0, kanjiskip_shrink=1 },
-      }
+      },
+      kern = { [307] = 0 },     
    },
 
    [107] = { -- 1/3 角
@@ -226,6 +283,21 @@ local t = {
       }
    },
 
+   [307] = { -- 合成用(半)濁点
+      chars = { 0x3099, 0x309A },
+      align = 'right', left = 0.0, down = 0.0,
+      width = 0, height = 0.88, depth = 0.12, italic=0.0,
+      glue = {
+        [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+        [2] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+        [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+        [207] = { 0, 0, 0, kanjiskip_shrink=1 },
+         [8] = { 0, 0, 0, kanjiskip_shrink=1 },
+      }
+   },
+
    [8] = { -- 罫線類.
       chars = {
         '─', '━', '│', '┃', '┄', '┅', '┆', '┇',
@@ -259,11 +331,12 @@ local t = {
       }
    },
 
-
    [99] = { -- box末尾
-      chars = {'boxbdd', 'parbdd', 'glue'},
+      chars = {'boxbdd', 'glue'},
+   },
+   [199] = { -- box末尾
+      chars = {'parbdd'},
    },
-
 }
 
 local ht = t[007].chars
@@ -283,5 +356,19 @@ for i,v in pairs(t) do
     if v.kern and v.kern[0] then v.kern[100] = v.kern[0] end
   end
 end
+t[200]=table.fastcopy(t[0])
+t[200].chars={ 0x3031,0x3032 }
+t[200].height=1.38; t[200].depth=0.62
+for i,v in pairs(t) do
+  if type(i)=='number' and type(v)=='table' then
+    if v.glue and v.glue[0] then v.glue[200] = v.glue[0] end
+    if v.kern and v.kern[0] then v.kern[200] = v.kern[0] end
+  end
+end
+
+local jf = luatexja.jfont.jfm_feature
+if jf and jf.beginpar_middledot_zw==true then
+    t[199].kern = { [3] = 0.25 }
+end
 
 luatexja.jfont.define_jfm(t)