-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathoffsets.py
More file actions
83 lines (79 loc) · 2.19 KB
/
offsets.py
File metadata and controls
83 lines (79 loc) · 2.19 KB
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
75
76
77
78
79
80
81
82
83
# offsets.py
# =========================
# Offsets by CHARACTER(s)
# (letters, dx, dy)
# letters can be a string of 1+ characters; dx/dy apply to each character.
# dx < 0 = left, dy > 0 = up
# =========================
STYLES = {
"Regular": {
"in": "LibertinusSerif-Regular.otf",
"offsets": [
("ɴ", 30, 10),
("æ", -10, 0),
("ɶ", 150, 0),
("ɵ", 50, 0),
("ʉ", 50, 0),
# ("ʊ", -60, -100),
("ʏ", 50, 0),
],
},
"Italic": {
"in": "LibertinusSerif-Italic.otf",
"offsets": [
# has effect in output
("ɘ", 140, 0),
("ɪ", 140, 0),
("ɯ", 120, 0),
("ɲ", 120, 0),
("ŋ", 120, 0),
("ɳ", 120, 0),
("ɱ", 120, 0),
# testing
# ...
#complex issues
# ("M", 0, 0), # ` OK ̂ breve too low and too right
# ("N", 0, 0), ´~̄ and uncommon onesOK. ` ̂ breve too low and too right
# has no effect in output
# ("ʉ", 1120, 0),
# ("ʏ", 1120, 0),
# ("ø", 1120, 0),
# ("ɵ", 1120, 0),
# ("ɤ", 1120, 0),
# ("ʉ", 1120, 0),
# ("ɐ", 1120, 0),
# ("ɒ", 1120, 0),
# ("ɑ", 1120, 0),
# ("ɶ", 1120, 0),
# ("ɔ", 1120, 0),
# ("ʌ", 1120, 0),
# ("ɞ", 1120, 0),
# ("ɜ", 1120, 0),
# ("ɛ", 1120, 0),
# ("ɴ", -125, 100),
# ("ə", 140, 0),
# not needed
# euœæamnAEIOUYnɯiyɨ
],
},
"Semibold": {
"in": "LibertinusSerif-Semibold.otf",
"offsets": [
("M", 0, 300),
],
},
"SemiboldItalic": {
"in": "LibertinusSerif-SemiboldItalic.otf",
"offsets": [
# works
("M", 100, 0),
("ɔ", 100, 300),
# does not work
("ʌ", -200, 0),
("ɵ", -200, 0),
("ɶ", -200, 0),
("ʉ", -200, 0),
("ʊ", -200, 0),
],
},
}