-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmaerasem-avaz.sty
446 lines (442 loc) · 17.1 KB
/
maerasem-avaz.sty
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
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
%
% (c) Zachari Khayati Darian
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{maerasem-avaz}
\RequirePackage{fontspec,setspace,stackengine,varwidth,luacode,luatexbase,maerasem-common}
\providecommand\DefaultHxosText{Ἦχος}
\providecommand\HxosTextHook{\greekfont}
\providecommand\hxos[4][\DefaultHxosText]{{\ignorespaces
\let\naefaes\empty\ruh\ignorespaces
\let\NeumeFontScaleFactor\NeumeFontScaleFactorHxos\NeumeAutoResize\ignorespaces
{\HxosTextHook\ignorespaces #1}{ }
{\neume\ignorespaces #2}{ }
{\HxosTextHook\ignorespaces #3}{ }
{\neume\ignorespaces #4}\ignorespaces
}}
\providecommand\smallhxos[4][\DefaultHxosText]{{
\setlength\parskip{0.5\parskip}
\let\helper\nhelper\decree{\hxos[#1]{#2}{#3}{#4}}
}}
\newlength\NeumeAlignment
\newlength\NeumePadding
\newlength\NeumeTextPadding
\newlength\NeumeComboPadding
\providecommand\NeumeFontScaleFactor{5}
\providecommand\NeumeFontScaleFactorHxos{2.6}
\providecommand\NeumeFontScaleFactorInline{2.4}
\providecommand\NeumeAlignmentScaleFactor{-0.2}
\providecommand\NeumePaddingScaleFactor{0}
\providecommand\NeumeTextPaddingScaleFactor{0}
\providecommand\NeumeComboPaddingScaleFactor{0}
\providecommand\NeumeDropcapScaleFactor{5.5}
\providecommand\NeumeAutoResize{
\unskip\maerasem@capturecurrentfontsize
\unskip\setlength\NeumeFontSize {\NeumeFontScaleFactor\maerasem@currfontsize}
\unskip\setlength\NeumeAlignment {\NeumeAlignmentScaleFactor\maerasem@currfontsize}
\unskip\setlength\NeumePadding {\NeumePaddingScaleFactor\maerasem@currfontsize}
\unskip\setlength\NeumeTextPadding {\NeumeTextPaddingScaleFactor\maerasem@currfontsize}
\unskip\setlength\NeumeComboPadding{\NeumeComboPaddingScaleFactor\maerasem@currfontsize}
\unskip\ignorespaces
}
\providecommand\NeumeDropFontHook{}
\providecommand\neumedropcommand[1]{{\leavevmode
\unskip\NeumeAutoResize
\unskip\ruh\NeumeDropFontHook\fontsize{\NeumeDropcapScaleFactor\maerasem@currfontsize}
{\NeumeDropcapScaleFactor\maerasem@currfontsize}\selectfont\ignorespaces #1 \unskip\hspace{-\NeumeAlignment}\ignorespaces
}}
\providecommand\dropmpair[2][]{{\leavevmode
\unskip\storefirstletter #1
\unskip\neumedropcommand{\firstletter}
\unskip\musicpair[\DropWordHook\firstletterremainder]{\ignorespaces #2 \unskip}\ignorespaces
}}
\providecommand\DropWordHook{}
\providecommand\ULmuspair[2][]{\musicpair[#1\_]{#2}}
\newfontface\NeumeFont{SERAFIM+} % https://psaltiki.info
\newlength\NeumeFontSize
\newlength\tmpStackFontSize
\NeumeAutoResize
\providecommand\musicpair[2][]{
\unskip\renewcommand\stackalignment{c}
\unskip\renewcommand\stacktype{L}
\unskip\stackon{\strut\hspace{0.5\NeumeTextPadding}
\unskip\ignorespaces #1 \unskip\hspace{0.5\NeumeTextPadding}}{
\unskip{\neume\strut\hspace{\NeumeAlignment}\hspace{0.5\NeumePadding}
\unskip\ignorespaces #2 \unskip\hspace{-\NeumeAlignment}\hspace{0.5\NeumePadding}}\ignorespaces
}\hspace{\NeumeComboPadding}{ }\ignorespaces
}
\providecommand\annotate[2]{
\unskip\renewcommand\stacktype{S}
\unskip\renewcommand\stackalignment{l}
\unskip\setlength\tmpStackFontSize{\f@size pt}
\unskip\stackon{\ignorespaces #1 \unskip}{
\unskip\fontsize{0.5\tmpStackFontSize}{0.5\tmpStackFontSize}\selectfont
\unskip\begin{varwidth}[t][5ex][t]{\textwidth}
\unskip\ \\*[-2ex]
\unskip\ruh{\ignorespaces #2 \unskip}
\unskip\end{varwidth}\ignorespaces
}\ignorespaces
}
\providecommand\IsokratimaHook{\ruh}
\newenvironment{byzmacros}{
\unskip\def\daseia{𝀁}
\unskip\def\perispomeni{𝀂}
\unskip\def\oxeiaekfonitikon{𝀃}
\unskip\def\oxeiadipli{𝀄}
\unskip\def\vareiaekfonitikon{𝀅}
\unskip\def\vareiadipli{𝀆}
\unskip\def\kathisti{𝀇}
\unskip\def\syrmatiki{𝀈}
\unskip\def\paraklitiki{𝀉}
\unskip\def\ypokrisis{𝀊}
\unskip\def\ypokrisisdipli{𝀋}
\unskip\def\kremasti{𝀌}
\unskip\def\apesoekfonitikon{𝀍}
\unskip\def\exoekfonitikon{𝀎}
\unskip\def\teleia{𝀏}
\unskip\def\kntaek{𝀐}
\unskip\def\apostrofos{𝀑}
\unskip\def\apostrofosdipli{𝀒}
\unskip\def\synevma{𝀓}
\unskip\def\thita{𝀔}
\unskip\def\oligarchaion{𝀕}
\unskip\def\gorgonarchaion{𝀖}
\unskip\def\psilon{𝀗}
\unskip\def\chamilon{𝀘}
\unskip\def\vathy{𝀙}
\unskip\def\isarchaion{𝀚}
\unskip\def\knarchaion{𝀛}
\unskip\def\kntaekarchaion{𝀜}
\unskip\def\saximata{𝀝}
\unskip\def\parichon{𝀞}
\unskip\def\stavrosapodexia{𝀟}
\unskip\def\oxeiaarchaion{𝀠}
\unskip\def\vareiaiarchaion{𝀡}
\unskip\def\apodermaarchaion{𝀢}
\unskip\def\apothema{𝀣}
\unskip\def\klasma{𝀤}
\unskip\def\revma{𝀥}
\unskip\def\piasmaarchaion{𝀦}
\unskip\def\tinagma{𝀧}
\unskip\def\anatrichisma{𝀨}
\unskip\def\seisma{𝀩}
\unskip\def\synagmaarchaion{𝀪}
\unskip\def\synagmametastavrou{𝀫}
\unskip\def\oyranismaarchaion{𝀬}
\unskip\def\thema{𝀭}
\unskip\def\lemoi{𝀮}
\unskip\def\dyo{𝀯}
\unskip\def\tria{𝀰}
\unskip\def\tessera{𝀱}
\unskip\def\kratimata{𝀲}
\unskip\def\apesoexoneo{𝀳}
\unskip\def\fthoraarchaion{𝀴}
\unskip\def\imifthora{𝀵}
\unskip\def\tromikonarchaion{𝀶}
\unskip\def\katavatromikon{𝀷}
\unskip\def\pelaston{𝀸}
\unskip\def\psifistonar{𝀹}
\unskip\def\kontevma{𝀺}
\unskip\def\chorevmaarchaion{𝀻}
\unskip\def\rapisma{𝀼}
\unskip\def\parakalesmaarchaion{𝀽}
\unskip\def\paraklitikiarchaion{𝀾}
\unskip\def\ichadin{𝀿}
\unskip\def\nana{𝁀}
\unskip\def\petasma{𝁁}
\unskip\def\kontevmaallo{𝁂}
\unskip\def\tromikonallo{𝁃}
\unskip\def\straggismata{𝁄}
\unskip\def\gronthismata{𝁅}
\unskip\def\is{𝁆}
\unskip\def\olig{𝁇}
\unskip\def\oksia{𝁈}
\unskip\def\pet{𝁉}
\unskip\def\koufisma{𝁊}
\unskip\def\petastokoufisma{𝁋}
\unskip\def\kratimokoufisma{𝁌}
\unskip\def\pelastonneo{𝁍}
\unskip\def\ypsiliaristera{𝁎}
\unskip\def\ypsilimeso{𝁏}
\unskip\def\ypsili{𝁐}
\unskip\def\apo{𝁑}
\unskip\def\apostrofoisyndesmosneo{𝁒}
\unskip\def\yp{𝁓}
\unskip\def\kratimoyporroon{𝁔}
\unskip\def\el{𝁕}
\unskip\def\xa{𝁖}
\unskip\def\mikronis{𝁗}
\unskip\def\var{𝁘}
\unskip\def\piasmaneo{𝁙}
\unskip\def\psifiston{𝁚}
\unskip\def\omalon{𝁛}
\unskip\def\antikenoma{𝁜}
\unskip\def\lygisma{𝁝}
\unskip\def\paraklitikineo{𝁞}
\unskip\def\parakalesmaneo{𝁟}
\unskip\def\eteron{𝁠}
\unskip\def\kylisma{𝁡}
\unskip\def\antikenokylisma{𝁢}
\unskip\def\tromikonneo{𝁣}
\unskip\def\ekstrepton{𝁤}
\unskip\def\synagmaneo{𝁥}
\unskip\def\syrma{𝁦}
\unskip\def\chorevmaneo{𝁧}
\unskip\def\epegerma{𝁨}
\unskip\def\seismaneo{𝁩}
\unskip\def\xironklasma{𝁪}
\unskip\def\tromikopsifiston{𝁫}
\unskip\def\psifistolygisma{𝁬}
\unskip\def\tromikolygisma{𝁭}
\unskip\def\tromikoparakalesma{𝁮}
\unskip\def\psifistoparakalesma{𝁯}
\unskip\def\tromikosynagma{𝁰}
\unskip\def\psifistosynagma{𝁱}
\unskip\def\gorgosyntheton{𝁲}
\unskip\def\argosyntheton{𝁳}
\unskip\def\eteronargosyntheton{𝁴}
\unskip\def\oyranismaneo{𝁵}
\unskip\def\thematismaseso{𝁶}
\unskip\def\thematismosexo{𝁷}
\unskip\def\themaaploun{𝁸}
\unskip\def\theskaiapothes{𝁹}
\unskip\def\katavasma{𝁺}
\unskip\def\endofonon{𝁻}
\unskip\def\yfenkato{𝁼}
\unskip\def\yfenano{𝁽}
\unskip\def\stavros{𝁾}
\unskip\def\klasmaano{𝁿}
\unskip\def\dipliar{𝂀}
\unskip\def\kratimaarchaion{𝂁}
\unskip\def\kratimaallo{𝂂}
\unskip\def\kratimaneo{𝂃}
\unskip\def\apodermaneo{𝂄}
\unskip\def\apli{𝂅}
\unskip\def\dipli{𝂆}
\unskip\def\tripli{𝂇}
\unskip\def\tetrapli{𝂈}
\unskip\def\koronisbyz{𝂉}
\unskip\def\leimmaenoschronou{𝂊}
\unskip\def\leimmadyochronon{𝂋}
\unskip\def\leimmatrionchronon{𝂌}
\unskip\def\leimmatessaronchronon{𝂍}
\unskip\def\leimmaimiseoschronou{𝂎}
\unskip\def\gorgon{{\naefaes 𝂏}}
\unskip\def\gorgonparestigmenonaristera{{\naefaes𝂐}}
\unskip\def\gorgonparestigmenondexia{{\naefaes𝂑}}
\unskip\def\digorgon{{\naefaes 𝂒}}
\unskip\def\digorgparestigmaristerkato{{\naefaes𝂓}}
\unskip\def\digorgparestigmaristerano{{\naefaes𝂔}}
\unskip\def\digorgonparestigmenondexia{{\naefaes𝂕}}
\unskip\def\trigorgon{{\naefaes 𝂖}}
\unskip\def\argon{{\naefaes𝂗}}
\unskip\def\imidiargon{{\naefaes𝂘}}
\unskip\def\diargon{{\naefaes𝂙}}
\unskip\def\agogipoliargi{{\naefaes𝂚}}
\unskip\def\agogiargoteri{{\naefaes𝂛}}
\unskip\def\agogiargi{{\naefaes𝂜}}
\unskip\def\agogimetria{{\naefaes𝂝}}
\unskip\def\anooksia{{\naefaes𝂞}}
\unskip\def\agogigorgi{{\naefaes𝂟}}
\unskip\def\agogigorgoteri{{\naefaes𝂠}}
\unskip\def\agogipoligorgi{{\naefaes𝂡}}
\unskip\def\mpa{{\naefaes 𝂢}}
\unskip\def\mp{{\naefaes 𝂣}}
\unskip\def\mda{{\naefaes 𝂤}}
\unskip\def\mdb{{\naefaes 𝂥}}
\unskip\def\mt{{\naefaes 𝂦}}
\unskip\def\mtri{{\naefaes 𝂧}}
\unskip\def\mtet{{\naefaes 𝂨}}
\unskip\def\mleg{{\naefaes 𝂩}}
\unskip\def\mlegetos{{\naefaes 𝂪}}
\unskip\def\mpl{{\naefaes 𝂫}}
\unskip\def\istelichi{{\naefaes 𝂬}}
\unskip\def\mapos{{\naefaes 𝂭}}
\unskip\def\fantetra{{\naefaes 𝂮}}
\unskip\def\fanmono{{\naefaes 𝂯}}
\unskip\def\fandifon{{\naefaes 𝂰}}
\unskip\def\mvar{{\naefaes 𝂱}}
\unskip\def\mprotovarys{{\naefaes 𝂲}}
\unskip\def\mpltet{{\naefaes 𝂳}}
\unskip\def\moda{𝂴}
\unskip\def\modb{𝂵}
\unskip\def\fb{{\naefaes 𝂶}}
\unskip\def\imifonon{{\naefaes 𝂷}}
\unskip\def\imifthoron{{\naefaes 𝂸}}
\unskip\def\fda{{\naefaes 𝂹}}
\unskip\def\fp{{\naefaes 𝂺}}
\unskip\def\fg{{\naefaes 𝂻}}
\unskip\def\naos{{\naefaes 𝂼}}
\unskip\def\fd{{\naefaes 𝂽}}
\unskip\def\ms{{\naefaes 𝂾}}
\unskip\def\fk{{\naefaes 𝂿}}
\unskip\def\fz{{\naefaes 𝃀}}
\unskip\def\fn{{\naefaes 𝃁}}
\unskip\def\fna{{\naefaes 𝃂}}
\unskip\def\fm{{\naefaes 𝃃}}
\unskip\def\mm{{\naefaes 𝃄}}
\unskip\def\fs{{\naefaes 𝃅}}
\unskip\def\fmk{{\naefaes 𝃆}}
\unskip\def\fnenano{{\naefaes 𝃇}}
\unskip\def\chrzygos{{\naefaes 𝃈}}
\unskip\def\chrkliton{{\naefaes 𝃉}}
\unskip\def\chrspathi{{\naefaes 𝃊}}
\unskip\def\fen{{\naefaes 𝃋}}
\unskip\def\fenantifonia{{\naefaes 𝃌}}
\unskip\def\omalonapo{𝃍}
\unskip\def\omalonol{𝃎}
\unskip\def\omalonkn{𝃏}
\unskip\def\d{{\naefaes 𝃐}}
\unskip\def\dd{{\naefaes 𝃑}}
\unskip\def\ddd{{\naefaes 𝃒}}
\unskip\def\dddd{{\naefaes 𝃓}}
\unskip\def\y{{\naefaes 𝃔}}
\unskip\def\yy{{\naefaes 𝃕}}
\unskip\def\yyy{{\naefaes 𝃖}}
\unskip\def\yyyy{{\naefaes 𝃗}}
\unskip\def\genikidiesis{{\naefaes 𝃘}}
\unskip\def\genikiyfesis{{\naefaes 𝃙}}
\unskip\def\diastolimikri{{\naefaes 𝃚}}
\unskip\def\diastoli{{\naefaes 𝃛}}
\unskip\def\diastolidipli{{\naefaes 𝃜}}
\unskip\def\diastolitheseos{{\naefaes 𝃝}}
\unskip\def\ism{{\IsokratimaHook𝃞}}
\unskip\def\isd{{\IsokratimaHook𝃟}}
\unskip\def\isk{{\IsokratimaHook𝃠}}
\unskip\def\isz{{\IsokratimaHook𝃡}}
\unskip\def\isn{{\IsokratimaHook𝃢}}
\unskip\def\isp{{\IsokratimaHook𝃣}}
\unskip\def\isB{{\IsokratimaHook𝃤}}
\unskip\def\isG{{\IsokratimaHook𝃥}}
\unskip\def\isD{{\IsokratimaHook𝃦}}
\unskip\def\isK{{\IsokratimaHook𝃧}}
\unskip\def\isZ{{\IsokratimaHook𝃨}}
\unskip\def\apa{{\naefaes 𝃩}}
\unskip\def\avu{{\naefaes 𝃪}}
\unskip\def\aga{{\naefaes 𝃫}}
\unskip\def\adi{{\naefaes 𝃬}}
\unskip\def\ake{{\naefaes 𝃭}}
\unskip\def\azo{{\naefaes 𝃮}}
\unskip\def\ani{{\naefaes 𝃯}}
\unskip\def\knta{𝃰}
\unskip\def\kn{𝃱}
\unskip\def\kntakato{𝃲}
\unskip\def\knkato{𝃳}
\unskip\def\klasmakato{𝃴}
\unskip\def\gorgonkato{𝃵}
\unskip\def\zwj{}
\unskip\def\wj{}
\unskip\def\zwsp{}
\unskip\ignorespaces
}{}
\newenvironment{troparion}{}{}
\newenvironment{neume}{
\unskip\fontsize{\NeumeFontSize}{\NeumeFontSize}\NeumeFont
\unskip\byzmacros\ignorespaces
}{\unskip\ignorespaces}
%% Lua-side code
\begin{luacode}
function NeumeParseUnicode ( line )
line = string.gsub ( line , "𝂏", "\\gorgon" )
line = string.gsub ( line , "𝂐", "\\gorgonparestigmenonaristera" )
line = string.gsub ( line , "𝂑", "\\gorgonparestigmenondexia" )
line = string.gsub ( line , "𝂒", "\\digorgon" )
line = string.gsub ( line , "𝂓", "\\digorgparestigmaristerkato" )
line = string.gsub ( line , "𝂔", "\\digorgparestigmaristerano" )
line = string.gsub ( line , "𝂕", "\\digorgonparestigmenondexia" )
line = string.gsub ( line , "𝂖", "\\trigorgon" )
line = string.gsub ( line , "𝂗", "\\argon" )
line = string.gsub ( line , "𝂘", "\\imidiargon" )
line = string.gsub ( line , "𝂙", "\\diargon" )
line = string.gsub ( line , "𝂚", "\\agogipoliargi" )
line = string.gsub ( line , "𝂛", "\\agogiargoteri" )
line = string.gsub ( line , "𝂜", "\\agogiargi" )
line = string.gsub ( line , "𝂝", "\\agogimetria" )
line = string.gsub ( line , "𝂞", "\\anooksia" )
line = string.gsub ( line , "𝂟", "\\agogigorgi" )
line = string.gsub ( line , "𝂠", "\\agogigorgoteri" )
line = string.gsub ( line , "𝂡", "\\agogipoligorgi" )
line = string.gsub ( line , "𝂢", "\\mpa" )
line = string.gsub ( line , "𝂣", "\\mp" )
line = string.gsub ( line , "𝂤", "\\mda" )
line = string.gsub ( line , "𝂥", "\\mdb" )
line = string.gsub ( line , "𝂦", "\\mt" )
line = string.gsub ( line , "𝂧", "\\mtri" )
line = string.gsub ( line , "𝂨", "\\mtet" )
line = string.gsub ( line , "𝂩", "\\mleg" )
line = string.gsub ( line , "𝂪", "\\mlegetos" )
line = string.gsub ( line , "𝂫", "\\mpl" )
line = string.gsub ( line , "𝂬", "\\istelichi" )
line = string.gsub ( line , "𝂭", "\\mapos" )
line = string.gsub ( line , "𝂮", "\\fantetra" )
line = string.gsub ( line , "𝂯", "\\fanmono" )
line = string.gsub ( line , "𝂰", "\\fandifon" )
line = string.gsub ( line , "𝂱", "\\mvar" )
line = string.gsub ( line , "𝂲", "\\mprotovarys" )
line = string.gsub ( line , "𝂳", "\\mpltet" )
line = string.gsub ( line , "𝂶", "\\fb" )
line = string.gsub ( line , "𝂷", "\\imifonon" )
line = string.gsub ( line , "𝂸", "\\imifthoron" )
line = string.gsub ( line , "𝂹", "\\fda" )
line = string.gsub ( line , "𝂺", "\\fp" )
line = string.gsub ( line , "𝂻", "\\fg" )
line = string.gsub ( line , "𝂼", "\\naos" )
line = string.gsub ( line , "𝂽", "\\fd" )
line = string.gsub ( line , "𝂾", "\\ms" )
line = string.gsub ( line , "𝂿", "\\fk" )
line = string.gsub ( line , "𝃀", "\\fz" )
line = string.gsub ( line , "𝃁", "\\fn" )
line = string.gsub ( line , "𝃂", "\\fna" )
line = string.gsub ( line , "𝃃", "\\fm" )
line = string.gsub ( line , "𝃄", "\\mm" )
line = string.gsub ( line , "𝃅", "\\fs" )
line = string.gsub ( line , "𝃆", "\\fmk" )
line = string.gsub ( line , "𝃇", "\\fnenano" )
line = string.gsub ( line , "𝃈", "\\chrzygos" )
line = string.gsub ( line , "𝃉", "\\chrkliton" )
line = string.gsub ( line , "𝃊", "\\chrspathi" )
line = string.gsub ( line , "𝃋", "\\fen" )
line = string.gsub ( line , "𝃌", "\\fenantifonia" )
line = string.gsub ( line , "𝃐", "\\d" )
line = string.gsub ( line , "𝃑", "\\dd" )
line = string.gsub ( line , "𝃒", "\\ddd" )
line = string.gsub ( line , "𝃓", "\\dddd" )
line = string.gsub ( line , "𝃔", "\\y" )
line = string.gsub ( line , "𝃕", "\\yy" )
line = string.gsub ( line , "𝃖", "\\yyy" )
line = string.gsub ( line , "𝃗", "\\yyyy" )
line = string.gsub ( line , "𝃘", "\\genikidiesis" )
line = string.gsub ( line , "𝃙", "\\genikiyfesis" )
line = string.gsub ( line , "𝃚", "\\diastolimikri" )
line = string.gsub ( line , "𝃛", "\\diastoli" )
line = string.gsub ( line , "𝃜", "\\diastolidipli" )
line = string.gsub ( line , "𝃝", "\\diastolitheseos" )
line = string.gsub ( line , "𝃞", "\\ism" )
line = string.gsub ( line , "𝃟", "\\isd" )
line = string.gsub ( line , "𝃠", "\\isk" )
line = string.gsub ( line , "𝃡", "\\isz" )
line = string.gsub ( line , "𝃢", "\\isn" )
line = string.gsub ( line , "𝃣", "\\isp" )
line = string.gsub ( line , "𝃤", "\\isB" )
line = string.gsub ( line , "𝃥", "\\isG" )
line = string.gsub ( line , "𝃦", "\\isD" )
line = string.gsub ( line , "𝃧", "\\isK" )
line = string.gsub ( line , "𝃨", "\\isZ" )
line = string.gsub ( line , "𝃩", "\\apa" )
line = string.gsub ( line , "𝃪", "\\avu" )
line = string.gsub ( line , "𝃫", "\\aga" )
line = string.gsub ( line , "𝃬", "\\adi" )
line = string.gsub ( line , "𝃭", "\\ake" )
line = string.gsub ( line , "𝃮", "\\azo" )
line = string.gsub ( line , "𝃯", "\\ani" )
return ( line )
end
\end{luacode}
%% TeX-side code
\newenvironment{NeumeParseUnicode}{%
\directlua{luatexbase.add_to_callback(
"process_input_buffer",
NeumeParseUnicode, "NeumeParseUnicode")}}{%
\directlua{luatexbase.remove_from_callback(
"process_input_buffer",
"NeumeParseUnicode")}}