Adding & Modifying Character Suites

From DPWiki
Jump to navigation Jump to search

DP does not have character suites that cover all Unicode characters. Current character suites are listed on the All Character Suites page. If needed, additional character suites can be added or, with some limitations, modified.

Adding new suites

The overall process for adding a new character suite is:

Determine a need for a new suite

Experience had shown that to build a new character suite we need both sufficient interest in one, and a set of language experts to ensure it is built correctly. Character suites have a long-lasting impact and need to be developed with care.

Gather all necessary information required to implement the new suite

We want the full set of languages that the new suite will support that aren't handled by other suites. If another suite partially supports a language, we should consider adding the characters to the existing suite.

At the same time, we need the full set of characters needed to support the languages being proposed. For Latin-based scripts, the characters should be only those that are not in Basic Latin.

Verify the suite has community agreement and meets technical requirements

  • Does the set of languages and characters satisfy the original need?
  • Do our two primary fonts, DP Sans Mono and DejaVu Sans Mono, have support for the full character suite? If not,
    • What are the gaps and implications?
    • Should font support be added for DP Sans Mono before characters are added that don't have font support?

Implement, validate, and roll-out the suite

The developers will create the suite and work with experts and the community to develop the correct picker sets and determine whether this meets the needs set out by the original design. Rinse and repeat as needed. Part of this process includes determining the final display name for the character suite, as well as the tags and display names for the picker sets.

After the experts and involved community view the various iterations, and final agreement that the designed suite satisfies the needs and languages set out in the initial design or as modified during the process, the new suite is rolled out and enabled for the site.

Caveat

Note that there are some languages for which it is impractical to build character suites large enough to be useful. For example, it would be possible to include the hiragana and katakana syllabaries for Japanese, but impossible to include even a fraction of the kanji.

Modifying existing suites

Existing character suites can be modified with some caveats.

Removing characters

Because character suites define the set of valid characters for a project, removing a character from the suite can result in pages having invalid characters that were valid when they were used. Correctness aside, this will result in users who next try to save a page with the now-invalid character being told that the character in question will be removed if they continue. Because of this, our current policy is to not remove characters from character suites.

We can, and have, removed characters from one or more of a character suite's picker sets to prevent users from easily using those characters in projects, but the characters are still valid within the project. If a character suite has characters in it that are not in a picker set, these will be shown at the bottom of the character suite's definition page.

Adding characters

The more common case for modifying character suites is adding a few additional characters to expand the languages that can be covered by an existing suite. In this case the process is much the same as adding a new suite, just with a narrow focus on the additional characters desired.