by dpla
See also bin3x3grid_safe by dpla.

Download disabled

The designer of this FontStruction has chosen not to make it available for download from this website by choosing an “All Rights Reserved" license.

Please respect their decision and desist from requesting license changes in the comments.

If you would like to use the FontStruction for a specific project, you may be able to contact the designer directly about obtaining a license.


HOW T0 U53 17 2

MY MAPPING (512 glyphs from a 3x3 grid)

UNICODE map of glyphs in this 3x3 'font'
{tip : display it with a monospace font}

'*' = Discarded (64 non displayable)
'.' = Invalid (112 horiz. duplicate[s])
'X' = Valid glyph (400 chr in all)
'-' = Unused (beyond the 512th chr)

1. C0 Controls and Basic Latin

**************** = 000d-015d = 000-00F
**************** = 016d-031d = 010-01F
X...X.XX......XX = 032d-047d = 020-02F
....XXXX....XXXX = 048d-063d = 030-03F
X.XXX.XX..XX..XX = 064d-079d = 040-04F
XXXXXXXXXXXXXXXX = 080d-095d = 050-05F
......XX......XX = 096d-111d = 060-06F
....XXXX....XXXX = 112d-127d = 070-07F

2. C1 Controls and Latin-1 Supplement

**************** = 128d-143d = 080-08F
**************** = 144d-159d = 090-09F
..XX..XX..XX..XX = 160d-175d = 0A0-0AF
XXXXXXXXXXXXXXXX = 176d-191d = 0B0-0BF
....XXXX....XXXX = 192d-207d = 0C0-0CF
....XXXX....XXXX = 208d-223d = 0D0-0DF
XXXXXXXXXXXXXXXX = 224d-239d = 0E0-0EF
XXXXXXXXXXXXXXXX = 240d-255d = 0F0-0FF

3. Latin Extended-A

....XXXX....XXXX = 256d-271d = 100-10F
....XXXX....XXXX = 272d-287d = 110-11F
XXXXXXXXXXXXXXXX = 288d-303d = 120-12F
XXXXXXXXXXXXXXXX = 304d-319d = 130-13F
X.XXX.XX..XX..XX = 320d-335d = 140-14F
XXXXXXXXXXXXXXXX = 336d-351d = 150-15F
X.XXX.XX..XX..XX = 352d-367d = 160-16F
XXXXXXXXXXXXXXXX = 368d-383d = 170-17F

4. Latin Extended-B

..XX..XX..XX..XX = 384d-399d = 180-18F
XXXXXXXXXXXXXXXX = 400d-415d = 190-19F
..XX..XX..XX..XX = 416d-431d = 1A0-1AF
XXXXXXXXXXXXXXXX = 432d-447d = 1B0-1BF
XXXXXXXXXXXXXXXX = 448d-463d = 1C0-1CF
XXXXXXXXXXXXXXXX = 464d-479d = 1D0-1DF
XXXXXXXXXXXXXXXX = 480d-495d = 1E0-1EF
XXXXXXXXXXXXXXXX = 496d-511d = 1F0-1FF
XXXXXXXXXXXXXXXX = 512d-527d = 200-20F
XXXXXXXXXXXXXXXX = 528d-543d = 210-21F
XXXXXXXXXXXXXXXX = 544d-559d = 220-22F
XXXXXXXXXXXXXXXX = 560d-575d = 230-23F
---------------- = 576d-591d = 240-24F



a. Get the matrix order (top-lft.>btm.-rgt.) :


b. You get this dummy binary string :

123 456 879

c. Draw your 3x3 character, e.g. 'F' :


d. You get e.g. this string from c. :


e. Replace "X" with "1", and "." with "0" :

111 110 100

f. Drop the spaces from your string :

111 110 100

g. You get your final binary number :


h. Copy'n'paste it to a calculator, in binary :

111110100 = 500 as a decimal conversion

i. Now, because we cannot use 2 x 32 characters
from the UNICODE charts (see 1 and 2 above),
we have to shift our x value accordingly ;
Here is the simple calculation (+ 1 condition) :
x = x + 32 (+ 32 IF x > 159)
… Applied to our example :
x = 500 + 32 + 32
x = 564

j. Copy'n'paste it to a calculator, in decimal :

564 = 234 as a hexadecimal conversion
We have our UNICODE CODE POINT :-)

k. Copy'n'paste it to a good font viewer,
e.g. BabelMap ('Go to Code Point' field)…

l. Copy the selected character,
and you should get the following one : "ȴ"…

