mobile calendrier event display fix; Hyphenation words with dash fix
This commit is contained in:
@@ -90,6 +90,7 @@ function processTitle(txt) {
|
||||
const chars = Array.from(word.getElementsByClassName('char'));
|
||||
styleWordChars(chars);
|
||||
hyphenateWord(chars);
|
||||
breakAfterHyphens(chars);
|
||||
}
|
||||
txt.classList.add('is-ready');
|
||||
}
|
||||
@@ -304,4 +305,22 @@ function hyphenateWord(chars) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Autorise la coupure après un trait d'union (« text-to-speech »).
|
||||
*
|
||||
* Le « - » est isolé dans son span .char : l'opportunité de coupure qu'il
|
||||
* porte normalement ne passe pas dans le flux entre les spans, et le mot
|
||||
* entier ne coupe jamais. Comme pour les césures, on pose un point de coupure
|
||||
* entre les spans : un <wbr>. (Un espace sans chasse U+200B à la place est
|
||||
* ignoré par Firefox après un « - » : mesuré sur /projets, aucune coupure.)
|
||||
*/
|
||||
function breakAfterHyphens(chars) {
|
||||
for (let i = 0; i < chars.length - 1; i++) {
|
||||
const c = chars[i];
|
||||
if (/^[-‐]$/.test(c.textContent) && c.parentNode) {
|
||||
c.parentNode.insertBefore(document.createElement('wbr'), c.nextSibling);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
initTitles();
|
||||
|
||||
Reference in New Issue
Block a user