Skip to content

Tags and Variation Selectors Supplement in the file name #1885

Closed

Description

@xfq

https://w3c.github.io/epub-specs/epub33/core/#sec-container-filenames

File Names MUST NOT use the following [Unicode] characters, as commonly used operating systems may not support these characters consistently:
[...]
Tags and Variation Selectors Supplement (U+E0000 … U+E0FFF)

The i18n WG noticed that restrictions on Tags and Variation Selectors Supplement may prevent the use of emoji tag sequence (ETS). If the file system allows these code points to be included in file names, this may be a barrier to users or ends up with requirements being ignored.

Activity

  1. added
    i18n-needs-resolutionIssue the Internationalization Group has raised and looks for a response on.
    on Oct 29, 2021
  2. dauwhe commented on Nov 1, 2021

    @dauwhe
    Contributor

    I'm having a little trouble testing this. I want to test a filename with the England flag emoji 🏴󠁧󠁢󠁥󠁮󠁧󠁿 (U+1F3F4, U+E0067, U+E0062, U+E0065, U+E006E, U+E0067, U+E007F). But browsers seem to turn that sequence into a different sequence with surrogate pairs (I think, I'm out of my depth here):

    U+D83C U+DFF4
    U+DB40 U+DC67
    U+DB40 U+DC62
    U+DB40 U+DC65
    U+DB40 U+DC6E
    U+DB40 U+DC67
    U+DB40 U+DC7F

    Anyway, I did make an EPUB with the content file named 🏴󠁧󠁢󠁥󠁮󠁧󠁿.xhtml. Seemed OK in iBooks and Thorium. ADE 4.5 crashed repeatedly when trying to open the file.

  3. mattgarrish commented on Nov 8, 2021

    @mattgarrish
    Member

    Interestingly, epubcheck doesn't complain if I put emojis in file names, or even if I drop E0020 straight into a file name.

    From what I've found, the tag characters were undeprecated in Unicode 8 in 2015:

    The range of tag characters (U+E0020..U+E007E) was changed from Deprecated=True to Deprecated=False in Version 8.0. This change was done to clear the way for the potential future use of tag characters for a purpose other than to represent language tags.

    https://unicode.org/versions/Unicode8.0.0/#Migration

    With E007F being subsequently undeprecated in Unicode 9. But I don't recall these changes getting on our radar, so it seems like we should carve out an exception.

    Could we maybe just reference tr51 for this:

    Tags and Variation Selectors Supplement (U+E0000 … U+E0FFF), excluding those allowed in the Emoji Tag Sequence [TR51]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    EPUB33Issues fixed in the EPUB 3.3 revisionSpec-EPUB3The issue affects the core EPUB 3.X Recommendationi18n-needs-resolutionIssue the Internationalization Group has raised and looks for a response on.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions