Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dictionary support for hyphens #1714

Merged
merged 9 commits into from
Sep 18, 2024
73 changes: 72 additions & 1 deletion features/hyphens.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,75 @@
name: Hyphenation
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be nice to link to this issue from a comment, so we can return to this "support for non-English…" text later #915

description: The `hyphens` CSS property controls when long words are broken by line wrapping. Although called `hyphens`, the property applies to word-splitting behavior across languages, such as customary spelling changes or the use of other characters to mark an intraword line break.
# The description should be revisited when support notes are added.
# https://github.com/web-platform-dx/web-features/issues/915
description: The `hyphens` CSS property controls when long words are broken by line wrapping. Although called `hyphens`, the property applies to word-splitting behavior across languages, such as customary spelling changes or the use of other characters. Support for non-English languages varies signficantly.
spec: https://drafts.csswg.org/css-text-3/#hyphens-property
caniuse: css-hyphens
group: css
status:
compute_from: css.properties.hyphens.auto
compat_features:
- css.properties.hyphens
- css.properties.hyphens.auto
- css.properties.hyphens.language_english
- css.properties.hyphens.language_afrikaans
- css.properties.hyphens.language_albanian
- css.properties.hyphens.language_amharic
- css.properties.hyphens.language_armenian
- css.properties.hyphens.language_assamese
- css.properties.hyphens.language_basque
- css.properties.hyphens.language_belarusian
- css.properties.hyphens.language_bengali
- css.properties.hyphens.language_bosnian
- css.properties.hyphens.language_bulgarian
- css.properties.hyphens.language_catalan
- css.properties.hyphens.language_croatian
- css.properties.hyphens.language_cyrillic_mongolian
- css.properties.hyphens.language_czech
- css.properties.hyphens.language_danish
- css.properties.hyphens.language_dutch
- css.properties.hyphens.language_esperanto
- css.properties.hyphens.language_estonian
- css.properties.hyphens.language_ethiopic_script_mul
- css.properties.hyphens.language_ethiopic_script_und
- css.properties.hyphens.language_finnish
- css.properties.hyphens.language_french
- css.properties.hyphens.language_galician
- css.properties.hyphens.language_georgian
- css.properties.hyphens.language_german_reformed_orthography
- css.properties.hyphens.language_german_swiss_orthography
- css.properties.hyphens.language_german_traditional_orthography
- css.properties.hyphens.language_gujarati
- css.properties.hyphens.language_hindi
- css.properties.hyphens.language_hungarian
- css.properties.hyphens.language_icelandic
- css.properties.hyphens.language_interlingua
- css.properties.hyphens.language_irish
- css.properties.hyphens.language_italian
- css.properties.hyphens.language_kannada
- css.properties.hyphens.language_kurmanji
- css.properties.hyphens.language_latin
- css.properties.hyphens.language_latvian
- css.properties.hyphens.language_lithuanian
- css.properties.hyphens.language_malayalam
- css.properties.hyphens.language_marathi
- css.properties.hyphens.language_modern_greek
- css.properties.hyphens.language_mongolian
- css.properties.hyphens.language_norwegian_nn
- css.properties.hyphens.language_norwegian_no
- css.properties.hyphens.language_old_slavonic
- css.properties.hyphens.language_oriya
- css.properties.hyphens.language_polish
- css.properties.hyphens.language_portuguese
- css.properties.hyphens.language_punjabi
- css.properties.hyphens.language_russian
- css.properties.hyphens.language_slovak
- css.properties.hyphens.language_slovenian
- css.properties.hyphens.language_spanish
- css.properties.hyphens.language_swedish
- css.properties.hyphens.language_tamil
- css.properties.hyphens.language_telugu
- css.properties.hyphens.language_turkish
- css.properties.hyphens.language_turkmen
- css.properties.hyphens.language_ukrainian
- css.properties.hyphens.language_upper_sorbian
- css.properties.hyphens.language_welsh
180 changes: 178 additions & 2 deletions features/hyphens.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,188 @@ status:
baseline: low
baseline_low_date: 2023-09-18
support:
chrome: "55"
chrome: "88"
chrome_android: "55"
edge: "79"
edge: "88"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only weird thing here is that caniuse shows Edge as fully supported only since version 105. It says this about Edge 88 to 104: "Only supported on Android & Mac platforms". I think that might be a bug on caniuse. What do you think?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, it looks like Caniuse is correct - Fyrd/caniuse#5793, but I can't find any mention of the issue in BCD. I think this would be a good candidate for further investigation in #1499.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

firefox: "43"
firefox_android: "43"
safari: "17"
safari_ios: "17"
compat_features:
# baseline: low
# baseline_low_date: 2023-09-18
# support:
# chrome: "55"
# chrome_android: "55"
# edge: "79"
# firefox: "43"
# firefox_android: "43"
# safari: "17"
# safari_ios: "17"
- css.properties.hyphens
- css.properties.hyphens.language_english

