Skip to content

Commit

Permalink
Tech: utilisation d’espaces insécables explicites
Browse files Browse the repository at this point in the history
Utilisation des entités HTML, sinon ça ne fonctionne pas sous iOS.
  • Loading branch information
davidbgk committed Mar 23, 2021
1 parent 2f91df3 commit 18daf1e
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 37 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ clean: ## Clean up JS related stuff.
## make test-integration browser=webkit grep=suivi
## make test browser=webkit

test: test-unit test-integration tets-tools test-feedback
test: test-unit test-integration test-tools test-feedback

ifdef grep
script_flags = -- --grep $(grep)
Expand Down
4 changes: 2 additions & 2 deletions test_markdown.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ def test_block_html():
)
== dedent(
"""\
<!---->Mes deux points\u00a0:
<!---->Mes deux points&nbsp;:
<hr />
<!---->Ses deux points\u00a0:
<!---->Ses deux points&nbsp;:
"""
)
)
52 changes: 26 additions & 26 deletions test_typographie.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,43 +8,43 @@
(" ", " "),
("\u00a0", "\u00a0"),
("\u202f", "\u202f"),
("ici !", "ici\u202f!"),
("non ?", "non\u202f?"),
("infos :", "infos\u00a0:"),
("entre « guillemets »", "entre «\u00a0guillemets\u00a0»"),
("18 h", "18\u202fh"),
("24 heures", "24\u00a0heures"),
("24\u00a0heures", "24\u00a0heures"),
("18 hibous", "18\u00a0hibous"),
("1 j", "1\u202fj"),
("1 jour", "1\u00a0jour"),
("2 j", "2\u202fj"),
("2 jours", "2\u00a0jours"),
("65 ans", "65\u00a0ans"),
("150 g", "150\u202fg"),
("150 g de farine", "150\u202fg de farine"),
("150 gibbons", "150\u00a0gibbons"),
("200 mg", "200\u202fmg"),
("à 10 000 kilomètres", "à 10\u202f000\u00a0kilomètres"),
("100\u00a0%", "100\u202f%"),
("pour\u00a0100\u00a0% des cas", "pour\u00a0100\u202f% des cas"),
("Covid-19 :", "Covid-19\u00a0:"),
("35,5\u00a0°C", "35,5\u202f°C"),
("ici !", "ici&#8239;!"),
("non ?", "non&#8239;?"),
("infos :", "infos&nbsp;:"),
("entre « guillemets »", "entre «&nbsp;guillemets&nbsp;»"),
("18 h", "18&#8239;h"),
("24 heures", "24&nbsp;heures"),
("24&nbsp;heures", "24&nbsp;heures"),
("18 hibous", "18&nbsp;hibous"),
("1 j", "1&#8239;j"),
("1 jour", "1&nbsp;jour"),
("2 j", "2&#8239;j"),
("2 jours", "2&nbsp;jours"),
("65 ans", "65&nbsp;ans"),
("150 g", "150&#8239;g"),
("150 g de farine", "150&#8239;g de farine"),
("150 gibbons", "150&nbsp;gibbons"),
("200 mg", "200&#8239;mg"),
("à 10 000 kilomètres", "à 10&#8239;000&nbsp;kilomètres"),
("100&nbsp;%", "100&#8239;%"),
("pour&nbsp;100&nbsp;% des cas", "pour&nbsp;100&#8239;% des cas"),
("Covid-19 :", "Covid-19&nbsp;:"),
("35,5&nbsp;°C", "35,5&#8239;°C"),
(
"« Comment mettre son masque ? »",
\u00a0Comment mettre son masque\u202f?\u00a0»",
&nbsp;Comment mettre son masque&#8239;?&nbsp;»",
),
(
"« Comment mettre son masque ! »",
\u00a0Comment mettre son masque\u202f!\u00a0»",
&nbsp;Comment mettre son masque&#8239;!&nbsp;»",
),
(
"« Comment mettre son masque. »",
\u00a0Comment mettre son masque.\u00a0»",
&nbsp;Comment mettre son masque.&nbsp;»",
),
(
"« Comment mettre son masque… »",
\u00a0Comment mettre son masque…\u00a0»",
&nbsp;Comment mettre son masque…&nbsp;»",
),
],
)
Expand Down
16 changes: 8 additions & 8 deletions typographie.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import unicodedata

import regex # pour le support de "\p{}"

ESPACE_INSECABLE = "&nbsp;"
ESPACE_FINE_INSECABLE = "&#8239;"


def assemble_regexes(*regexes):
return "|".join(regexes)
Expand All @@ -10,7 +11,11 @@ def assemble_regexes(*regexes):
def build_regex(avant, apres):
# \p{} permet de reconnaître un caractère par sa catégorie Unicode
# "Zs" est la catégorie "Separator, space".
return rf"((?P<avant>{avant})" + r"\p{Zs}" + rf"(?P<apres>{apres}))"
return (
rf"((?P<avant>{avant})"
+ rf"(\p{{Zs}}|{ESPACE_INSECABLE})"
+ rf"(?P<apres>{apres}))"
)


RE_ESPACE_FINE_INSECABLE = regex.compile(
Expand All @@ -23,8 +28,6 @@ def build_regex(avant, apres):
)
)

ESPACE_FINE_INSECABLE = unicodedata.lookup("NARROW NO-BREAK SPACE")


def insere_espaces_fines_insecables(texte):
return RE_ESPACE_FINE_INSECABLE.sub(
Expand All @@ -43,9 +46,6 @@ def insere_espaces_fines_insecables(texte):
)


ESPACE_INSECABLE = unicodedata.lookup("NO-BREAK SPACE")


def insere_espaces_insecables(texte):
return RE_ESPACE_INSECABLE.sub(
r"\g<avant>" + ESPACE_INSECABLE + r"\g<apres>", texte
Expand Down

0 comments on commit 18daf1e

Please sign in to comment.