Skip to content

Add control pictures#153

Open
zacharie-moughanim wants to merge 15 commits intotypst:mainfrom
zacharie-moughanim:main
Open

Add control pictures#153
zacharie-moughanim wants to merge 15 commits intotypst:mainfrom
zacharie-moughanim:main

Conversation

@zacharie-moughanim
Copy link
Copy Markdown
Contributor

The "whitespace glyph" is the symbol often used to designate the spacebar on keyboards : ␣.
I'm honestly not sure about the name, nor if it is pertinent to put it as a variant of space, which always designate whitespaces.

@MDLC01
Copy link
Copy Markdown
Collaborator

MDLC01 commented Apr 7, 2026

Note that a similar character exists in Unicode: U+2420 ␠ SYMBOL FOR SPACE. Both come from the Control Pictures block.

@MDLC01 MDLC01 added the waiting on reviews Breaking and non-breaking changes need respectively 3 and 2 reviews label Apr 7, 2026
@Enivex
Copy link
Copy Markdown
Collaborator

Enivex commented Apr 7, 2026

The name in html is blank, but https://www.compart.com/en/unicode/U+2422 also exists

@zacharie-moughanim
Copy link
Copy Markdown
Contributor Author

Maybe we could remove forget about the name space.glyph, add the name blank and group ␣, U+2420, U+2422 as variants of this name, what do you think ?

@MDLC01
Copy link
Copy Markdown
Collaborator

MDLC01 commented Apr 7, 2026

According to French Wikipédia, U+2422 ␢ is used in theoretical computer science.1 I am struggling to find uses of this symbol other than the book mentioned on this page, and unable to locate the proposal that lead to its inclusion to Unicode. I do not know whether we actually want to assign it a name.

My intuition is that the graphic pictures for control codes (i.e., 2400..2421 and 2424) should be in their own sub-module because they are so clearly related without being variants of each others. Then, U+2423 ␣ could either be a variant of U+2420 ␠ and U+2422 ␢ sym.blank, or U+2423 ␣ could be its own symbol outside of the sub-module but that causes a potential collision if we want to include U+2422 ␢ as well.

Footnotes

  1. https://fr.wikipedia.org/wiki/%C9%83#Symbole_blanc

@MDLC01
Copy link
Copy Markdown
Collaborator

MDLC01 commented Apr 8, 2026

Also, don't forget to update the changelog to mention the addition(s).

@zacharie-moughanim
Copy link
Copy Markdown
Contributor Author

Just added each symbol representing a non-printable character under a submodule control :

␀ // symbol for null
␁ // symbol for start of heading
␂ // symbol for start of text
␃ // symbol for end of text
␄ // symbol for end of transmission
␗ // symbol for end of transmission block
␅ // symbol for enquiry
␇ // symbol for bell
␇ // symbol for backspace
␉ // symbol for horizontal tabulation
␋ // symbol for vertical tabulation
␊ // symbol for line feed
␌ // symbol for form feed
␍ // symbol for carriage return
␎ // symbol for shift out
␏ // symbol for shift in
␐ // symbol for datalink escape
␑ // symbol for device control one
␒ // symbol for device control two
␓ // symbol for device control three
␔ // symbol for device control four
␆ // symbol for acknowledge
␕ // symbol for negative acknowledge
␖ // symbol for synchronous idle
␘ // symbol for cancel
␙ // symbol for end of medium
␚ // symbol for substitute
␦ // symbol for substitute form two
␛ // symbol for escape
␜ // symbol for file separator
␝ // symbol for group separator
␞ // symbol for record separator
␟ // symbol for unit separator
␠ // symbol for space
␡ // symbol for delete
␥ // symbol for delete form two
␢ // blank symbol
␣ // open box
␤ // symbol for newline

I got most of the names from compart and from this wikipedia page.

@Enivex
Copy link
Copy Markdown
Collaborator

Enivex commented Apr 10, 2026

I think we should use the full words acknowledge, substitute, synchronous, escape, and delete

Edit: Missed a couple

@zacharie-moughanim
Copy link
Copy Markdown
Contributor Author

I think we should use the full words acknowledge, substitute, synchronous, escape, and delete

Edit: Missed a couple

Done

Copy link
Copy Markdown
Collaborator

@MDLC01 MDLC01 left a comment

Choose a reason for hiding this comment

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

For the control code pictures, I am wondering whether it would actually be better to use the common abbreviations for the symbols (e.g., as listed at https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)#Table_of_characters), which seems to match the letters displayed on the corresponding glyphs?

Right now, multiple variants feel weird, such as heading.start or transmission.end, because they seem to imply the existence of a dual variant (heading.end and transmission.start) that does not in fact exist (or rather, it exists under a different name: heading.end is text.start and transmission.start is heading.start). I feel like most control codes exist as is and aren't variants of each others, so using separate names would make more sense.

Comment thread src/modules/sym.txt Outdated
Comment thread src/modules/sym.txt Outdated
Comment thread src/modules/sym.txt Outdated
Comment thread src/modules/sym.txt
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I have to say I don't like this breaking words into modifiers just for the sake of it, especially when there's no meaningful default variant.

@zacharie-moughanim
Copy link
Copy Markdown
Contributor Author

Replaced each name from the control submodule to abbreviations.
Therefore, I only left the abbreviations in this submodule.
I put the two symbols that are used as keyboard labels out of the module, under the names spacebar for and delete for .
Two symbols from the control pictures block remains : and , but they seemingly does not fit within the control submodule, and are not used in keyboard labels, so I left them out of this pr.

@zacharie-moughanim
Copy link
Copy Markdown
Contributor Author

Also, there are four symbols whose name is not the exact abbreviations, device controls (1, 2, 3, 4) since apparently numbers aren't allowed in symbol names.
I looked at the name for dice, so I named them dc.one ␑, dc.two ␒, dc.three ␓, dc.four ␔.
The default is dc.one which is arbitrary. Tell me if there is a better way to name them.

Comment thread src/modules/sym.txt Outdated
Comment thread CHANGELOG.md Outdated
@MDLC01 MDLC01 changed the title Add name for the "whitespace glyph" symbol. Add name for the "whitespace glyph" symbol Apr 17, 2026
@MDLC01 MDLC01 changed the title Add name for the "whitespace glyph" symbol Add control pictures Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting on reviews Breaking and non-breaking changes need respectively 3 and 2 reviews

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants