• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sile-typesetter / sile / 10722271004

05 Sep 2024 02:19PM UTC coverage: 62.464% (+22.2%) from 40.279%
10722271004

push

github

alerque
chore(tooling): Update build-time error messages with current argument suggestion

10895 of 17442 relevant lines covered (62.46%)

5172.6 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/languages/ca.lua
1
SILE.nodeMakers.ca = pl.class({
×
2
   _base = SILE.nodeMakers.unicode,
3

4
   -- overridden properties from parent class
5
   quoteTypes = { qu = true }, -- split tokens at apostrophes &c.
6
})
7

8
SILE.hyphenator.languages["ca"] = {}
×
9

10
SILE.hyphenator.languages["ca"].hyphenateSegments = function (node, segments, j)
×
11
   -- punt volat (middle dot) cancels when hyphenated
12
   -- Catalan typists may use a punt volat or precomposed characters.
13
   -- The shaper might behave differently depending on the font, so we need to
14
   -- be consistent here with the typist's choice.
15
   local hyphenChar = SILE.settings:get("font.hyphenchar")
×
16
   local replacement, hyphen
17
   if luautf8.find(segments[j], "ŀ$") then -- U+0140
×
18
      segments[j] = luautf8.sub(segments[j], 1, -2)
×
19
      replacement = SILE.shaper:createNnodes("ŀ", node.options)
×
20
      hyphen = SILE.shaper:createNnodes("l" .. hyphenChar, node.options)
×
21
   elseif luautf8.find(segments[j], "Ŀ$") then -- U+013F
×
22
      segments[j] = luautf8.sub(segments[j], 1, -2)
×
23
      replacement = SILE.shaper:createNnodes("Ŀ", node.options)
×
24
      hyphen = SILE.shaper:createNnodes("L" .. hyphenChar, node.options)
×
25
   elseif luautf8.find(segments[j], "l·$") then -- l + U+00B7
×
26
      segments[j] = luautf8.sub(segments[j], 1, -3)
×
27
      replacement = SILE.shaper:createNnodes("l·", node.options)
×
28
      hyphen = SILE.shaper:createNnodes("l" .. hyphenChar, node.options)
×
29
   elseif luautf8.find(segments[j], "L·$") then -- L + U+00B7
×
30
      segments[j] = luautf8.sub(segments[j], 1, -3)
×
31
      replacement = SILE.shaper:createNnodes("L·", node.options)
×
32
      hyphen = SILE.shaper:createNnodes("L" .. hyphenChar, node.options)
×
33
   else
34
      hyphen = SILE.shaper:createNnodes(hyphenChar, node.options)
×
35
   end
36
   local discretionary = SILE.types.node.discretionary({ replacement = replacement, prebreak = hyphen })
×
37
   return discretionary, segments
×
38
end
39