So, in UNICODE it corresponds to
'U+0234 : Latin Small Letter L with Curl',
while you mapped it as a 'F' from this 'font'.

Since this 'font' provides all the 3x3 glyphs,
you can try any possible combination with it.

Besides, if you design a complete ASCII set,
FontStruct has the easiest tool to build and
share it as a font.


Let's try and write 'FONTSTRUCT' in 3x3 :-)

• Chr|Bin.|Dec.+Calc.|Hex. Code Point|3x3 'Chr'

F = 111110100 = 500= 500+32+32= 564= 234 = 'F'
O = 111101111 = 495= 495+32+32= 559= 22F = 'O'
N = 111101101 = 493= 493+32+32= 557= 22D = 'N'
T = 111010010 = 466= 466+32+32= 530= 212 = 'T'
S = 011010110 = 214= 214+32+32= 278= 116 = 'S'
T = 111010010 = 466= 466+32+32= 530= 212 = 'T'
R = 110111101 = 445= 445+32+32= 509= 1FD = 'R'
U = 101101111 = 367= 367+32+32= 431= 1AF = 'U'
C = 111100111 = 487= 487+32+32= 551= 227 = 'C'
T = 111010010 = 466= 466+32+32= 530= 212 = 'T'

• Optional Concatenation From the Code Points :
[F] [O] [N] [T] [S] [T] [R] [U] [C] [T]
234 22F 22D 212 116 212 1FD 1AF 227 212

• Optional Concatenation From the Binaries :

• Further Compression : any method, any tool…

Comment by dpla 8th May 2013
If you need a tutorial for the 2x2 grid, here it is :
Comment by dpla 8th May 2013
Comment by dpla 8th May 2013
ƿƽýȒ ý ȧŧȷƪȷȵ ŤǮȷýŠ
Comment by ETHproductions 8th May 2013
YOU'RE A PRO, ETHproductions !!
(B.t.w. this 'font' is lame, coding stuff… ;-))


My nice 3x3 font still needs to be released…
So I cannot play with this 'code' without unveiling it a bit,
or without spoiling it on purpose, sorry !

Comment by dpla 8th May 2013
It would have taken me forever to figure out how to use this if you hadn't explained it. As it was, it took me 5 minutes to figure it out and 20 more (I think) to create the message. But it was worth the time it took, because it's quite fun! ;-)

I can't wait to see your 3x3 font. And don't worry, I'll enjoy using this. Thanks! :-)
Comment by ETHproductions 9th May 2013
Phew ! It was 1 chance out of 2 that you cheated to create your message (you know : by just picking the glyphs in e.g. BabelMap). So you definitely deserve the (somehow superlative) 'pro' wording. :-)

I may release the missing 3x4, 4x3 and 4x4 grids, since it may be useful e.g. for programmers(*) : 4 × 4 = 16, hence 2^16 = 65'536 glyphs (unfiltered ones, i.e. safe + unsafe when read horizontally), which is 128 times the size of this font ! (I'll ensure FS can manage it beforehand, or I'll stick with both simpler 12-dot grids.)
* : Without a selected series of glyphs (i.e. a legible 'font' from this exhaustive collection), you'll need this kind of 'universal micro font maker' even more than with the smaller 3x3 grid, else it'll take ages to pick up the glyphs one after the other to build your rough 3x4 / 4x3 / 4x4 font. Anyone can already use this 'bin3x3grid' font maker as an actual (universal 3x3) font, but the produced (encoded) gibberish will have to be decoded to be legible (by humans and computers/bots), which is a great limitation to this experiment.

“I can't wait to see your 3x3 font. And don't worry, I'll enjoy using this. Thanks! :-)”
> Things were delayed lately because of PowerDirector 8 limitations (close-up videos of my bitmaps - I'd need a better tool, but they're quite expen$ive)… Actually, for my forthcoming dedicated site, I needed to explain how to draw 'small characters'… i.e. hopefully, how to 'see' between pixels (no 'subpixel' in mind here !), as some tutorial. The pun was : smallest 'characters', either signs (letters) and humans (heroes).

[B.t.w. I think this dense pixel art of mine - small in size : 2x250 blocks of 8x8 px - features amongst the most detailed and realistic graphics ever seen and imaginable… it took me - only - a couple of days to draw it, with a lot of fun ; so, it did not require an amazing deal of patience, but as used to explain Picasso : it's a whole life of (bitmap) skill (understand : 'simplification') behind, too - perhaps 30 years in my case, though a lot less as 1-bit… This image contains/conceals many tributes and hidden, tiny details that only a high magnification, and a sufficient attention from the viewer - several minutes, perhaps 2x10 in all - can reveal, IMO. We'll see.]

When you say : “it's quite fun! ;-)” I agree, indeed (and we see you enjoy challenges too) : micro stuff is really fun, in part because they are not too complicated (except when dealing with 'removal of duplicates', and 'expectance of legibility', which makes all the difference between lame 3x3 fonts [from beginning or discouraged artists], and great 3x3 fonts [(almost) complete and (almost) legible]).
I hope I won't disappoint you. Anyway, if you think the legibility/logic is not good on such and such character, you'll be welcome to debate about it on my forthcoming site/forum. Also, I really hope it'll be 100 % free for any use at the end (FS is probably the best place to quickly file and share it), but as a transitional release (with or without font files), i.e. during the period of approval/finetuning, and the possible related advertisement (making my 3x3 as the unique reference - people cannot remember more), the license will be limitative. Bare in mind it's years of work, contrary to pseudo 3x3 fonts released e.g. on FS after at most days of unfinished trials… which has a co$t.

“I can't wait to see your 3x3 font.”
> 'So do I.' (It sounds Japanese - they love tiny stuff ! Do I have Japanese ancestors ? LOL)
Comment by dpla 10th May 2013
"4 x 4 = 16, hence 2^16 = 65'536 glyphs"
> Well, there's only 65,536 glyphs in all Plane 0 of Unicode, and I don't think Fontstruct supports them all, so 4x4 is pretty much impossible(for now).

I'm working on a strictly 3x3 multilingual font, which I will make (mostly) legible and (almost) without any duplicates, except for the duplicates between languages (i.e. A, alpha, cyrillic A).

I've also created a 3x3 bitmapping "font" that is monospaced and can be connected both horizontally and vertically (vertically only after downloading), usable for creating pixel fonts bigger than 3x3 with the same process. I will publish it soon, with information on how to use it.

BTW, thanks for chatting with me, I'm really enjoying it! :-)
Comment by ETHproductions 10th May 2013
• OK, then sorry for UNICODE & FS…
(The Flash plugin crashes here with smaller 'fonts',
e.g. on Umbreon126's 3x4 'FS NP12' font :
Is it the same trick with a smaller array ?

• “3x3 multilingual font” sounds great !
I only tried basic Greek & Cyrillic (but with many accents, full extended ASCII, plus plenty of symbols), in 3x4 and without dupes, so your experiment will be quite interesting for me, and useful to anyone loving pixels IMO !

• Your 'pixel editor' (or any name you'll find) sounds promising, too. Personnally, I still need to clone my bin*x*grid 'fonts' to monospace ('bin*x*grid_mono' should be their name), after I can adjust them via FS (I need a lot of learning, as a FS n00b ! I never made a fix-width font, LOL). They won't 'lack' the separator (1-px row in x & y), as yours. B.t.w. why did you choose 3x3 for this full control over the pixels ? Perhaps 3x4 (see the link above) or 4x3 could save on more input chrs (i.e. shorter text for the same generated graphics)… 2^12 makes 4'096 possible glyphs (graphics elements), thus it's feasible (though possibly even more difficult to get the Code Points using my binary method, if we stumble on new undisplayable chrs). Anyway, I'm looking forward to see your attempts. Send me a PM if I'm gone, even if I missed them, so that I can comment when I go back.
Comment by dpla 10th May 2013
ƾƽýȒ ý ūǵƧýȒ ŤǮƧýŠ
Comment by Umbreon126 11th May 2013
> Thank you, cool experimenters !

@ETHP. : looking forward to your new dev' !
Comment by dpla 11th May 2013
"Wow, such a cool stuff! Quite usable, perhaps for making secret messages...
No idea for the other technical thing, though. But this is quite fun and I enjoy it :)"

Comment by cablecomputer 13th May 2013
Look at this crazy text: ⁂‽3̨ŢG̨f̨ųs̨r̨ąw̨b̨?̨2̨
Comment by Account Moved (Groszak) 14th May 2013
Comment by Account Moved (Groszak) 14th May 2013

Also of Interest


Get 10% off the world’s leading font editor for OSX.

More from the Gallery

bin3x3grid_safeby dpla
D33SPMby dpla
D33SPM V25by dpla
Retro gamin, wasted matrixby dpla
Marshmallow Scriptby LexKominek
G1 Fasttraxby geneus1
G1 NanoCoreby geneus1

From the Blog


Twenties Comp


Supporting FontStruct: Introducing FS Patrons


OpenType Downloads (with CFF outlines)