Code Snippet: Französische Satzzeichen-Regeln
Einführung
Im Französischen gibt es, vermutlich abweichend vom ganzen Rest der Welt, interessante Regeln bei Satzzeichen: Vor Doppelpunkt, Strichpunkt, Fragezeichen und Ausrufezeichen (:;?!) steht immer ein Leerzeichen.
Franzosen kennen diese Regeln natürlich und schreiben brav das Leerzeichen vor diese Satzzeichen. So weit, so gut.
Lustig wird es dann im Browser auf dem Smartphone: Der Browser bricht bei Bedarf um und orientiert sich dabei unter anderem an Leerzeichen. Mit ein bisschen Pech zieht dann das Satzzeichen alleine in die nächste Zeile um.
Lösung
Mit meinem Code Snippet versuche ich, eine möglichst einfache Lösung zu schaffen:
Wenn die Seite im Browser geladen ist, durchsuche ich den gesamten Text nach Leerzeichen mit nachfolgendem Satzzeichen (:;?!) und ersetze das Leerzeichen durch ein geschütztes Leerzeichen. Der Browser trennt dann hier nicht mehr.
Ich bedanke mich ganz herzlich bei Isabelle de Maublanc für die konzeptionelle Unterstützung und die zahlreichen Tests.
Download
Das Code Snippet steht hier zum Download zur Verfügung:
french-punctuation.code-snippets.json
Version 1.0.0, 2020-12-29
Zur Installation und Nutzung dieser JSON Datei wird das Plugin Code Snippets benötigt.
Dort kann diese JSON Datei mit der Funktion "Import" hochgeladen und anschließend aktiviert werden.
Alternativ: Am Ende dieser Seite kann der vollständige Source Code des Snippets eingesehen und kopiert werden.
Im Change Log sind neue Funktionalitäten und Fehlerbehebungen dokumentiert.
Spenden
Es macht mir viel Freude, Code Snippets zu entwickeln und damit Anforderungen zu lösen. Die Snippets stelle ich kostenfrei zur Verfügung.
Wenn Du möchtest, kannst Du meine vielen Stunden Arbeit mit einer kleinen Kaffee-Spende über PayPal honorieren.
Spenden werden selbstverständlich ordnungsgemäß durch mich versteuert.
Disclaimer
Das Code Snippet habe ich nach bestem Wissen und Gewissen unter WordPress 5.6 entwickelt und getestet.
Ich stelle das Code Snippet zur freien Verwendung zur Verfügung.
Eine Garantie für die Funktionalität in allen denkbaren WordPress Umgebungen kann ich nicht geben.
Download und Nutzung dieses Code Snippets erfolgen auf eigene Gefahr und Verantwortung.
Change Log
- Version 1.0.0 (2020-12-29)
- Erstveröffentlichung
Source Code
<?php add_action('wp_footer',function(){ ?> <script id="maltmann-french-punctuation-script"> (function($){ $('body :not(script,style)').contents().filter(function() { return this.nodeType === 3; // text nodes }).replaceWith(function() { return this.nodeValue.replace(/ +([\:\;\!\?])/g, ' $1'); }); })(jQuery); </script> <?php });