1if not modules then modules = { } end modules [ ' scrp-tib ' ] = {
2 version = 1 . 001 ,
3 comment = " companion to scrp-ini.mkiv " ,
4 author = " Hans Hagen, PRAGMA-ADE, Hasselt NL " ,
5 copyright = " PRAGMA ADE / ConTeXt Development Team " ,
6 license = " see context related readme files "
7}
8
9local nuts = nodes . nuts
10
11local getnext = nuts . getnext
12local getattr = nuts . getattr
13local ischar = nuts . ischar
14
15local getscriptstatus = scripts . getstatus
16
17local inserters = scripts . inserters
18local colors = scripts . colors
19
20local injectors = {
21 breaking_tsheg = inserters . space_after
22}
23
24colors . breaking_tsheg = " trace:1 "
25colors . nonbreaking_tsheg = " trace:2 "
26
27local function process ( head , first , last )
28 if first ~ = last then
29 local current = first
30 while current do
31 local char , id = ischar ( current )
32 if char then
33 local category = getscriptstatus ( current )
34 if category then
35 local injector = injectors [ category ]
36 if injector then
37 head , current = injector ( head , current )
38 end
39 end
40 end
41 if current = = last then
42 break
43 else
44 current = getnext ( current )
45 end
46 end
47 end
48end
49
50scripts . installmethod {
51 name = " tibetan " ,
52 injector = process ,
53 datasets = {
54 default = {
55 inter_character_space_factor = 1 ,
56 inter_character_stretch_factor = 1 ,
57 inter_character_shrink_factor = 1 ,
58 } ,
59 half = {
60 inter_character_space_factor = 0 . 5 ,
61 inter_character_stretch_factor = 0 . 5 ,
62 inter_character_shrink_factor = 0 . 5 ,
63 } ,
64 quarter = {
65 inter_character_space_factor = 0 . 25 ,
66 inter_character_stretch_factor = 0 . 25 ,
67 inter_character_shrink_factor = 0 . 25 ,
68 } ,
69 } ,
70}
71 |