OSDN Git Service

15e9312a73b18812827b3589600d5d58b8a12fec
[luatex-ja/luatexja.git] / src / luatexja / otf.lua
1 --
2 -- luatexja/otf.lua
3 --
4 luatexbase.provides_module({
5   name = 'luatexja.otf',
6   date = '2011/09/09',
7   version = '0.1',
8   description = 'The OTF Lua module for LuaTeX-ja',
9 })
10 module('luatexja.otf', package.seeall)
11
12 require('luatexja.base');      local ltjb = luatexja.base
13 require('luatexja.jfont');     local ltjf = luatexja.jfont
14
15 local attr_curjfnt = luatexbase.attributes['ltj@curjfnt']
16
17 function cid(key)
18    local curjfnt = fonts.ids[tex.attribute[attr_curjfnt]]
19    if curjfnt.cidinfo.ordering ~= "Japan1" then
20       ltjb.package_error('luatexja-otf',
21                          'Current Japanese font "'..curjfnt.psname..'" is not a CID-Keyed font (Adobe-Japan1)', 
22                          'Select a CID-Keyed font using \jfont.')
23       return
24    end
25    local char = curjfnt.unicodes['Japan1.'..tostring(key)]
26    if not char then
27       ltjb.package_error('luatexja-otf',
28                          'Current Japanese font "'..curjfnt.psname..'" does not include the specified CID character ('..tostring(key)..')', 
29                          'Use a font including the specified CID character.')
30       return
31    end
32    tex.print("\\char"..tostring(char).."\\relax")
33 end
34
35 -------------------- all done
36 -- EOF