# baseline: low
# baseline_low_date: 2023-09-18
# support:
# chrome: "87"
# chrome_android: "87"
# edge: "87"
# firefox: "43"
# firefox_android: "43"
# safari: "17"
# safari_ios: "17"
- css.properties.hyphens.language_croatian
- css.properties.hyphens.language_danish
- css.properties.hyphens.language_french
- css.properties.hyphens.language_german_reformed_orthography
- css.properties.hyphens.language_hungarian
- css.properties.hyphens.language_norwegian_no
- css.properties.hyphens.language_portuguese
- css.properties.hyphens.language_spanish

# ⬇️ Same status as overall feature ⬇️
# baseline: low
# baseline_low_date: 2023-09-18
# support:
# chrome: "88"
# chrome_android: "55"
# edge: "88"
# firefox: "43"
# firefox_android: "43"
# safari: "17"
# safari_ios: "17"
- css.properties.hyphens.auto

# baseline: low
# baseline_low_date: 2023-09-18
# support:
# chrome: "112"
# chrome_android: "112"
# edge: "112"
# firefox: "43"
# firefox_android: "43"
# safari: "17"
# safari_ios: "17"
- css.properties.hyphens.language_dutch
- css.properties.hyphens.language_italian
- css.properties.hyphens.language_russian
- css.properties.hyphens.language_swedish
- css.properties.hyphens.language_ukrainian

# baseline: low
# baseline_low_date: 2024-09-03
# support:
# chrome: "112"
# chrome_android: "112"
# edge: "112"
# firefox: "130"
# firefox_android: "130"
# safari: "17"
# safari_ios: "17"
- css.properties.hyphens.language_czech

# baseline: false
# support:
# chrome: "87"
# chrome_android: "87"
# edge: "87"
# firefox: "43"
# firefox_android: "43"
# safari_ios: "17"
- css.properties.hyphens.language_norwegian_nn

# baseline: false
# support:
# chrome: "87"
# chrome_android: "87"
# edge: "87"
# firefox: "43"
# firefox_android: "43"
- css.properties.hyphens.language_bulgarian
- css.properties.hyphens.language_estonian
- css.properties.hyphens.language_german_swiss_orthography
- css.properties.hyphens.language_german_traditional_orthography
- css.properties.hyphens.language_latin
- css.properties.hyphens.language_slovenian
- css.properties.hyphens.language_welsh

# baseline: false
# support:
# chrome: "112"
# chrome_android: "112"
# edge: "112"
# firefox: "43"
# firefox_android: "43"
- css.properties.hyphens.language_afrikaans
- css.properties.hyphens.language_galician
- css.properties.hyphens.language_lithuanian

# baseline: false
# support:
# chrome: "112"
# chrome_android: "112"
# edge: "112"
# firefox: "130"
# firefox_android: "130"
- css.properties.hyphens.language_slovak

# baseline: false
# support:
# firefox: "43"
# firefox_android: "43"
# safari: "17"
# safari_ios: "17"
- css.properties.hyphens.language_catalan
- css.properties.hyphens.language_finnish
- css.properties.hyphens.language_polish
- css.properties.hyphens.language_turkish

# baseline: false
# support:
# chrome: "87"
# chrome_android: "87"
# edge: "87"
- css.properties.hyphens.language_armenian
- css.properties.hyphens.language_assamese
- css.properties.hyphens.language_basque
- css.properties.hyphens.language_belarusian
- css.properties.hyphens.language_bengali
- css.properties.hyphens.language_cyrillic_mongolian
- css.properties.hyphens.language_ethiopic_script_und
- css.properties.hyphens.language_gujarati
- css.properties.hyphens.language_hindi
- css.properties.hyphens.language_irish
- css.properties.hyphens.language_kannada
- css.properties.hyphens.language_malayalam
- css.properties.hyphens.language_marathi
- css.properties.hyphens.language_old_slavonic
- css.properties.hyphens.language_oriya
- css.properties.hyphens.language_punjabi
- css.properties.hyphens.language_tamil
- css.properties.hyphens.language_telugu
- css.properties.hyphens.language_turkmen

# baseline: false
# support:
# chrome: "112"
# chrome_android: "112"
# edge: "112"
- css.properties.hyphens.language_albanian
- css.properties.hyphens.language_amharic
- css.properties.hyphens.language_ethiopic_script_mul
- css.properties.hyphens.language_georgian
- css.properties.hyphens.language_latvian
- css.properties.hyphens.language_modern_greek

# baseline: false
# support:
# firefox: "43"
# firefox_android: "43"
- css.properties.hyphens.language_bosnian
- css.properties.hyphens.language_esperanto
- css.properties.hyphens.language_icelandic
- css.properties.hyphens.language_interlingua
- css.properties.hyphens.language_kurmanji
- css.properties.hyphens.language_mongolian
- css.properties.hyphens.language_upper_sorbian