10 Replies - 833 Views - Last Post: 31 March 2021 - 04:34 AM

#1 finetunewithhammer   User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 86
  • Joined: 05-February 21

Proposal for unique glyphs to represent hexadecimal values

Posted 16 March 2021 - 04:51 AM

Hexadecimal digits are conventionally used to represent 4-bit data. Here I propose a new set of glyphs for this purpose with the added feature that the bit values are directly readable from the shape of the glyph. Visual bitwise logical operations can be performed on these glyphs.

Each glyph is constructed with an identical horizontal line, giving them a uniform recognizable look. Think of the horizontal line as a divider, that splits the glyph into two rows. The row above the horizontal divider stores bits 3 and 2, the row below it bits 1 and 0.

The bits are represented in the glyph by rectangular protrusions. There are four positions around each central divider for the bit protrusions. The locations for bits in order of significance is top left, top right, bottom left, bottom right.

Each glyph can be seen as a sum of integers corresponding to the bits in a 4-bit nibble. These integers are [8,4,2,1]. The presence of any of these bits can be read directly from the shape of the glyph.

The glyphs should be distinguishable with ease, when written in usual font sizes, such as 12 @ 72 DPI. Designing variants for these glyphs in different fonts should take into consideration readability. Each glyph should be equally wide. The central line is identical for each glyph. All glyph protrusions should be identical. There needs to be enough space between glyphs and within glyphs between bit protrusions. A string of HexGlyphs should look uniform, flow naturally, distinct glyphs and all bit protrusions should be distinguishable at a glance.

With practice, the shape of these glyphs should ultimately provoke the ideas of the corresponding bit field as a binary number, the value of the number, be it in octal, decimal or hexadecimal, and anything else associated with that particular integer. Since these glyphs are separate from decimal number glyphs and letter glyphs used in hexadecimal, the glyphs will in themselves indicate a number where the binary representation is of importance.

The value of these glyphs is in the fact that bit operations can be made visually. You can see what glyph results from NOT, AND, OR and XOR, by just looking at the strings of input glyphs (preferably on top of each other) and visually doing the appropriate filtering just as in binary.

As a happy coincidence, these glyphs can be easily represented on an ordinary 7-segment display (those rectangular number displays on old VCRs and microwave ovens).

These glyphs need their own code points in a character set. Within applications, text written using these glyphs should be interpreted as text or numbers depending on the context. It would be preferable to get consecutive code points for these glyphs. New glyphs should not be introduced in mainstream use without careful consideration.

Here you can download a ttf font http://www.elisanet....h/HexGlyph4.ttf with HexGlyphs.
The HexGlyphs in the font HexGlyph4 are stored in the code points for the characters [0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F]. This font is provided for testing and reference. These glyphs should be appointed their own code points in a character set.

Here are links to the images in case I screwed up the 'Insert Image' http://www.elisanet....h/hexglyph4.png
http://www.elisanet....yph/setBits.png

I would like to get some feedback on how viable my idea is.

How can the idea of HexGlyphs be improved?
How can my explanation of what HexGlyphs are be improved?
How can my implementation of the idea be improved?
Are my design constraints for font designers implementing HexGlyphs sound?
Is something expressed ambiguously in these design constraints?

How does one go about lobbying standardization authorities responsible for character sets?

Posted Image
Posted Image

Is This A Good Question/Topic? 1
  • +

Replies To: Proposal for unique glyphs to represent hexadecimal values

#2 andrewsw   User is offline

  • no more Mr Potato Head
  • member icon

Reputation: 6946
  • View blog
  • Posts: 28,674
  • Joined: 12-December 12

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 16 March 2021 - 05:18 AM

Quote

How can my explanation of what HexGlyphs are be improved?

What is the ultimate goal? What are the benefits?
Was This Post Helpful? 1
  • +
  • -

#3 finetunewithhammer   User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 86
  • Joined: 05-February 21

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 16 March 2021 - 05:39 AM

Benefits:
Numbers written in hexadecimal need a prefix 0x to be distinguishable from decimal numbers in cases where no digit has a value above 0xA. With HexGlyphs you know the number is in hexadecimal without any prefix.

Any number written in HexGlyphs is just as compact (takes as few glyphs to write) as a hexadecimal number. Network addresses and subnet masks written in HexGlyph have the convenience of binary, decimal and hexadecimal. In binary bitmasks can be applied visually. In decimal we have a large enough glyph set to make the numbers shorter, while still using glyphs dedicated to use as numbers. In hexadecimal we have exactly two glyphs per byte. All this is true for HexGlyphs.

A number written in HexGlyph is recognizable as a number (in hexadecimal) in any context and without any prefix.

The ultimate goal:
To take over the world!
Having a dedicated set of glyphs to represent hexadecimal.
Getting a glyph set for hexadecimal implemented in at least 16-bit Unicode.
Was This Post Helpful? 0
  • +
  • -

#4 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7733
  • View blog
  • Posts: 25,851
  • Joined: 05-May 12

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 16 March 2021 - 08:24 PM

Also if the glyphs are designed well enough, when you are looking a 0xB08A6b, it'll be harder to mistake the 'B' for an '8' or a '0' (most programmers select fonts with a slash through the '0'), or a '6' and a 'b'.

I like the concept and simplicity of the design. My only wish was that it had a natural indicator to establish which way is up. An up reference would then help establish left and right. The reason is that although the glyphs would more likely show up on a computer screen with a well established up, it may also show up on stickers for devices to give a MAC address or serial number.
Was This Post Helpful? 1
  • +
  • -

#5 finetunewithhammer   User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 86
  • Joined: 05-February 21

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 17 March 2021 - 02:04 AM

I agree that it is problematic to have to rely on external cues (that may not be present) to determine if the writing is upside down. It certainly is the case with HexGlyphs where any glyph is valid when turned upside down, and with the exception of 0x0 and 0xF is a different number.

One approach would be to draw the protrusions for say bit 3 and 2 differently from the protrusions for bit 1 and 0. This would somewhat defeat the purposefully monotone esthetic of the glyphs. Each bit should have an equally prominent presence.

My first idea to remedy this would be to add a thin line connecting the tips of the lower protrusions, like a separate underlining for each glyph. This would at extreme cases effect readability, the connecting line could make it seem like both bits 0 and 1 were set when in fact only one is. Having parts of a glyph that are not connected seems intuitively confusing to me, I can not quite articulate why this is.

I also considered making the central horizontal line a slight up-arrow (caret ^ shaped), shallow enough that the protrusions for bits 3 and 2 are still prominent enough to visually overpower it. The central line would be horizontal at the edges, for the duration of the width of protrusions. This could be one option.

Adding a small ring (not a filled circle) sideways centered, on top of the dividing horizontal line is another possibility. The diameter of this ring should be approximately equal to the width of a bit protrusion, but be less than twice its height. Using a circular element among all the rectangles should avoid confusion.

The benefit of adding either the caret-shape or the ring to the central line would also be to avoid confusing 0x0 with a dash, should it be used for instance as a separator. I think that amending the specification to at least allow for, if not dictate, the use of either of these is a good idea.
Was This Post Helpful? 0
  • +
  • -

#6 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7733
  • View blog
  • Posts: 25,851
  • Joined: 05-May 12

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 17 March 2021 - 06:44 PM

I suspect the ring would discourage handwriting the values, and that people quickly jotting notes would end up using a dot. On the other hand, someone handwriting the symbols would know naturally which direction is up, so there is no need for it.

Any particular reason why you are not using the UPA block of Unicode, and instead using the ASCII code points? Is it for quick testing purposes where you could select some hex values written in ASCII and quickly apply your font to see the HexGlyphs?
Was This Post Helpful? 1
  • +
  • -

#7 finetunewithhammer   User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 86
  • Joined: 05-February 21

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 18 March 2021 - 03:01 AM

When writing by hand I'm sure most people would omit the ring. Having it as an option for some fonts should still be OK, and of course these will evolve if ever adopted for serious use.

I was initially coveting 0xC0..0xCF as it is a nice juicy continuous chunk of underutilized symbols, but I did not want to associate any particular usable code points to HexGlyphs and set a bad precedent that might become commonplace 'for historic reasons' no matter how unlikely that would be.

I chose 0x30..0x39 (0..9) 0x41..0x46 (A..F) party because it is simple to write on a keyboard, and party because it is impossible to use the resulting font for anything real. The 'images' I posted are made on a spreadsheet and text editor, I just changed the font for the parts where appropriate. Seemed like the simplest solution.

Unicode is somewhat confusing. If anyone knows a good available block of 16 continuous code points, I'd like 'her' number(s).
Was This Post Helpful? 1
  • +
  • -

#8 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7733
  • View blog
  • Posts: 25,851
  • Joined: 05-May 12

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 25 March 2021 - 02:08 PM

Check out the tail end of the OCR range. U+2450 - U+245F . (Yes, I do find it funny that Unicode characters are traditionally referred to using hex digits.)


Considering that these glyphs will not only help humans recognize hex digits, but also computers, may the OCR range is the correct home for them.
Was This Post Helpful? 1
  • +
  • -

#9 finetunewithhammer   User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 86
  • Joined: 05-February 21

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 29 March 2021 - 05:14 AM

HexGlyphs now have individual names. The purpose for these names is to differentiate these 'numbers' from the names of numbers in other bases, that may be used to signify some HexGlyphs. Of course this naming system may be used for any hexadecimal number, even if it is not written in HexGlyphs.

I wanted the names to be in some, possibly entirely subjective, way related to the concepts of the quantities the numbers represent. I also wanted the names to be pronounceable universally. I do not know that they are, but I did my best with what I know.

