Skip to content

Commit 3c4832b

Browse files
committed
Reuse binary decoding in text segments
1 parent 51e6729 commit 3c4832b

2 files changed

Lines changed: 33 additions & 36 deletions

File tree

src/Document/ContentStream/PositionedText/TextSegment/TextSegment.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,7 @@ public function getText(Font $font): string {
5454
public function getCodePoints(): array {
5555
$codePoints = [];
5656
if (str_starts_with($this->textString->textStringValue, '(') && str_ends_with($this->textString->textStringValue, ')')) {
57-
$chars = str_replace(['\(', '\)', '\n', '\r'], ['(', ')', "\n", "\r"], substr($this->textString->textStringValue, 1, -1));
58-
$chars = preg_replace_callback('/\\\\([0-7]{3})/', fn(array $matches) => mb_chr((int) octdec($matches[1])), $chars)
59-
?? throw new ParseFailureException();
60-
foreach (str_split($chars) as $char) {
57+
foreach (str_split($this->textString->getBinaryString()) as $char) {
6158
$codePoints[] = ord($char);
6259
}
6360
} elseif (str_starts_with($this->textString->textStringValue, '<') && str_ends_with($this->textString->textStringValue, '>')) {

tests/Samples/files/issue-235/contents.yml

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pages:
3131
nung vom 17. Mai 2011 (Nds. GVBl. S. 125), wird wie folgt geändert:
3232
1. Die Überschrift erhält folgende Fassung:
3333
„Niedersächsische Feuerwehrverordnung (Nds. FwVO)“ .
34-
2. Der Überschrift des Ersten Teils werden die W orte „und Pflichtfeuerwehren“ angefügt.
34+
2. Der Überschrift des Ersten Teils werden die Worte „und Pflichtfeuerwehren“ angefügt.
3535
3. § 1 wird wie folgt geändert:
3636
a) In Absatz 1 wird die Angabe „§ 10 Abs. 2“ durch die Angabe „§ 11 Abs. 4“ ersetzt.
3737
b) In den Absätzen 2 und 3 werden jeweils in Satz 1 nach dem Wort „Gemeinde“ die Worte „ohne
@@ -92,7 +92,7 @@ pages:
9292
6. § 4 wird wie folgt geändert:
9393
a) Die Überschrift erhält folgende Fassung:
9494
„§ 4
95-
Mindestausstattung und Mindestausrüstung“ .
95+
Mindestausstattung und Mindestausrüstung“.
9696
-
9797
content: |-
9898
Nds. GVBl. 2025 Nr. 25 vom 10. April 2025 Seite 3
@@ -109,7 +109,7 @@ pages:
109109
a) In Absatz 1 werden nach den Worten „Freiwilligen Feuerwehr“ die Worte „oder der Pflichtfeuer-
110110
wehr“ eingefügt.
111111
b) In Absatz 2 werden die Worte „die örtlich zuständige Polizeidirektion“ durch die Worte „das für
112-
Inneres zuständige Ministerium oder die von ihm bestimmte Landesbehörd e“ ersetzt.
112+
Inneres zuständige Ministerium oder die von ihm bestimmte Landesbehörde“ ersetzt.
113113
9. Der Zweite und Dritte Teil erh alten folgende Fassung:
114114
„Zweiter Teil
115115
Ausbildung nach Eintritt in die Einsatzabteilung,
@@ -128,7 +128,7 @@ pages:
128128
die als Feuerwehr-Fachberaterin oder Feuerwehr-Fachberater aufgrund besonderer Kenntnisse und
129129
Fähigkeiten die Einsatzabteilung beraten. 2Mitglieder der Einsatzabteilung müssen innerhalb von
130130
drei Jahren seit dem Eintritt in die Einsatzabteilung die Ausbildung zum Truppmitglied abschließen.
131-
3Schließt ein Mitglied die A usbildung zum Truppmitglied innerhalb dieser Zeit nicht ab, so ist es aus der
131+
3Schließt ein Mitglied die Ausbildung zum Truppmitglied innerhalb dieser Zeit nicht ab, so ist es aus der
132132
Einsatzabteilung zu entlassen, es sei denn sie oder er hat die Ausbildung aufgrund einer Krankheit oder
133133
eines sonstigen Grundes, den sie oder er nicht zu vertreten hat, nicht abgeschlossen.
134134
(2) 1Die modulare Grundlagenausbildung gliedert sich in die Ausbildung zum Erreichen der Einsatz-
@@ -183,7 +183,7 @@ pages:
183183
(1) 1Die Führungsausbildung gliedert sich in die Ausbildung zur Gruppenführerin oder zum Gruppen-
184184
führer, zur Zugführerin oder zum Zugführer sowie zur Verbandsführerin oder zum Verbandsführer. 2Die
185185
Ausbildung zum Gruppenführer kann durch die Ausbildung zur Leiterin oder zum Leiter einer Freiwilligen
186-
Feuerwehr oder Pflichtfeuerwehr, zum Führen im ABC -Einsatz (Ausbildungslehrgang , Führen im ABC -
186+
Feuerwehr oder Pflichtfeuerwehr, zum Führen im ABC-Einsatz (Ausbildungslehrgang , Führen im ABC-
187187
Einsatzʻ) oder zur Ausbilderin oder zum Ausbilder in der Freiwilligen Feuerwehr oder Pflichtfeuerwehr
188188
(Ausbildungslehrgang ,Ausbilder in der Feuerwehrʻ) ergänzt werden. 3Die Ausbildung zum Zugführer
189189
kann durch die Ausbildung zur Stabsarbeit (Ausbildungslehrgang ,Einführung in die Stabsarbeitʻ) er-
@@ -216,7 +216,7 @@ pages:
216216
kenntnisse zur Leitung einer Freiwilligen Feuerwehr oder Pflichtfeuerwehr vermitteln.
217217
(6) 1Voraussetzung für die Ausbildung zum Führen im ABC -Einsatz ist der Abschluss des Ausbil-
218218
dungslehrgangs ,Gruppenführerʻ. 2Die Ausbildung erfolgt in einem Ausbildungslehrgang (Ausbildungs-
219-
lehrgang ,Führen im ABC -Einsatzʻ). 3Der Ausbildungslehrgang ,Führen im ABC -Einsatzʻ soll die Befä-
219+
lehrgang ,Führen im ABC-Einsatzʻ). 3Der Ausbildungslehrgang ,Führen im ABC-Einsatzʻ soll die Befä-
220220
higung zum taktisch richtigen Einsatz der ABC -Ausrüstung und zum Führen von im Einsatz mit ABC -
221221
Ausrüstung ausgebildeten Mitgliedern der Einsatzabteilung vermitteln.
222222
(7) 1Voraussetzung für die Ausbildung zur Ausbilderin oder zum Ausbilder in der Feuerwehr ist der
@@ -243,7 +243,7 @@ pages:
243243
(2) 1Steht ein fachlich geeignetes Mitglied nach Absatz 1 nicht zur Verfügung, so kann einem Mitglied
244244
der Einsatzabteilung eine Regelfunktion abweichend von Absatz 1 für längstens zwei Jahre zur kom-
245245
missarischen Wahrnehmung übertragen werden, wenn das Mitglied für die Ausbildung oder den Aus-
246-
bildungslehrgang, die oder der für die Übertragung der Regelfunktion erforderlic h ist, angemeldet ist, an
246+
bildungslehrgang, die oder der für die Übertragung der Regelfunktion erforderlich ist, angemeldet ist, an
247247
dieser oder diesem teilnimmt oder alsbald teilnimmt. 2Schließt das Mitglied die Ausbildung oder den
248248
Ausbildungslehrgang aufgrund einer Krankheit oder eines sonstigen Grundes, den es nicht zu vertreten
249249
hat, nicht innerhalb von zwei Jahren seit Beginn der Ausbildung oder des Ausbildungslehrgangs ab, so
@@ -341,7 +341,7 @@ pages:
341341
2. die Dienstgrade Regierungsbrandinspektorin und Regierungsbrandinspektor von dem für Inneres
342342
zuständigen Ministerium oder der von ihm bestimmten Landesbehörde
343343
verliehen.
344-
(10) 1Die fü r Inneres zuständige Ministerin oder der für Inneres zuständige Minister kann zusätzlich
344+
(10) 1Die für Inneres zuständige Ministerin oder der für Inneres zuständige Minister kann zusätzlich
345345
zu den Dienstgraden nach Absatz 1 den Sonderdienstgrad ,Landesbrandinspektorinʻ oder ,Landes-
346346
brandinspektorʻ an ein Mitglied der Freiwilligen Feuerwehr oder Pflichtfeuerwehr verleihen , wenn sich
347347
das Mitglied besonders für den Brandschutz in Niedersachsen engagiert oder um den Brandschutz in
@@ -364,10 +364,10 @@ pages:
364364
dere bei den vom Träger der Feuerwehr festgelegten Veranstaltungen wie Jahreshauptversammlungen,
365365
Gedenkveranstaltungen und Brauchtumsveranstaltungen, tragen die Mitglieder die in Anlage 5 Teile A
366366
und C beschriebene Dienstkleidung. 3Die Mitglieder können nach Festlegung des Trägers der Feuer-
367-
wehr bei der Ausübung sonstiger dienstlicher Tät igkeit die in Anlage 5 Teil D beschriebene Tagesdienst-
367+
wehr bei der Ausübung sonstiger dienstlicher Tätigkeit die in Anlage 5 Teil D beschriebene Tagesdienst-
368368
kleidung oder die in Anlage 5 Teil E beschriebene Wetterschutzkleidung tragen.
369369
(2) Die Mitglieder einer Musikabteilung, die nicht Mitglieder der Einsatzabteilung sind, tragen bei
370-
Ausübung dienstlicher T ätigkeit die in Anlage 5 Teile A und C beschriebene Dienstkleidung.
370+
Ausübung dienstlicher Tätigkeit die in Anlage 5 Teile A und C beschriebene Dienstkleidung.
371371
(3) Die Mitglieder einer Alters- oder Ehrenabteilung der Freiwilligen Feuerwehr oder Pflichtfeuerwehr
372372
dürfen nach dem Wechsel in die Alters - oder Ehrenabteilung zur Ausübung dienstlicher T ätigkeit mit
373373
repräsentativem Anlass die in Anlage 5 Teile A und C beschriebene Dienstkleidung tragen.
@@ -409,7 +409,7 @@ pages:
409409
lage 5 Teile C bis E das Tragen von Wappen vorgesehen ist.
410410
(2) 1Mitglieder der Freiwilligen Feuerwehr oder Pflichtfeuerwehr tragen auf der Dienstkleidung den in
411411
Anlage 5 Teil B dargestellten Schriftzug , Feuerwehrʻ mit dem Landeswappen, wenn in Anlage 5 Teile C
412-
bis E das Tragen des Schriftzuges vorgesehen ist. 2Sie dürfen nach Festlegu ng des Trägers der Feu-
412+
bis E das Tragen des Schriftzuges vorgesehen ist. 2Sie dürfen nach Festlegung des Trägers der Feu-
413413
erwehr das Gemeinde- oder Landkreiswappen tragen, wenn in Anlage 5 Teile C bis E das Tragen von
414414
Wappen auf der Dienstkleidung vorgesehen ist.
415415
§ 16
@@ -425,7 +425,7 @@ pages:
425425
tung der Freiwilligen Feuerwehren im Lande Nie dersachsen vom 21. September 1993 (Nds. GVBl.
426426
S. 365, 570), zuletzt geändert durch Artikel 2 der Verordnung vom 8. August 2005 (Nds. GVBl. S. 266),
427427
entsprechen, werden bis zum Zeitpunkt ihrer Aussonderung der nach § 4 vorgeschriebenen Min-
428-
destausrüstung gle ichgesetzt.
428+
destausrüstung gleichgesetzt.
429429
(2) Dienstkleidung, die bis zum 10. April 2025 getragen werden durfte (alte Dienstkleidung), darf bis
430430
zu dem Zeitpunkt weitergetragen werden, für den der Träger der Freiwilligen Feuerwehr oder Pflichtfeu-
431431
erwehr festgelegt hat, dass zu einer Dienstkleidung gewechselt wird, die die Anforderungen der An-
@@ -863,7 +863,7 @@ pages:
863863
Abs. 2 Satz 1 in
864864
einer taktischen
865865
Einheit
866-
13. Es wird die folgende neue Anlage 3 eingefügt :
866+
13. Es wird die folgende neue Anlage 3 eingefügt:
867867
„Anlage 3
868868
(zu § 11)
869869
Regelungen zu Dienstgraden
@@ -919,12 +919,12 @@ pages:
919919
terin oder oder BM ,Gruppenführerʻ oder
920920
Brandmeis- Löschmeister
921921
ter
922-
2. Oberbrand- OBM'in Abschluss des Ausbildungslehrgangs Oberlösch -
922+
2. Oberbrand- OBM'in Abschluss des Ausbildungslehrgangs Oberlösch-
923923
meisterin oder OBM ,Gruppenführerʻ und eine sechsjährige Min- meisterin oder
924924
oder destdienstzeit nach Abschluss dieser Aus- Oberlösch-
925925
Oberbrand- bildung meister
926926
meister
927-
3. Hauptbrand- HBM'in Abschluss des Ausbildungslehrgangs Hauptlösch -
927+
3. Hauptbrand- HBM'in Abschluss des Ausbildungslehrgangs Hauptlösch-
928928
meisterin oder HBM ,Gruppenführerʻ und eine zwölfjährige Min- meisterin oder
929929
oder destdienstzeit nach Abschluss dieser Aus- Hauptlösch-
930930
Hauptbrand- bildung meister
@@ -940,7 +940,7 @@ pages:
940940
content: |-
941941
Nds. GVBl. 2025 Nr. 25 vom 10. April 2025 Seite 18
942942
943-
Teil B: Verleihung von Dienstgraden aufgrund der Übertragung einer Re gelfunktion
943+
Teil B: Verleihung von Dienstgraden aufgrund der Übertragung einer Regelfunktion
944944
I. Erste Dienstgradgruppe , Feuerwehrfrau oder Feuerwehrmannʻ
945945
Dienst- Alter Dienstgrad
946946
grad- Dienstgrad Abkürzung Voraussetzungen für die Verleihung nach früherem
@@ -1002,7 +1002,7 @@ pages:
10021002
oder ,Selbständiger Truppʻ , ,Staffelʻ oder Löschmeister
10031003
Brandmeis- ,Gruppeʻ in einer Ortsfeuerwehr
10041004
ter
1005-
2. Oberbrand- OBM'in oder a) Jugendfeuerwehrwartin oder Jugend- Oberlösch -
1005+
2. Oberbrand- OBM'in oder a) Jugendfeuerwehrwartin oder Jugend- Oberlösch-
10061006
meisterin OBM feuerwehrwart auf Ebene eines Orts- meisterin
10071007
oder teils oder
10081008
Oberbrand- Oberlösch-
@@ -1030,7 +1030,7 @@ pages:
10301030
tin oder Stellvertretender Kinderfeu-
10311031
erwehrwart auf Ebene einer Ge-
10321032
meinde
1033-
3. Haupt- HBM'in oder a) Jugendfeuerwehrwartin oder Hauptlösch -
1033+
3. Haupt- HBM'in oder a) Jugendfeuerwehrwartin oder Hauptlösch-
10341034
brand- HBM Jugendfeuerwehrwart auf Ebene ei- meisterin
10351035
meisterin ner Gemeinde oder
10361036
oder Hauptlösch-
@@ -1257,7 +1257,7 @@ pages:
12571257
Feuerwehremblems (oder Kokarde)
12581258
– zwei untere Druckknopfhälften oder Platz für bis zu zwei Splinte zur Befestigung
12591259
des Landesemblems
1260-
– zwei untere Druckknopfhälften oder Platz f ür zwei Mützensplinte zur Befestigung
1260+
– zwei untere Druckknopfhälften oder Platz für zwei Mützensplinte zur Befestigung
12611261
der Mützenkordel
12621262
12631263
images:
@@ -1289,7 +1289,7 @@ pages:
12891289
– Größe des Landesemblems: 18 mm (Breite) x 21 mm (Höhe)
12901290
– Das Landesemblem ist umgeben von einem 5 mm breiten, oben offenen Kranz
12911291
aus metallenen Eichenblättern. Der Kranz ist auf beiden Seiten von
1292-
mehrflächigen, der Mützenform entsprechend nac h innen gebogenen,
1292+
mehrflächigen, der Mützenform entsprechend nach innen gebogenen,
12931293
metallenen Flügeln begrenzt.
12941294
– Das Abzeichen ist aus Emaille Tombak und aus altsilberfarbigem Metall
12951295
hergestellt und mit farblosem Lack überzogen. Auf der Rückseite sind zwei
@@ -1314,10 +1314,10 @@ pages:
13141314
k tzsplieodrkkti.
13151315
Zwteistar , Brdistindraistʻ:
13161316
– Mützenkordel, gedreht, silberfarbig, Durchmesser 6 mm, an zwei silberfarbig ge-
1317-
körnten Mützensplinten oder Druckknöpfen bef estigt.
1317+
körnten Mützensplinten oder Druckknöpfen befestigt.
13181318
Dritte Dienstgradgruppe , Brandinspektorin oder Brandinspektorʻ:
13191319
– Mützenkordel, gedreht, silberfarbig, Durchmesser 8 mm, an zwei silberfarbig ge-
1320-
körnten Mützensplinten oder Druckknöpfen befestigt .
1320+
körnten Mützensplinten oder Druckknöpfen befestigt.
13211321
Vierte Dienstgradgruppe , Brandschutzleiterin oder Brandschutzleiterʻ und Sonderdienst-
13221322
grad nach § 11 Abs. 10:
13231323
– Mützenkordel, gedreht, goldfarbig, Durchmesser 8 mm, an zwei goldfarbig ge-
@@ -1440,7 +1440,7 @@ pages:
14401440
Aufnahme der Überziehschlaufen; alternativ Schulterklappen
14411441
zur Aufnahme der Überziehschlaufen
14421442
5. a) Schuhe für – schwarz
1443-
männliche Mi tglieder
1443+
männliche Mitglieder
14441444
– Halbschuhe
14451445
14461446
b) Schuhe für – schwarz
@@ -1662,28 +1662,28 @@ pages:
16621662
– 40 mm oder 45 mm breit
16631663
Teil E: Wetterschutzkleidung
16641664
Die Wetterschutzkleidung beinhaltet eine Langjacke mit folgender Gestaltung:
1665-
– wasserdampfdurchlässige, wasser - und winddichte Membrane,
1665+
– wasserdampfdurchlässige, wasser- und winddichte Membrane,
16661666
– dunkelblauer Oberstoff,
16671667
– Herrenschnitt,
16681668
– Reißverschluss bis zum Stehkragen, verdeckte Druckknöpfe,
16691669
– zwei Brusttaschen mit abgeschrägten Patten und verdeckten Druckknöpfen,
16701670
– Schriftzug ,Feuerwehrʻ auf der Patte der linken Brusttasche,
16711671
– zwei Leistentaschen,
1672-
– Innentaschen links und rechts mit Reißverschluss ,
1672+
– Innentaschen links und rechts mit Reißverschluss,
16731673
– abnehmbare Kapuze,
16741674
– Wappen werden auf dem linken Oberärmel getragen, mit Ärmelflausch,
16751675
– Schulterschlaufen links und rechts zur Aufnahme von Überziehschlaufen. “
16761676
16. Die bisherige Anlage 5 wird Anlage 6 und wie folgt geändert:
16771677
a) Die Bezeichnung des Klammerzusatzes erhält folgende Fassung:
16781678
„(zu § 12)“.
1679-
b) In der Überschrift werden nach den W orten „Freiwilligen Feuerwehren“ die Worte „und Pflichtfeu-
1679+
b) In der Überschrift werden nach den Worten „Freiwilligen Feuerwehren“ die Worte „und Pflichtfeu-
16801680
erwehren“ eingefügt.
16811681
16821682
-
16831683
content: |-
16841684
Nds. GVBl. 2025 Nr. 25 vom 10. April 2025 Seite 33
16851685
1686-
17. Anlage 7 erhäl t folgende Fassung:
1686+
17. Anlage 7 erhält folgende Fassung:
16871687
„Anlage 7
16881688
(zu § 13)
16891689
Dienstgradabzeichen der Freiwilligen Feuerwehren und Pflichtfeuerwehren
@@ -1701,7 +1701,7 @@ pages:
17011701
männliche Mitglieder (Anlage 5 Teil D Nr. 3 Buchst. a) werden entweder Schulterklappen oder Über-
17021702
ziehschlaufen getragen.
17031703
Auf der sonstigen Dienstkleidung nach Anlage 5 können nach Festlegung des Trägers der Feuer-
1704-
wehr Ü berziehschlaufen getragen werden, wenn das Kleidungsstück eine Aufnahme für Dienstgradab-
1704+
wehr Überziehschlaufen getragen werden, wenn das Kleidungsstück eine Aufnahme für Dienstgradab-
17051705
zeichen vorsieht.
17061706
Die Schulterklappen werden in gerader Längsseite, spitz zulaufend zur Schulter entsprechend der
17071707
Beschreibung und bildlichen Darstellung in der nachfolgenden Tabelle getragen. Die zu stickenden ro-
@@ -2029,7 +2029,7 @@ pages:
20292029
satzabschnittsleiterʻ auf der Front- und
20302030
Rückseite der Weste in ein- oder zweizei-
20312031
liger Form
2032-
rot-weiß karierte Funktionsweste oder rot - Verbandsführerin oder Verbandsführer
2032+
rot-weiß karierte Funktionsweste oder rot- Verbandsführerin oder Verbandsführer
20332033
weiß kariertes Funktionskoller mit schwar-
20342034
zer Aufschrift ,Verbandsführerʻ und Name
20352035
der taktischen Einheit auf der Front- und
@@ -2049,7 +2049,7 @@ pages:
20492049
tionskoller mit schwarzer Aufschrift , Pres-
20502050
sesprecherʻ auf der Front- und Rückseite
20512051
der Weste in ein- oder zweizeiliger Form
2052-
grün -weiß karierte Funktionsweste oder Fachberaterin oder Fachberater
2052+
grün-weiß karierte Funktionsweste oder Fachberaterin oder Fachberater
20532053
grün- weiß kariertes Funktionskoller mit
20542054
Aufschrift ,Fachberaterʻ auf der Front- und
20552055
Rückseite der Weste in ein- oder zweizei-
@@ -2079,7 +2079,7 @@ pages:
20792079
Schulterklappen werden auf der Uniformjacke für weibliche Mitglieder (Anlage 5 Teil C Nr. 1
20802080
Buchst. b) und auf der Uniformjacke für männliche Mitglieder (Anlage 5 Teil C Nr. 1 Buchst. a) getragen.
20812081
Auf dem Blouson für weibliche Mitglieder (Anlage 5 Teil D Nr. 3 Buchst. b) und dem Blouson für
2082-
männlic he Mitglieder (Anlage 5 Teil D Nr. 3 Buchst. a) werden entweder Schulterklappen oder Über-
2082+
männliche Mitglieder (Anlage 5 Teil D Nr. 3 Buchst. a) werden entweder Schulterklappen oder Über-
20832083
ziehschlaufen getragen.
20842084
Auf der sonstigen Dienstkleidung nach Anlage 5 können nach Festlegung des Trägers der Feuer-
20852085
wehr Überziehschlaufen getragen werden, wenn das Kleidungsstück eine Aufnahme für Dienstgradab-
@@ -2242,7 +2242,7 @@ pages:
22422242
silberfarbigen Stern
22432243
22442244
6. Brandrätin oder Schulterklappe oder
2245-
Brandrat Über ziehschlaufe
2245+
Brandrat Überziehschlaufe
22462246
mit stilisiertem Ei-
22472247
(als Beförde-
22482248
chenlaub in großer

0 commit comments

Comments
 (0)