40
-- typos: ignore start
41
SILE.hyphenator.languages["ca"].patterns = {
×
42
   --
43
   -- Attach vowel groups to left consonant
44
   "1ba",
45
   "1be",
46
   "1bi",
47
   "1bo",
48
   "1bu",
49
   "1ca",
50
   "1ce",
51
   "1ci",
52
   "1co",
53
   "1cu",
54
   "1da",
55
   "1de",
56
   "1di",
57
   "1do",
58
   "3du",
59
   "1fa",
60
   "1fe",
61
   "1fi",
62
   "1fo",
63
   "1fu",
64
   "1ga",
65
   "1ge",
66
   "1gi",
67
   "1go",
68
   "1gu",
69
   "1ha",
70
   "1he",
71
   "1hi",
72
   "1ho",
73
   "1hu",
74
   "1ja",
75
   "1je",
76
   "1ji",
77
   "1jo",
78
   "1ju",
79
   "1la",
80
   "1le",
81
   "1li",
82
   "1lo",
83
   "1lu",
84
   "1ma",
85
   "1me",
86
   "1mi",
87
   "1mo",
88
   "1mu",
89
   "1na",
90
   "1ne",
91
   "3ni",
92
   "1no",
93
   "1nu",
94
   "1pa",
95
   "3pe",
96
   "3pi",
97
   "3po",
98
   "1pu",
99
   "1qu",
100
   "1ra",
101
   "1re",
102
   "1ri",
103
   "1ro",
104
   "1ru",
105
   "1sa",
106
   "1se",
107
   "1si",
108
   "1so",
109
   "1su",
110
   "1ta",
111
   "1te",
112
   "1ti",
113
   "1to",
114
   "1tu",
115
   "1va",
116
   "1ve",
117
   "1vi",
118
   "1vo",
119
   "1vu",
120
   "1xa",
121
   "1xe",
122
   "1xi",
123
   "1xo",
124
   "1xu",
125
   "1za",
126
   "1ze",
127
   "1zi",
128
   "1zo",
129
   "1zu",
130
   "1bé",
131
   "1bí",
132
   "1bó",
133
   "1bú",
134
   "1bà",
135
   "1bè",
136
   "1bò",
137
   "1cé",
138
   "1cí",
139
   "1có",
140
   "1cú",
141
   "1cà",
142
   "1cè",
143
   "1cò",
144
   "1ço",
145
   "1ça",
146
   "1çu",
147
   "1çó",
148
   "1çú",
149
   "1çà",
150
   "1çò",
151
   "1dé",
152
   "1dí",
153
   "1dó",
154
   "1dú",
155
   "1dà",
156
   "1dè",
157
   "1dò",
158
   "1fé",
159
   "1fí",
160
   "1fó",
161
   "1fú",
162
   "1fà",
163
   "1fè",
164
   "1fò",
165
   "1gé",
166
   "1gí",
167
   "1gó",
168
   "1gú",
169
   "1gà",
170
   "1gè",
171
   "1gò",
172
   "1gü",
173
   "1hé",
174
   "1hí",
175
   "1hó",
176
   "1hú",
177
   "1hà",
178
   "1hè",
179
   "1hò",
180
   "1jé",
181
   "1jí",
182
   "1jó",
183
   "1jú",
184
   "1jà",
185
   "1jè",
186
   "1jò",
187
   "1lé",
188
   "1lí",
189
   "1ló",
190
   "1lú",
191
   "1là",
192
   "1lè",
193
   "1lò",
194
   "1mé",
195
   "1mí",
196
   "1mó",
197
   "1mú",
198
   "1mà",
199
   "1mè",
200
   "1mò",
201
   "1né",
202
   "1ní",
203
   "1nó",
204
   "1nú",
205
   "1nà",
206
   "1nè",
207
   "1nò",
208
   "1pé",
209
   "1pí",
210
   "1pó",
211
   "1pú",
212
   "1pà",
213
   "1pè",
214
   "1pò",
215
   "1qü",
216
   "1ré",
217
   "1rí",
218
   "1ró",
219
   "1rú",
220
   "1rà",
221
   "1rè",
222
   "1rò",
223
   "1sé",
224
   "1sí",
225
   "1só",
226
   "1sú",
227
   "1sà",
228
   "1sè",
229
   "1sò",
230
   "1té",
231
   "1tí",
232
   "1tó",
233
   "1tú",
234
   "1tà",
235
   "1tè",
236
   "1tò",
237
   "1vé",
238
   "1ví",
239
   "1vó",
240
   "1vú",
241
   "1và",
242
   "1vè",
243
   "1vò",
244
   "1xé",
245
   "1xí",
246
   "1xó",
247
   "1xú",
248
   "1xà",
249
   "1xè",
250
   "1xò",
251
   "1zé",
252
   "1zí",
253
   "1zó",
254
   "1zú",
255
   "1zà",
256
   "1zè",
257
   "1zò",
258
   --
259
   -- Build legal consonant groups, leave other consonants bound to
260
   -- the previous group. This overrides part of the previous pattern
261
   -- group.
262
   "3l2la",
263
   "1l2le",
264
   "1l2li",
265
   "3l2lo",
266
   "1l2lu",
267
   "1b2la",
268
   "1b2le",
269
   "1b2li",
270
   "1b2lo",
271
   "1b2lu",
272
   "1b2ra",
273
   "1b2re",
274
   "1b2ri",
275
   "1b2ro",
276
   "1b2ru",
277
   "1c2la",
278
   "1c2le",
279
   "1c2li",
280
   "1c2lo",
281
   "1c2lu",
282
   "1c2ra",
283
   "1c2re",
284
   "1c2ri",
285
   "1c2ro",
286
   "1c2ru",
287
   "1d2ra",
288
   "1d2re",
289
   "1d2ri",
290
   "1d2ro",
291
   "1d2ru",
292
   "1f2la",
293
   "1f2le",
294
   "1f2li",
295
   "1f2lo",
296
   "1f2lu",
297
   "1f2ra",
298
   "1f2re",
299
   "1f2ri",
300
   "1f2ro",
301
   "1f2ru",
302
   "1g2la",
303
   "1g2le",
304
   "1g2li",
305
   "1g2lo",
306
   "1g2lu",
307
   "1g2ra",
308
   "1g2re",
309
   "1g2ri",
310
   "1g2ro",
311
   "1g2ru",
312
   "1p2la",
313
   "1p2le",
314
   "1p2li",
315
   "1p2lo",
316
   "1p2lu",
317
   "1p2ra",
318
   "1p2re",
319
   "1p2ri",
320
   "1p2ro",
321
   "1p2ru",
322
   "1t2ra",
323
   "1t2re",
324
   "1t2ri",
325
   "1t2ro",
326
   "1t2ru",
327
   "1n2ya",
328
   "1n2ye",
329
   "1n2yi",
330
   "1n2yo",
331
   "1n2yu",
332
   "1l2lé",
333
   "1l2lí",
334
   "1l2ló",
335
   "1l2lú",
336
   "1l2là",
337
   "1l2lè",
338
   "1l2lò",
339
   "1b2lé",
340
   "1b2lí",
341
   "1b2ló",
342
   "1b2lú",
343
   "1b2là",
344
   "1b2lè",
345
   "1b2lò",
346
   "1b2ré",
347
   "1b2rí",
348
   "1b2ró",
349
   "1b2rú",
350
   "1b2rà",
351
   "1b2rè",
352
   "1b2rò",
353
   "1c2lé",
354
   "1c2lí",
355
   "1c2ló",
356
   "1c2lú",
357
   "1c2là",
358
   "1c2lè",
359
   "1c2lò",
360
   "1c2ré",
361
   "1c2rí",
362
   "1c2ró",
363
   "1c2rú",
364
   "1c2rà",
365
   "1c2rè",
366
   "1c2rò",
367
   "1d2ré",
368
   "1d2rí",
369
   "1d2ró",
370
   "1d2rú",
371
   "1d2rà",
372
   "1d2rè",
373
   "1d2rò",
374
   "1f2lé",
375
   "1f2lí",
376
   "1f2ló",
377
   "1f2lú",
378
   "1f2là",
379
   "1f2lè",
380
   "1f2lò",
381
   "1f2ré",
382
   "1f2rí",
383
   "1f2ró",
384
   "1f2rú",
385
   "1f2rà",
386
   "1f2rè",
387
   "1f2rò",
388
   "1g2lé",
389
   "1g2lí",
390
   "1g2ló",
391
   "1g2lú",
392
   "1g2là",
393
   "1g2lè",
394
   "1g2lò",
395
   "1g2ré",
396
   "1g2rí",
397
   "1g2ró",
398
   "1g2rú",
399
   "1g2rà",
400
   "1g2rè",
401
   "1g2rò",
402
   "1p2lé",
403
   "1p2lí",
404
   "1p2ló",
405
   "1p2lú",
406
   "1p2là",
407
   "1p2lè",
408
   "1p2lò",
409
   "1p2ré",
410
   "1p2rí",
411
   "1p2ró",
412
   "1p2rú",
413
   "1p2rà",
414
   "1p2rè",
415
   "1p2rò",
416
   "1t2ré",
417
   "1t2rí",
418
   "1t2ró",
419
   "1t2rú",
420
   "1t2rà",
421
   "1t2rè",
422
   "1t2rò",
423
   "1n2yé",
424
   "1n2yí",
425
   "1n2yó",
426
   "1n2yú",
427
   "1n2yà",
428
   "1n2yè",
429
   "1n2yò",
430
   -- Vowels are kept together by the defaults
431
   -- We break here diphthongs and the like
432
   "a1a",
433
   "a1e",
434
   "a1o",
435
   "e1a",
436
   "e1e",
437
   "e1o",
438
   "i1a",
439
   "i1e",
440
   "i1o",
441
   "o1a",
442
   "o1e",
443
   "o1o",
444
   "u1a",
445
   "u1e",
446
   "u1o",
447
   "a1é",
448
   "a1í",
449
   "a1ó",
450
   "a1ú",
451
   "a1à",
452
   "a1è",
453
   "a1ò",
454
   "a1ï",
455
   "a1ü",
456
   "e1é",
457
   "e1í",
458
   "e1ó",
459
   "e1ú",
460
   "e1à",
461
   "e1è",
462
   "e1ò",
463
   "e1ï",
464
   "e1ü",
465
   "i1é",
466
   "i1í",
467
   "i1ó",
468
   "i1ú",
469
   "i1à",
470
   "i1è",
471
   "i1ò",
472
   "i1ï",
473
   "i1ü",
474
   "o1é",
475
   "o1í",
476
   "o1ó",
477
   "o1ú",
478
   "o1à",
479
   "o1è",
480
   "o1ò",
481
   "o1ï",
482
   "o1ü",
483
   "u1é",
484
   "u1í",
485
   "u1ó",
486
   "u1ú",
487
   "u1à",
488
   "u1è",
489
   "u1ò",
490
   "u1ï",
491
   "u1ü",
492
   "é1a",
493
   "é1e",
494
   "é1o",
495
   "é1ï",
496
   "é1ü",
497
   "í1a",
498
   "í1e",
499
   "í1o",
500
   "í1ï",
501
   "í1ü",
502
   "ó1a",
503
   "ó1e",
504
   "ó1o",
505
   "ó1ï",
506
   "ó1ü",
507
   "ú1a",
508
   "ú1e",
509
   "ú1o",
510
   "ú1ï",
511
   "ú1ü",
512
   "à1a",
513
   "à1e",
514
   "à1o",
515
   "à1ï",
516
   "à1ü",
517
   "è1a",
518
   "è1e",
519
   "è1o",
520
   "è1ï",
521
   "è1ü",
522
   "ò1a",
523
   "ò1e",
524
   "ò1o",
525
   "ò1ï",
526
   "ò1ü",
527
   "ï1a",
528
   "ï1e",
529
   "ï1o",
530
   "ï1é",
531
   "ï1í",
532
   "ï1ó",
533
   "ï1ú",
534
   "ï1à",
535
   "ï1è",
536
   "ï1ò",
537
   "ï1i",
538
   "ü1a",
539
   "ü1e",
540
   "ü1o",
541
   "ü1é",
542
   "ü1í",
543
   "ü1ó",
544
   "ü1ú",
545
   "ü1à",
546
   "ü1è",
547
   "ü1ò",
548
   -- We consider here i and u as semiconsonants
549
   "a1i2a",
550
   "a1i2e",
551
   "a1i2o",
552
   "a1i2u",
553
   "a1u2a",
554
   "a1u2e",
555
   "a1u2i",
556
   "a1u2o",
557
   "a1u2u",
558
   "e1i2a",
559
   "e1i2e",
560
   "e1i2o",
561
   "e1i2u",
562
   "e1u2a",
563
   "e1u2e",
564
   "e1u2i",
565
   "e1u2o",
566
   "e1u2u",
567
   "i1i2a",
568
   "i1i2e",
569
   "i1i2o",
570
   "i1i2u",
571
   "i1u2a",
572
   "i1u2e",
573
   "i1u2i",
574
   "i1u2o",
575
   "i1u2u",
576
   "o1i2a",
577
   "o1i2e",
578
   "o1i2o",
579
   "o1i2u",
580
   "o1u2a",
581
   "o1u2e",
582
   "o1u2o",
583
   "o1u2i",
584
   "o1u2u",
585
   "u1i2a",
586
   "u1i2e",
587
   "u1i2o",
588
   "u1i2u",
589
   "u1u2a",
590
   "u1u2e",
591
   "u1u2i",
592
   "u1u2o",
593
   "u1u2u",
594
   "a1i2é",
595
   "a1i2í",
596
   "a1i2ó",
597
   "a1i2ú",
598
   "a1i2à",
599
   "a1i2è",
600
   "a1i2ò",
601
   "a1u2é",
602
   "a1u2í",
603
   "a1u2ó",
604
   "a1u2ú",
605
   "a1u2à",
606
   "a1u2è",
607
   "a1u2ò",
608
   "e1i2é",
609
   "e1i2í",
610
   "e1i2ó",
611
   "e1i2ú",
612
   "e1i2à",
613
   "e1i2è",
614
   "e1i2ò",
615
   "e1u2é",
616
   "e1u2í",
617
   "e1u2ó",
618
   "e1u2ú",
619
   "e1u2à",
620
   "e1u2è",
621
   "e1u2ò",
622
   "i1i2é",
623
   "i1i2í",
624
   "i1i2ó",
625
   "i1i2ú",
626
   "i1i2à",
627
   "i1i2è",
628
   "i1i2ò",
629
   "i1u2é",
630
   "i1u2í",
631
   "i1u2ó",
632
   "i1u2ú",
633
   "i1u2à",
634
   "i1u2è",
635
   "i1u2ò",
636
   "o1i2é",
637
   "o1i2í",
638
   "o1i2ó",
639
   "o1i2ú",
640
   "o1i2à",
641
   "o1i2è",
642
   "o1i2ò",
643
   "o1u2é",
644
   "o1u2í",
645
   "o1u2ó",
646
   "o1u2ú",
647
   "o1u2à",
648
   "o1u2è",
649
   "o1u2ò",
650
   "u1i2é",
651
   "u1i2í",
652
   "u1i2ó",
653
   "u1i2ú",
654
   "u1i2à",
655
   "u1i2è",
656
   "u1i2ò",
657
   "u1u2é",
658
   "u1u2í",
659
   "u1u2ó",
660
   "u1u2ú",
661
   "u1u2à",
662
   "u1u2è",
663
   "u1u2ò",
664
   "é1i2a",
665
   "é1i2e",
666
   "é1i2o",
667
   "é1i2u",
668
   "é1u2a",
669
   "é1u2e",
670
   "é1u2o",
671
   "é1u2i",
672
   "é1u2u",
673
   "í1i2a",
674
   "í1i2e",
675
   "í1i2o",
676
   "í1i2u",
677
   "í1u2a",
678
   "í1u2e",
679
   "í1u2o",
680
   "í1u2i",
681
   "í1u2u",
682
   "ó1i2a",
683
   "ó1i2e",
684
   "ó1i2o",
685
   "ó1i2u",
686
   "ó1u2a",
687
   "ó1u2e",
688
   "ó1u2o",
689
   "ó1u2i",
690
   "ó1u2u",
691
   "ú1i2a",
692
   "ú1i2e",
693
   "ú1i2o",
694
   "ú1i2u",
695
   "ú1u2a",
696
   "ú1u2e",
697
   "ú1u2o",
698
   "ú1u2i",
699
   "ú1u2u",
700
   "à1i2a",
701
   "à1i2e",
702
   "à1i2o",
703
   "à1i2u",
704
   "à1u2a",
705
   "à1u2e",
706
   "à1u2o",
707
   "à1u2i",
708
   "à1u2u",
709
   "è1i2a",
710
   "è1i2e",
711
   "è1i2o",
712
   "è1i2u",
713
   "è1u2a",
714
   "è1u2e",
715
   "è1u2o",
716
   "è1u2i",
717
   "è1u2u",
718
   "ò1i2a",
719
   "ò1i2e",
720
   "ò1i2o",
721
   "ò1i2u",
722
   "ò1u2a",
723
   "ò1u2e",
724
   "ò1u2o",
725
   "ò1u2i",
726
   "ò1u2u",
727
   "ï1i2a",
728
   "ï1i2e",
729
   "ï1i2o",
730
   "ï1i2é",
731
   "ï1i2í",
732
   "ï1i2ó",
733
   "ï1i2ú",
734
   "ï1i2à",
735
   "ï1i2è",
736
   "ï1i2ò",
737
   "ï1i2u",
738
   "ï1u2a",
739
   "ï1u2e",
740
   "ï1u2o",
741
   "ï1u2é",
742
   "ï1u2í",
743
   "ï1u2ó",
744
   "ï1u2ú",
745
   "ï1u2à",
746
   "ï1u2è",
747
   "ï1u2ò",
748
   "ï1u2i",
749
   "ï1u2u",
750
   "ü1i2a",
751
   "ü1i2e",
752
   "ü1i2o",
753
   "ü1i2é",
754
   "ü1i2í",
755
   "ü1i2ó",
756
   "ü1i2ú",
757
   "ü1i2à",
758
   "ü1i2è",
759
   "ü1i2ò",
760
   "ü1i2u",
761
   "ü1u2a",
762
   "ü1u2e",
763
   "ü1u2o",
764
   "ü1u2é",
765
   "ü1u2í",
766
   "ü1u2ó",
767
   "ü1u2ú",
768
   "ü1u2à",
769
   "ü1u2è",
770
   "ü1u2ò",
771
   "ü1u2i",
772
   "ü1u2u",
773
   -- Semiconsonants at the beginning of word
774
   ".hi2a",
775
   ".hi2e",
776
   ".hi2o",
777
   ".hi2u",
778
   ".hu2a",
779
   ".hu2e",
780
   ".hu2i",
781
   ".hu2o",
782
   ".i2è",
783
   ".i2ò",
784
   ".u2è",
785
   ".u2ò",
786
   ".hi2é",
787
   ".hi2ó",
788
   ".hi2ú",
789
   ".hi2à",
790
   ".hi2è",
791
   ".hi2ò",
792
   ".hu2é",
793
   ".hu2í",
794
   ".hu2ó",
795
   ".hu2à",
796
   ".hu2è",
797
   ".hu2ò",
798
   -- And now the crescent diphtongs
799
   "gu2a",
800
   "gu2e",
801
   "gu2i",
802
   "gu2o",
803
   "qu2a",
804
   "qu2e",
805
   "qu2i",
806
   "qu2o",
807
   "gu2é",
808
   "gu2í",
809
   "gu2ó",
810
   "gu2à",
811
   "gu2è",
812
   "gu2ò",
813
   "qu2é",
814
   "qu2í",
815
   "qu2ó",
816
   "qu2à",
817
   "qu2è",
818
   "qu2ò",
819
   "gü2e",
820
   "gü2é",
821
   "gü2í",
822
   "gü2è",
823
   "gü2i",
824
   "qü2e",
825
   "qü2é",
826
   "qü2í",
827
   "qü2è",
828
   "qü2i",
829
   -- We add here some exceptions to the rules for diaeresis
830
   "a1isme.",
831
   "e1isme.",
832
   "i1isme.",
833
   "o1isme.",
834
   "u1isme.",
835
   "a1ista.",
836
   "e1ista.",
837
   "i1ista.",
838
   "o1ista.",
839
   "u1ista.",
840
   "a1um.",
841
   "e1um.",
842
   "i1um.",
843
   "o1um.",
844
   "u1um.",
845
   -- disallow hyphenation on possible prefixes
846
   ".antihi2",
847
   ".be2n",
848
   ".be2s",
849
   ".bi2s",
850
   ".ca2p",
851
   ".ce2l",
852
   ".cla2r",
853
   ".co2ll",
854
   ".co2n",
855
   ".co2r",
856
   ".de2s",
857
   ".di2s",
858
   ".en3a",
859
   ".hipe2r",
860
   ".hiperm2n",
861
   ".in3ac",
862
   ".in3ad",
863
   ".in3ap",
864
   ".in3es",
865
   ".in3o",
866
   ".inte2r",
867
   ".ma2l",
868
   ".mal1t2hus",
869
   ".pa2n",
870
   ".pe2r",
871
   ".pe3ri",
872
   ".pos2t",
873
   ".psa2l",
874
   ".rebe2s",
875
   ".re2d",
876
   ".su2b",
877
   ".sub3o",
878
   ".subde2s",
879
   ".supe2r",
880
   ".tran2s",
881
   -- Avoid hyphenation on some intra-word groups
882
   "g2no",
883
   "p2si",
884
   "p2se",
885
   "p2neu",
886
   "g2nò",
887
   "p2sí",
888
   -- Avoid wrong hyphenation on some foreign-origin words
889
   ".ch2",
890
   ".th2",
891
   "ein1s2tein",
892
   "ru1t2herford",
893
   "ni2etz1sc2he",
894
   -- Add some good patterns found by patgen
895
   "3exp",
896
   "3nef",
897
   "3nei",
898
   "3pr",
899
   "3ser",
900
   "a3ne",
901
   "a3ri",
902
   "bi3se",
903
   "des3ag",
904
   "des3ar",
905
   "des3av",
906
   "des3enc",
907
   "e3ism",
908
   "e3le",
909
   "e3rio",
910
   "e3ris",
911
   "es3aco",
912
   "es3af",
913
   "es3ap",
914
   "es3arr",
915
   "es3as",
916
   "es3int",
917
   "ig3n",
918
   "in3ex",
919
   "n3si",
920
   "o3ro",
921
   "qui3e",
922
   "s3emp",
923
   "s3esp",
924
   "sub3a",
925
   "ui3et",
926
   "o3gnò",
927
}
928
-- typos: ignore end
929

930
-- typos: ignore start
931
SILE.hyphenator.languages["ca"].exceptions = {
×
932
   "cu-rie",
933
   "cu-ries",
934
   "gei-sha",
935
   "gei-shes",
936
   "goua-che",
937
   "goua-ches",
938
   "hip-py",
939
   "hip-pies",
940
   "hob-by",
941
   "hob-bies",
942
   "jeep",
943
   "jeeps",
944
   "joule",
945
   "joules",
946
   "klee-nex",
947
   "klee-nexs",
948
   "lar-ghet-ti",
949
   "lar-ghet-to",
950
   "lied",
951
   "lieder",
952
   "nos-al-tres",
953
   "ro-yal-ties",
954
   "ro-yal-ty",
955
   "vos-al-tres",
956
   "whis-ky",
957
   "whis-kies",
958
}
959
-- typos: ignore end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc