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

sile-typesetter / sile / 6916166382

18 Nov 2023 08:38PM UTC coverage: 65.378% (-3.4%) from 68.751%
6916166382

push

github

web-flow
Merge 804f0a80a into f64e235fa

10161 of 15542 relevant lines covered (65.38%)

5006.52 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
   -- overriden properties from parent class
5
   isQuoteType = { qu = true }, -- split tokens at apostrophes &c.
6
})
7

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

898
SILE.hyphenator.languages["ca"].exceptions = {
×
899
"cu-rie",
900
"cu-ries",
901
"gei-sha",
902
"gei-shes",
903
"goua-che",
904
"goua-ches",
905
"hip-py",
906
"hip-pies",
907
"hob-by",
908
"hob-bies",
909
"jeep",
910
"jeeps",
911
"joule",
912
"joules",
913
"klee-nex",
914
"klee-nexs",
915
"lar-ghet-ti",
916
"lar-ghet-to",
917
"lied",
918
"lieder",
919
"nos-al-tres",
920
"ro-yal-ties",
921
"ro-yal-ty",
922
"vos-al-tres",
923
"whis-ky",
924
"whis-kies",
925
}
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

© 2025 Coveralls, Inc