[css3-text] Resource At-Rule vs. Property, Syllabic vs. Morphemic Hyphenation

The examples for ‘hyphenate-resource’ as a at-rule or as a property currently are (shortened):

  @hyphenate-resource {
    en:    url(en-GB.hy);
    en-US: url(en-US.hy);
  }

  :lang(dk) {
    hyphenate-resource: url("hyph_da_DK.dic"), url("hyph_da_NO.dic")
  }

Could we combine those?

  @hyphenate-resource en /* _only_ BCP47 strings valid here? */ {
    src: url(en-GB.hy), url(en-US.hy);
    exceptions: "foo-bar", "foo-baz";
  }
  /* implies:
  :lang(en) {
    hyphenate-resource: en;
  }
  */
  :lang(en-AU) {
    hyphenate-resource: url(en-AU.dic), en;
    /* falls back to ‘en’ if ‘en-AU.dic’ cannot be found
       or if ‘dic’ format is unsupported */
  }
  name {
    hyphenate-resource: en;
    /* works regardless of language */
  }

I also wonder whether authors would like to switch between /syllabic/ and /morphemic/, maybe also /graphemic/ for some scripts, hyphenation, since some orthographies, e.g. German, allow both or used to do the one and now favor the other. This could be done with different resources, of course, or it could be done with a separate property, defaulting to ‘auto’. If the latter was chosen, the at-rule could get descriptors:

  @hyphenate-resource "foo" {
    src: url(en-GB.hy), url(en-US.hy);
    language: en;
    hyphenation: syllabic;
    exceptions: "foo-bar", "foo-baz";
  }

Received on Wednesday, 30 March 2011 16:41:45 UTC