-- -*- coding: utf-8 -*-
-- jfm-ujis.lua: LuaTeX-ja 標準 JFM
--- besed on upnmlminr-h.tfm (a metric in UTF/OTF package used by upTeX).
+-- based on upnmlminr-h.tfm (a metric in UTF/OTF package used by upTeX).
+
+-- JIS X 4051:2004 では,行末の句読点や中点はベタなのでそれに従う
+-- kanjiskip: 0pt plus .25zw minus 0pt
+-- xkanjiskip: .25zw plus .25zw (or .0833zw) minus .125zw
+
luatexja.jfont.define_jfm {
dir = 'yoko',
zw = 1.0, zh = 1.0,
-
+ kanjiskip = { 0.0, 0.25, 0 },
+ xkanjiskip = { 0.25, 0.25, .125 },
[0] = {
align = 'left', left = 0.0, down = 0.0,
width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
glue = {
- [1] = { 0.5 , 0.0, 0.5 },
- [3] = { 0.25, 0.0, 0.25 }
+ [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 },
+ [7] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [8] = { 0, 0, 0, kanjiskip_shrink=1 },
}
},
[1] = { -- 開き括弧類
chars = {
- '‘', '“', '〈', '《', '「', '『', '【', '〔', '〖',
+ '‘', '“', '〈', '《', '「', '『', '【', '〔', '〖',
'〘', '〝', '(', '[', '{', '⦅'
},
align = 'right', left = 0.0, down = 0.0,
width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
glue = {
- [3] = { 0.25, 0.0, 0.25 }
+-- 3 のみ四分,あとは0
+ [0] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [1] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [2] = { 0, 0, 0, kanjiskip_shrink=1, kanjiskip_stretch=1 },
+ [3] = { 0.25, 0.0, 0.25, priority=1 },
+ [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [5] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [7] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [8] = { 0, 0, 0, kanjiskip_shrink=1 },
}
},
[2] = { -- 閉じ括弧類
chars = {
- 'â\80\99', 'â\80\9d', 'ã\80\81', 'ã\80\89', 'ã\80\8b', 'ã\80\8d', 'ã\80\8f', 'ã\80\91', 'ã\80\95',
- 'ã\80\97', 'ã\80\99', 'ã\80\9f', 'ï¼\89', 'ï¼\8c', 'ï¼½', 'ï½\9d', 'ï½ '
+ 'â\80\99', 'â\80\9d', 'ã\80\89', 'ã\80\8b', 'ã\80\8d', 'ã\80\8f', 'ã\80\91', 'ã\80\95',
+ 'ã\80\97', 'ã\80\99', 'ã\80\9f', 'ï¼\89', 'ï¼½', 'ï½\9d', 'ï½ ', 'ã\80\81', 'ï¼\8c*'
},
align = 'left', left = 0.0, down = 0.0,
width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
glue = {
- [0] = { 0.5 , 0.0, 0.5 },
- [1] = { 0.5 , 0.0, 0.5 },
- [3] = { 0.25, 0.0, 0.25 },
- [5] = { 0.5 , 0.0, 0.5 },
- [6] = { 0.5 , 0.0, 0.5 },
- [7] = { 0.5 , 0.0, 0.5 }
+-- 3 は四分, 2, 4, 9 は0, あとは0.5
+ [0] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+ [1] = { 0.5 , 0.0, 0.5, ratio=0, 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 },
+ [5] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+ [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+ [7] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+ [8] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
}
},
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,
glue = {
- [0] = { 0.25, 0.0, 0.25 },
- [1] = { 0.25, 0.0, 0.25 },
- [2] = { 0.25, 0.0, 0.25 },
- [3] = { 0.5 , 0.0, 0.5 },
- [4] = { 0.25, 0.0, 0.25 },
- [5] = { 0.25, 0.0, 0.25 },
- [6] = { 0.25, 0.0, 0.25 },
- [7] = { 0.25, 0.0, 0.25 }
+-- 3 のみ 0.5,あとは0.25
+ [0] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+ [1] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+ [2] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+ [3] = { 0.5 , 0.0, 0.5 , priority=1 },
+ [4] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+ [5] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+ [6] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+ [7] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
+ [8] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
}
},
align = 'left', left = 0.0, down = 0.0,
width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
glue = {
- [0] = { 0.5 , 0.0, 0.0 },
- [1] = { 0.5 , 0.0, 0.0 },
- [3] = { 0.75, 0.0, 0.25 },
- [5] = { 0.5 , 0.0, 0.0 },
- [6] = { 0.5 , 0.0, 0.0 },
- [7] = { 0.5 , 0.0, 0.0 }
+-- 3 は.75, 2, 4 は0, あとは0.5
+ [0] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+ [1] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+ [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 },
+ [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+ [7] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
+ [8] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
}
},
[5] = { -- ダッシュ
- chars = { 'â\80\95', 'â\80¥', 'â\80¦' },
+ chars = { 'â\80\94', 'â\80\95', 'â\80¥', 'â\80¦', 'ã\80³', 'ã\80´', 'ã\80µ', },
align = 'left', left = 0.0, down = 0.0,
width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
glue = {
- [1] = { 0.5 , 0.0, 0.5 },
- [3] = { 0.25, 0.0, 0.25 }
+ [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
},
[6] = { -- 感嘆符・疑問符
- chars = { '?', '!' },
+ chars = { '?', '!', '‼', '⁇', '⁈', '⁉', },
align = 'left', left = 0.0, down = 0.0,
width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
glue = {
- [0] = { 0.5 , 0.0, 0.5 },
- [1] = { 0.5 , 0.0, 0.5 },
- [3] = { 0.25, 0.0, 0.25 },
- [7] = { 0.5 , 0.0, 0.5 },
+ [0] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+ [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+ [2] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [3] = { 0.75, 0.0, 0.25, priority=1, ratio=1 },
+ [4] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [6] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [7] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
+ [8] = { 0, 0, 0, kanjiskip_shrink=1 },
},
kern = {
[5] = 0.0
[7] = { -- 半角カナ
chars = {
- '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ',
- 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ',
- 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ',
- 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト',
- 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ',
- 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ',
+ '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ',
+ 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ',
+ 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ',
+ 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト',
+ 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ',
+ 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ',
'ラ', 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ン', '゙', '゚',
- "AJ1-516", "AJ1-517", "AJ1-518", "AJ1-519", "AJ1-520", "AJ1-521", "AJ1-522",
- "AJ1-523", "AJ1-524", "AJ1-525", "AJ1-526", "AJ1-527", "AJ1-528", "AJ1-529",
- "AJ1-530", "AJ1-531", "AJ1-532", "AJ1-533", "AJ1-534", "AJ1-535", "AJ1-536",
- "AJ1-537", "AJ1-538", "AJ1-539", "AJ1-540", "AJ1-541", "AJ1-542", "AJ1-543",
- "AJ1-544", "AJ1-545", "AJ1-546", "AJ1-547", "AJ1-548", "AJ1-549", "AJ1-550",
- "AJ1-551", "AJ1-552", "AJ1-553", "AJ1-554", "AJ1-555", "AJ1-556", "AJ1-557",
- "AJ1-558", "AJ1-559", "AJ1-560", "AJ1-561", "AJ1-562", "AJ1-563", "AJ1-564",
- "AJ1-565", "AJ1-566", "AJ1-567", "AJ1-568", "AJ1-569", "AJ1-570", "AJ1-571",
- "AJ1-572", "AJ1-573", "AJ1-574", "AJ1-575", "AJ1-576", "AJ1-577", "AJ1-578",
- "AJ1-579", "AJ1-580", "AJ1-581", "AJ1-582", "AJ1-583", "AJ1-584", "AJ1-585",
- "AJ1-586", "AJ1-587", "AJ1-588", "AJ1-589", "AJ1-590", "AJ1-591", "AJ1-592",
+ "AJ1-516", "AJ1-517", "AJ1-518", "AJ1-519", "AJ1-520", "AJ1-521", "AJ1-522",
+ "AJ1-523", "AJ1-524", "AJ1-525", "AJ1-526", "AJ1-527", "AJ1-528", "AJ1-529",
+ "AJ1-530", "AJ1-531", "AJ1-532", "AJ1-533", "AJ1-534", "AJ1-535", "AJ1-536",
+ "AJ1-537", "AJ1-538", "AJ1-539", "AJ1-540", "AJ1-541", "AJ1-542", "AJ1-543",
+ "AJ1-544", "AJ1-545", "AJ1-546", "AJ1-547", "AJ1-548", "AJ1-549", "AJ1-550",
+ "AJ1-551", "AJ1-552", "AJ1-553", "AJ1-554", "AJ1-555", "AJ1-556", "AJ1-557",
+ "AJ1-558", "AJ1-559", "AJ1-560", "AJ1-561", "AJ1-562", "AJ1-563", "AJ1-564",
+ "AJ1-565", "AJ1-566", "AJ1-567", "AJ1-568", "AJ1-569", "AJ1-570", "AJ1-571",
+ "AJ1-572", "AJ1-573", "AJ1-574", "AJ1-575", "AJ1-576", "AJ1-577", "AJ1-578",
+ "AJ1-579", "AJ1-580", "AJ1-581", "AJ1-582", "AJ1-583", "AJ1-584", "AJ1-585",
+ "AJ1-586", "AJ1-587", "AJ1-588", "AJ1-589", "AJ1-590", "AJ1-591", "AJ1-592",
"AJ1-593", "AJ1-594", "AJ1-595", "AJ1-596", "AJ1-597", "AJ1-598",
},
align = 'left', left = 0.0, down = 0.0,
- width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
+ width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
glue = {
- [1] = { 0.5 , 0.0, 0.5 },
- [3] = { 0.25, 0.0, 0.25 }
+ [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 },
+ [7] = { 0, 0, 0, kanjiskip_shrink=1 },
+ [8] = { 0, 0, 0, kanjiskip_shrink=1 },
}
},
+ [8] = { -- 罫線類.
+ chars = {
+ '─', '━', '│', '┃', '┄', '┅', '┆', '┇',
+ '┈', '┉', '┊', '┋', '┌', '┍', '┎', '┏',
+ '┐', '┑', '┒', '┓', '└', '┕', '┖', '┗',
+ '┘', '┙', '┚', '┛', '├', '┝', '┞', '┟',
+ '┠', '┡', '┢', '┣', '┤', '┥', '┦', '┧',
+ '┨', '┩', '┪', '┫', '┬', '┭', '┮', '┯',
+ '┰', '┱', '┲', '┳', '┴', '┵', '┶', '┷',
+ '┸', '┹', '┺', '┻', '┼', '┽', '┾', '┿',
+ '╀', '╁', '╂', '╃', '╄', '╅', '╆', '╇',
+ '╈', '╉', '╊', '╋', '╌', '╍', '╎', '╏',
+ '═', '║', '╒', '╓', '╔', '╕', '╖', '╗',
+ '╘', '╙', '╚', '╛', '╜', '╝', '╞', '╟',
+ '╠', '╡', '╢', '╣', '╤', '╥', '╦', '╧',
+ '╨', '╩', '╪', '╫', '╬', '╭', '╮', '╯',
+ '╰', '╱', '╲', '╳', '╴', '╵', '╶', '╷',
+ '╸', '╹', '╺', '╻', '╼', '╽', '╾', '╿',
+ },
+ align = 'left', left = 0.0, down = 0.0,
+ width = 1.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 },
+ },
+ kern = {
+ [8] = 0.0
+ }
+ },
+
+
[99] = { -- box末尾
- chars = {'boxbdd'},
+ chars = {'boxbdd', 'parbdd'},
+ glue = {
+ [3] = { 0.25, 0.0, 0.25, priority=1 },
+ }
},
-}
\ No newline at end of file
+}