summaryrefslogtreecommitdiff
path: root/tex/context/base/unic-032.tex
blob: 4df855813690ab24991dc5c72d7db8cfb5ecdb34 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
%D \module
%D   [       file=unic-032,
%D        version=2002.12.03,
%D          title=\CONTEXT\ \UNICODE\ Macros,
%D       subtitle=Vector 32,
%D         author=Hans Hagen,
%D           date=\currentdate,
%D      copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.

\unprotect

% \startunicodevector 32
%   \ifcase\numexpr(#1-19)
%     endash\or
%     emdash\or
%     \@@unknownchar\or
%     \@@unknownchar\or
%     \@@unknownchar\or
%     quoteleft\or
%     quoteright\or
%     quotesinglebase\or
%     \@@unknownchar\or
%     quotedblleft\or
%     quotedblright\or
%     quotedblbase\or
%     \@@unknownchar\or
%     textdag\or
%     textddag\or
%     textbullet\or
%     \@@unknownchar\or
%     \@@unknownchar\or
%     \@@unknownchar\or
%     textellipsis\else
%   \ifcase\numexpr(#1-48)
%     perthousand\else
%   \ifcase\numexpr(#1-57)
%     \@@unknownchar\or   % SINGLE LEFT-POINTING ANGLE QUOTATION MARK
%     \@@unknownchar\else % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
%   \ifcase\numexpr(#1-172)
%     texteuro\else
%     \@@unknownchar
%   \fi\fi\fi\fi
% \stopunicodevector

%D More efficient:

% U+2001 	EM QUAD
% U+2002 	EN SPACE
% U+2003 	EM SPACE
% U+2004 	THREE-PER-EM SPACE
% U+2005 	FOUR-PER-EM SPACE
% U+2006 	SIX-PER-EM SPACE
% U+2007 	FIGURE SPACE
% U+2008 	PUNCTUATION SPACE
% U+2009 	THIN SPACE
% U+200A 	HAIR SPACE
% U+200B 	ZERO WIDTH SPACE
% U+200C 	ZERO WIDTH NON-JOINER
% U+200D 	ZERO WIDTH JOINER
% U+200E 	LEFT-TO-RIGHT MARK
% U+200F 	RIGHT-TO-LEFT MARK
% U+2010 	HYPHEN
% U+2011 	NON-BREAKING HYPHEN
% U+2012 	FIGURE DASH
% U+2013 	EN DASH
% U+2014 	EM DASH
% U+2015 	HORIZONTAL BAR
% U+2016 	DOUBLE VERTICAL LINE
% U+2017 	DOUBLE LOW LINE
% U+2018 	LEFT SINGLE QUOTATION MARK
% U+2019 	RIGHT SINGLE QUOTATION MARK
% U+201A 	SINGLE LOW-9 QUOTATION MARK
% U+201B 	SINGLE HIGH-REVERSED-9 QUOTATION MARK
% U+201C 	LEFT DOUBLE QUOTATION MARK
% U+201D 	RIGHT DOUBLE QUOTATION MARK
% U+201E 	DOUBLE LOW-9 QUOTATION MARK
% U+201F 	DOUBLE HIGH-REVERSED-9 QUOTATION MARK
% U+2020 	DAGGER
% U+2021 	DOUBLE DAGGER
% U+2022 	BULLET
% U+2023 	TRIANGULAR BULLET
% U+2024 	ONE DOT LEADER
% U+2025 	TWO DOT LEADER
% U+2026 	HORIZONTAL ELLIPSIS
% U+2027 	HYPHENATION POINT
% U+2028 	LINE SEPARATOR
% U+2029 	PARAGRAPH SEPARATOR
% U+202A 	LEFT-TO-RIGHT EMBEDDING
% U+202B 	RIGHT-TO-LEFT EMBEDDING
% U+202C 	POP DIRECTIONAL FORMATTING
% U+202D 	LEFT-TO-RIGHT OVERRIDE
% U+202E 	RIGHT-TO-LEFT OVERRIDE
% U+202F 	NARROW NO-BREAK SPACE
% U+2030 	PER MILLE SIGN
% U+2031 	PER TEN THOUSAND SIGN
% U+2032 	PRIME
% U+2033 	DOUBLE PRIME
% U+2034 	TRIPLE PRIME
% U+2035 	REVERSED PRIME
% U+2036 	REVERSED DOUBLE PRIME
% U+2037 	REVERSED TRIPLE PRIME
% U+2038 	CARET
% U+2039 	SINGLE LEFT-POINTING ANGLE QUOTATION MARK
% U+203A 	SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
% U+203B 	REFERENCE MARK
% U+203C 	DOUBLE EXCLAMATION MARK
% U+203D 	INTERROBANG
% U+203E 	OVERLINE
% U+203F 	UNDERTIE
% U+2040 	CHARACTER TIE
% U+2041 	CARET INSERTION POINT
% U+2042 	ASTERISM
% U+2043 	HYPHEN BULLET
% U+2044 	FRACTION SLASH
% U+2045 	LEFT SQUARE BRACKET WITH QUILL
% U+2046 	RIGHT SQUARE BRACKET WITH QUILL
% U+2047 	DOUBLE QUESTION MARK
% U+2048 	QUESTION EXCLAMATION MARK
% U+2049 	EXCLAMATION QUESTION MARK
% U+204A 	TIRONIAN SIGN ET
% U+204B 	REVERSED PILCROW SIGN
% U+204C 	BLACK LEFTWARDS BULLET
% U+204D 	BLACK RIGHTWARDS BULLET
% U+204E 	LOW ASTERISK
% U+204F 	REVERSED SEMICOLON
% U+2050 	CLOSE UP
% U+2051 	TWO ASTERISKS ALIGNED VERTICALLY
% U+2052 	COMMERCIAL MINUS SIGN
% U+2053 	SWUNG DASH
% U+2054 	INVERTED UNDERTIE
% U+2057 	QUADRUPLE PRIME
% U+205F 	MEDIUM MATHEMATICAL SPACE
% U+2060 	WORD JOINER
% U+2061 	FUNCTION APPLICATION
% U+2062 	INVISIBLE TIMES
% U+2063 	INVISIBLE SEPARATOR
% U+206A 	INHIBIT SYMMETRIC SWAPPING
% U+206B 	ACTIVATE SYMMETRIC SWAPPING
% U+206C 	INHIBIT ARABIC FORM SHAPING
% U+206D 	ACTIVATE ARABIC FORM SHAPING
% U+206E 	NATIONAL DIGIT SHAPES
% U+206F 	NOMINAL DIGIT SHAPES

\ifx\undefined\zerowidthspace \unexpanded\def\zerowidthspace{\kern\zeropoint} \fi

% will be made more efficient

\startunicodevector 32
  \ifcase\numexpr(#1)
    \strippedcsname \enspace          \or % U+2000  	EN QUAD
    \strippedcsname \emspace          \or % U+2001 	EM QUAD
    \strippedcsname \enspace          \or % U+2002 	EN SPACE
    \strippedcsname \emspace          \or % U+2003 	EM SPACE
    \strippedcsname \unknownchar      \or % U+2004 	THREE-PER-EM SPACE
    \strippedcsname \unknownchar      \or % U+2005 	FOUR-PER-EM SPACE
    \strippedcsname \unknownchar      \or % U+2006 	SIX-PER-EM SPACE
    \strippedcsname \unknownchar      \or % U+2007 	FIGURE SPACE
    \strippedcsname \unknownchar      \or % U+2008 	PUNCTUATION SPACE
    \strippedcsname \unknownchar      \or % U+2009 	THIN SPACE
    \strippedcsname \unknownchar      \or % U+200A 	HAIR SPACE
    \strippedcsname \zerowidthspace   \or % U+200B 	ZERO WIDTH SPACE
    \strippedcsname \unknownchar      \or % U+200C 	ZERO WIDTH NON-JOINER
    \strippedcsname \unknownchar      \or % U+200D 	ZERO WIDTH JOINER
    \strippedcsname \unknownchar      \or % U+200E 	LEFT-TO-RIGHT MARK
    \strippedcsname \unknownchar      \or % U+200F 	RIGHT-TO-LEFT MARK
    \strippedcsname \breakinghyphen   \or % U+2010 	HYPHEN
    \strippedcsname \nonbreakinghyphen\or % U+2011 	NON-BREAKING HYPHEN
    \strippedcsname \textminus        \or % U+2012 	FIGURE DASH
    \strippedcsname \endash           \or % U+2013 	EN DASH
    \strippedcsname \emdash           \or % U+2014 	EM DASH
    \strippedcsname \unknownchar      \or % U+2015 	HORIZONTAL BAR
    \strippedcsname \unknownchar      \or % U+2016 	DOUBLE VERTICAL LINE
    \strippedcsname \unknownchar      \or % U+2017 	DOUBLE LOW LINE
    \strippedcsname \quoteleft        \or
    \strippedcsname \quoteright       \or
    \strippedcsname \quotesinglebase  \or
    \strippedcsname \unknownchar      \or
    \strippedcsname \quotedblleft     \or
    \strippedcsname \quotedblright    \or
    \strippedcsname \quotedblbase     \or
    \strippedcsname \unknownchar      \or
    \strippedcsname \textdag          \or
    \strippedcsname \textddag         \or
    \strippedcsname \textbullet       \or
    \strippedcsname \unknownchar      \or
    \strippedcsname \unknownchar      \or
    \strippedcsname \unknownchar      \or
    \strippedcsname \textellipsis     \else
  \ifcase\numexpr(#1-48)
    \strippedcsname \perthousand      \or   % U+2030 PER MILLE SIGN
    \strippedcsname \unknownchar      \or   % U+2031 PER TEN THOUSAND SIGN
    \strippedcsname \prime            \or   % U+2032 PRIME
    \strippedcsname \doubleprime      \or   % U+2033 DOUBLE PRIME
    \strippedcsname \tripleprime      \else % U+2034 TRIPLE PRIME
  \ifcase\numexpr(#1-57)
    \strippedcsname \guilsingleleft   \or   % SINGLE LEFT-POINTING ANGLE QUOTATION MARK
    \strippedcsname \guilsingleright  \else % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
  \ifcase\numexpr(#1-172)
    \strippedcsname \texteuro         \else
    \strippedcsname \unknownchar
  \fi\fi\fi\fi
\stopunicodevector

\protect \endinput