OSDN Git Service

luatexja-core.sty: insert \leavevmode in the def. of \ltjjachar and \ltjalchar
[luatex-ja/luatexja.git] / src / jfm-ujis.lua
index 0d5da01..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',
@@ -47,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 },
@@ -71,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 },
@@ -93,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 },
@@ -112,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 },
@@ -121,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 = {
@@ -132,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,
       }
    },
 
@@ -149,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,
       }
    },
 
@@ -171,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,
       }
    },
 
@@ -229,7 +283,7 @@ local t = {
       }
    },
 
-   [307] = { -- 1/4 角
+   [307] = { -- 合成用(半)濁点
       chars = { 0x3099, 0x309A },
       align = 'right', left = 0.0, down = 0.0,
       width = 0, height = 0.88, depth = 0.12, italic=0.0,
@@ -277,11 +331,12 @@ local t = {
       }
    },
 
-
    [99] = { -- box末尾
-      chars = {'boxbdd', 'parbdd', 'glue'},
+      chars = {'boxbdd', 'glue'},
+   },
+   [199] = { -- box末尾
+      chars = {'parbdd'},
    },
-
 }
 
 local ht = t[007].chars
@@ -301,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)