blob: 0124b302361dce542bd2a531798f495a22f59e80 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
%D \module
%D [ file=s-regimes-list, % was: s-reg-01
%D version=2005.04.25,
%D title=\CONTEXT\ Style File,
%D subtitle=Extra Regime Support,
%D author=Hans Hagen,
%D date=\currentdate,
%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
%D \macros
%D {showregime}
%D
%D This code is moved from the kernel to here.
\startmodule[regimes-list]
\startluacode
moduledata.regimes = moduledata.regimes or { }
moduledata.regimes.charts = moduledata.regimes.charts or { }
local byte = string.byte
function moduledata.regimes.charts.show(regime)
if regime and regime ~= "" then
local r = regimes.mapping[regime]
if r then
local chardata = characters.data
context.starttabulate { "|rT|rT|rT|cT|lT|lT|pT|" }
for k, v in table.sortedhash(r) do
local chr = chardata[v]
local num = byte(k)
local uni = utf.byte(v)
if chr then
context.NC() context(num)
context.NC() context("0x%02X",num)
context.NC() context("%U",uni)
context.NC() context.char(uni)
context.NC() context(chr.contextname)
context.NC() context(chr.category)
context.NC() context(chr.description)
context.NC() context.NR()
else
-- can't happen
end
end
context.stoptabulate()
else
context("unknown regime %s",regime)
end
else
context("available regimes: %, t",regimes.list())
end
end
\stopluacode
\installmodulecommandluasingle \showregime {moduledata.regimes.charts.show}
\stopmodule
\continueifinputfile{s-regimes-list.mkiv}
\usemodule[art-01]
\starttext
\showregime[8859-1]
\stoptext
|