There are several 'problems' or conceptual differences between these names and the names used for conventional decimal digits. Firstly 'syllables' (if they even are technically syllables, I'm no expert) of the name words represent different parts of the 'bit field'. The first 'syllable' represents the bits 3 and 2 (the ones above the central dividing line) and the second syllable represents bits 1 and 0 (the ones below the central dividing line.

Here are two sets of more than 1k words (pictures) to explain this further.
http://www.elisanet....xGlyphNames.jpg
http://www.elisanet....onstruction.jpg

The names consist of [n,d,k,w] + a + [-,i,t,n] (where '-' indicates no letter.) na, nai, nat, nan, da, dai, dat, dan, ka, kai, kat, kan, wa, wai, wat, wan. See the images for clarity.

I chose the sounds for the syllables for how their sound seems to express some concept related to the number it represent. I realise this may be highly subjective. Let us start with the names for 1,2 and 3. 'i' to me, when pronounced sharply (like the first 'i' in 'divide' not 'pie') sounds like unity, one. 't' might have reminded me of "two", but I don't think that is the case. When contrasted with the sound of 'i', 't' seems like an appropriate sound for a pair, the concept of two, or we/us. The softer 'n' seemed like a good sound for the concept of more than two, a community or a group, that being 3 (or more), so 'n' got chosen for 3. Should 0 have a softer sound than 1. Should it have no sound? I opted for no sound, for the "lower set" of bits [0, 1]. But a name can not be empty. We still have to represent the higher bits [2, 3] in the name. For no bits set in the higher group I chose 'na' so, zero becomes 'na' one becomes 'nai', two becomes 'nat', and three becomes 'nan'.

Since we picked 'na' for the smallest set of bits [2, 3] I thougt we should have similar syllables with an increasing amount of "weight of presence" or forceful gravitas, for the subsequent sets. 'na' [00xx] sounds soft, 'da' to me sounds less soft so it is chosen for [01xx]. Now we need two more syllables stronger than 'da' that are also distinct from eachother. I chose 'ka' for [10xx]. 'na' 'da' 'ka' seems to have an increasing amount of oompf to them. What can we find that is stronger than 'ka'? I concidered 'ra' but excluded it as it may not be universally pronounced strongly. 'wa' is not a sharp strong, rather a thundering strong, to me it outshines 'na' 'da' and 'ka' in power, so it was chosen for the final set [11xx].

Any feedback on this is highly appreciated.
Calling 0011 nan is confusing since NaN is not a number.
Is it confusing that 0000 is just na. Should there be a 'syllable' or letter for xx00, as there are for xx01 xx10 and xx11?
The numbers are {na, nai, nat, nan, da, dai, dat, dan, ka, kai, kat, kan, wa, wai, wat, wan}.
Are any of these particularly difficult to pronounce in any language?
Have I used a name already in use for a number in some language?
How difficult do you think learning these names would be?
Was This Post Helpful? 0
  • +
  • -

#10 Skydiver   User is online

  • Code herder
  • member icon

Reputation: 7733
  • View blog
  • Posts: 25,851
  • Joined: 05-May 12

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 29 March 2021 - 09:19 PM

My gut feel is that the linguist that they have consulting for SciFi/Amazon series "The Expanse" may have a lot of useful thoughts and experience on how to assign sounds and names to the glyphs. I can't recall his name right now, though, but as I recall there was an article about his work relatively recently.
Was This Post Helpful? 1
  • +
  • -

#11 finetunewithhammer   User is offline

  • D.I.C Head

Reputation: 17
  • View blog
  • Posts: 86
  • Joined: 05-February 21

Re: Proposal for unique glyphs to represent hexadecimal values

Posted 31 March 2021 - 04:34 AM

After playing around a bit with these names, trying to get fluent in them, trying to count with them, I've realized that there should be a sound for xx00, that being; when the lower bits have the value 00. o feels natural both for representing zeroness and to pronounce. na, da, ka, wa, would become nao, dao, kao, wao.

When thinking about, a particular HexGlyph, be it as a HaxGlyph symbol, or a 4-bit field, I tend to visualize the bit field, and have thus been associating
00xx na
01xx da
10xx ka
11xx wa
and
xx00 (empty, nothing)
xx01 i
xx10 t
xx11 n

I have found that imagining xx00 and not having any sound associated with it, is confusing. for simplicity I think adding o to symbolize xx00 (which was previously silent) will ease the process of learning these names.
If anyone has been interested enough to keep reading this, I thank you.

btw, do you think HexGlyphs is a good name for the symbols, or should it be something else? 'bitfieldglyphs' is what I called the directory for this project, so I guess it was the first name, but it is simply too long.

For the names for the numbers 0x0..0xF I think calling these numbers as a whole the naowan (was nawan) is a good name. As discussed above we will be adding o to represent xx00. nao is 0000 and wan is 1111 so all the numbers 0000..1111 are naowan. Makes sense, no?

Should the HexGlyphs also be called Naowan, or should that name be reserved for the names for the numbers?

Any input on this is highly valued, I'd especially like to know when you guys get sick of hearing me yammer on about this nonsense.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1