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

norad default UFO serialization format #22

Open
chrissimpkins opened this issue Jul 28, 2021 · 5 comments
Open

norad default UFO serialization format #22

chrissimpkins opened this issue Jul 28, 2021 · 5 comments

Comments

@chrissimpkins
Copy link
Member

chrissimpkins commented Jul 28, 2021

Thread to track the stability of the norad UFO write format.

Current status: unstable
norad v1.0 tracker: linebender/norad#195

Defaults:

  • line endings: line feed (\n) across plist, glif, and fea files on all platforms
  • spacing: single tab per level
  • XML declaration header quote style around attributes: double quotes
  • plist lib keys are sorted in lexicographic ordering by Unicode code point value (see norad default UFO serialization format #22 (comment))
  glif plist fea
line ending line feed line feed line feed
XML declaration double quotes double quotes n/a
indentation spacing single tab single tab n/a
@chrissimpkins
Copy link
Member Author

chrissimpkins commented Jul 28, 2021

plist lib key sorting order changes linebender/norad#147

This approach supports lexicographic ordering by Unicode code point value as defined in the str type docs:

Strings are ordered lexicographically by their byte values. This orders Unicode code points based on their positions in the code charts. This is not necessarily the same as “alphabetical” order, which varies by language and locale. Sorting strings according to culturally-accepted standards requires locale-specific data that is outside the scope of the str type.

@chrissimpkins
Copy link
Member Author

Line endings: #4 (comment)

@chrissimpkins chrissimpkins changed the title norad UFO format norad default UFO serialization format Aug 16, 2021
@chrissimpkins
Copy link
Member Author

The decision was made to make line feeds the default serialization approach on plist, glif, and fea files across platforms.

linebender/norad#172

@chrissimpkins
Copy link
Member Author

plist dict elements: linebender/norad#179

@chrissimpkins
Copy link
Member Author

floating point numbers: linebender/norad#164

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant