hello, world\n
A few days ago I committed src/share/vt/fonts/gallant.hex to -CURRENT. This increased the glyph count from 502 to more than 4500.
This is the Gallant font, as used by the Sun Microsystems SPARCstation console, extended with glyphs for many Unicode blocks. It is a raster font with a 22x12 pixel character cell, descent 5 and ascent 17.
Major additions:
The attached zip contains gallant.fnt which you load with vidcontrol -f /path/to/gallant.fnt
Known issues with vt(4): double width characters outside of CJK show only the left half. This is a bug in vt(4) which uses a simplistic algorithm to determine whether a character is double width, when it should mimick libc's wcwidth(). The font contains them as double width characters. You may start with Markus Kuhn's UTF-8-demo.txt.
To explore, you can list codepoints with my little lscp.c program (also in the zip). It'll show something like this:
$ lscp 0x2a00 0x2a10
U+2a00 1 a ⨀ b N-ARY CIRCLED DOT OPERATOR
U+2a01 1 a ⨁ b N-ARY CIRCLED PLUS OPERATOR
U+2a02 1 a ⨂ b N-ARY CIRCLED TIMES OPERATOR
U+2a03 1 a ⨃ b N-ARY UNION OPERATOR WITH DOT
U+2a04 1 a ⨄ b N-ARY UNION OPERATOR WITH PLUS
U+2a05 1 a ⨅ b N-ARY SQUARE INTERSECTION OPERATOR
U+2a06 1 a ⨆ b N-ARY SQUARE UNION OPERATOR
U+2a07 1 a ⨇ b TWO LOGICAL AND OPERATOR
U+2a08 1 a ⨈ b TWO LOGICAL OR OPERATOR
U+2a09 1 a ⨉ b N-ARY TIMES OPERATOR
U+2a0a 1 a ⨊ b MODULO TWO SUM
U+2a0b 1 a ⨋ b SUMMATION WITH INTEGRAL
U+2a0c 1 a ⨌ b QUADRUPLE INTEGRAL OPERATOR
U+2a0d 1 a ⨍ b FINITE PART INTEGRAL
U+2a0e 1 a ⨎ b INTEGRAL WITH DOUBLE STROKE
U+2a0f 1 a ⨏ b INTEGRAL AVERAGE WITH SLASH
The status so far:
Have fun!
Jens
A few days ago I committed src/share/vt/fonts/gallant.hex to -CURRENT. This increased the glyph count from 502 to more than 4500.
This is the Gallant font, as used by the Sun Microsystems SPARCstation console, extended with glyphs for many Unicode blocks. It is a raster font with a 22x12 pixel character cell, descent 5 and ascent 17.
Major additions:
- Greek
- Cyrillic
- International Phonetic Association Extensions
- Extended Latin characters
- Zapf Dingbats
- Tons of arrows
- Tons of mathematical symbols
- Letterlike symbols and enclosed alphanumerics
- Pixel-perfect box drawing
- Currency symbols
- More punctuation
- Just enough Katakana to say コンニチハ
- Powerline glyphs in the Private Use Area at U+e0a0
The attached zip contains gallant.fnt which you load with vidcontrol -f /path/to/gallant.fnt
Known issues with vt(4): double width characters outside of CJK show only the left half. This is a bug in vt(4) which uses a simplistic algorithm to determine whether a character is double width, when it should mimick libc's wcwidth(). The font contains them as double width characters. You may start with Markus Kuhn's UTF-8-demo.txt.
To explore, you can list codepoints with my little lscp.c program (also in the zip). It'll show something like this:
$ lscp 0x2a00 0x2a10
U+2a00 1 a ⨀ b N-ARY CIRCLED DOT OPERATOR
U+2a01 1 a ⨁ b N-ARY CIRCLED PLUS OPERATOR
U+2a02 1 a ⨂ b N-ARY CIRCLED TIMES OPERATOR
U+2a03 1 a ⨃ b N-ARY UNION OPERATOR WITH DOT
U+2a04 1 a ⨄ b N-ARY UNION OPERATOR WITH PLUS
U+2a05 1 a ⨅ b N-ARY SQUARE INTERSECTION OPERATOR
U+2a06 1 a ⨆ b N-ARY SQUARE UNION OPERATOR
U+2a07 1 a ⨇ b TWO LOGICAL AND OPERATOR
U+2a08 1 a ⨈ b TWO LOGICAL OR OPERATOR
U+2a09 1 a ⨉ b N-ARY TIMES OPERATOR
U+2a0a 1 a ⨊ b MODULO TWO SUM
U+2a0b 1 a ⨋ b SUMMATION WITH INTEGRAL
U+2a0c 1 a ⨌ b QUADRUPLE INTEGRAL OPERATOR
U+2a0d 1 a ⨍ b FINITE PART INTEGRAL
U+2a0e 1 a ⨎ b INTEGRAL WITH DOUBLE STROKE
U+2a0f 1 a ⨏ b INTEGRAL AVERAGE WITH SLASH
The status so far:
Block | Name | Status |
---|---|---|
U+0000 - U+007F | Basic Latin | Complete |
U+0080 - U+00FF | Latin-1 Supplement | Complete |
U+0100 - U+017F | Latin Extended-A | Complete |
U+0180 - U+024F | Latin Extended-B | Complete |
U+0250 - U+02AF | IPA Extensions | Complete |
U+02B0 - U+02FF | Spacing Modifier Letters | Complete |
U+0300 - U+036F | Combining Diacritical Marks | Complete |
U+0370 - U+03FF | Greek and Coptic | Complete |
U+0400 - U+04FF | Cyrillic | Complete |
U+0500 - U+052F | Cyrillic Supplement | TODO |
U+0530 - U+1CFF | ...Many foreign alphabets... | TODO |
U+1D00 - U+1D7F | Phonetic Extensions | TODO |
U+1D80 - U+1DBF | Phonetic Extensions Supplement | TODO |
U+1DC0 - U+1DFF | Combining Diacritical Marks Supplement | TODO |
U+1E00 - U+1EFF | Latin Extended Additional | Complete |
U+1F00 - U+1FFF | Greek Extended | Complete |
U+2000 - U+206F | General Punctuation | Complete |
U+2070 - U+209F | Superscripts and Subscripts | Complete |
U+20A0 - U+20CF | Currency Symbols | Complete |
U+20D0 - U+20FF | Combining Diacritical Marks for Symbols | Complete |
U+2100 - U+214F | Letterlike Symbols | Complete |
U+2150 - U+218F | Number Forms | Complete |
U+2190 - U+21FF | Arrows | Complete |
U+2200 - U+22FF | Mathematical Operators | Complete |
U+2300 - U+23FF | Miscellaneous Technical | Complete |
U+2400 - U+243F | Control Pictures | Complete |
U+2440 - U+245F | Optical Character Recognition | Complete |
U+2460 - U+24FF | Enclosed Alphanumerics | Complete |
U+2500 - U+257F | Box Drawing | Complete |
U+2580 - U+259F | Block Elements | Complete |
U+25A0 - U+25FF | Geometric Shapes | Complete |
U+2600 - U+26FF | Miscellaneous Symbols | Partial |
U+2700 - U+27BF | Dingbats | Complete |
U+27C0 - U+27EF | Miscellaneous Mathematical Symbols-A | Complete |
U+27F0 - U+27FF | Supplemental Arrows-A | Complete |
U+2800 - U+28FF | Braille Patterns | Complete |
U+2900 - U+297F | Supplemental Arrows-B | Complete |
U+2980 - U+29FF | Miscellaneous Mathematical Symbols-A | Complete |
U+2A00 - U+2AFF | Supplemental Mathematical Operators | TODO |
U+2B00 - U+2BFF | Miscellaneous Symbols and Arrows | Partial |
U+2C00 - U+2C5F | Glagolitic | TODO |
U+2C60 - U+2C7F | Latin Extended-C | TODO |
U+2C80 - U+30BF | ...Many foreign alphabets... | TODO |
U+30A0 - U+30FF | Katakana | Partial |
U+3100 - U+A6FF | ...Many foreign alphabets... | TODO |
U+A700 - U+A71F | Modifier Tone Letters | TODO |
U+A720 - U+A7FF | Latin Extended-D | TODO |
U+A800 - U+AB2F | ...Many foreign alphabets... | TODO |
U+AB30 - U+AB6F | Latin Extended-E | TODO |
U+AB70 - U+FAFF | ...Many foreign alphabets... | TODO |
U+FB00 - U+FB4F | Alphabetic Presentation Forms | Partial |
U+FB50 - U+FFEF | ...Many foreign alphabets... | TODO |
U+FFF0 - U+FFFF | Specials | Complete |
Have fun!
Jens