Compare commits

...

5 commits

7 changed files with 27413 additions and 0 deletions

View file

@ -0,0 +1,54 @@
Garmr - The default FENIX UI font
=================================
I don't plan on building OTF and TTF support into any GUI I build. After all,
that's well outside of my area of expertise, and I'm already way out of my depth
anyways. Thankfully, BDF/PCF fonts are much simpler. So, bitmap it is.
Garmr is the official font for any FENIX UI. It's a proportional bitmap font
with intended full Unicode BMP coverage. Right now, it's just going to be the
single 12 px high font, but we may add a proper larger variant in the future.
For now, integer multiples will have to do.
The Todo file lists all the blocks in the basic multilingual plane in the rough
order I intend to do things. Being me, I'll likely jump around a lot, just like
how I've started this font despite still not having a working kernel. But it is
a decent general order. The biggest oddity (other than it not being in strict
order) is probably CJK unified ideographs being at the end, but that's a *lot*
of glyphs to do, plus figuring out regional variants if I can. Basically, I'd
rather get most of the progress on literally everything *then* worry about that
entire can of worms. Yeesh. Otherwise, I mostly just put things into a more
interesting order for me with some practically mixed in. Basic three European
scripts, then a bunch of symbols, then work on some smaller things that I don't
necessarily know much about. And, it gives more useful symbols than Latin
Extended-D. Like, yep. Sure. More Latin characters that no one uses. Great.
But enough rants about Unicode.
Building
--------
If you want to turn this into a proper font, I'm doing this in FontForge. Just
open it up in FontForge and there should be an option under the File menu. I'll
add proper instructions here later.
Contributing
------------
If you'd like to add glyphs yourself, remember that this is a proportional font,
so don't leave everything the same width. I tend to leave 1 pixel on either
side. As for style, use the stuff I've done as a guide.
Portability
-----------
I haven't decided on BDF or PCF, but those are both standard. They should be
fine on pretty much any system. The build file is done in FontForge, but it
might work in other font design software? I dunno.
Copyright
---------
Licensed under CC-BY 4.0 by Katlynn Richey
Garmr is a free font. Feel free to modify and/or distribute it!
See the file COPYING for more details.

162
miscellany/garmr_font/Todos Normal file
View file

@ -0,0 +1,162 @@
Basic Multilingual Plane
Basic Latin (0-7F): Complete!
Latin-1 Supplement (80-FF): Complete!
Latin Extended-A (100-17F): Complete!
Latin Extended-B (180-24F): Complete!
Greek and Coptic (370-3FF): Complete!
Cyrillic (400-4FF): Complete!
IPA Extensions (250-2AF): Complete!
Cyrillic Supplement (500-52F): Complete!
Symbols (2000-2BFF)
General Punctuation (2000-206F): Visible symbols complete*
Superscripts and Subscripts (2070-209F): Complete!
Currency Symbols (20A0-20CF): Complete!
Letterlike Symbols (2100-214F)
Arrows (2190-21FF): Complete!
Mathematical Operators (2200-22FF): Complete!
Miscellaneous Technical (2300-23FF): Complete!
Miscellaneous Symbols (2600-26FF)
Braille Patterns (2800-28FF)
Control Pictures (2400-243F): Complete!
OCR (2440-245F): Complete!
Dingbats (2700-27BF)
Box Drawing (2500-257F): Complete!
Number Forms (2150-218F): Complete!
Miscellaneous Mathematical Symbols-A (27C0-27EF)
Miscellaneous Mathematical Symbols-B (2980-29FF)
Supplemental Mathematical Operators (2A00-2AFF)
Enclosed Alphanumerics (2460-24FF)
Block Elements (2580-259F): Complete!
Geometric Shapes (25A0-25FF): Complete!
Supplemental Arrows-A (27F0-27FF)
Supplemental Arrows-B (2900-297F)
Miscellaneous Symbols and Arrows (2B00-2BFF)
Combining Diacritical Marks for Symbols (20D0-20FF): Complete!
Spacing Modifier Letters (2B0-2FF)
Combining Diacritical Marks (300-36F)
Modifier Tone Letters (A700-A71F)
Cherokee (13A0-13FF)
Hebrew (590-5FF)
Arabic (600-6FF)
Devanagari (900-97F)
Unified Canadian Aboriginal Syllabic (1400-167F)
CJK except Unified Ideographs
CJK Symbols and Punctuation (3000-203F)
Hiragana (3040-309F)
Katakana (30A0-30FF)
Bopomofo (3100-312F)
Bopomofo Extended (31A0-31BF)
CJK Strokes (31C0-31EF)
CJK Radicals Supplement (2E80-2EFF)
Kangxi Radicals (2F00-2FDF)
Ideographic Description Characters (2FF0-2FFF)
CJK Compatibility (3300-33FF)
Hangul Compatibility Jamo (3130-318F)
Katakana Phonetic Extensions (31F0-31FF)
Enclosed CJK Letters and Months (3200-32FF)
Kanbun (3190-319F)
Yijing Hexagram Symbols (4DC0-4DFF)
Thai (E00-E7F)
Bengali (980-9FF)
Lao (E80-EFF)
Hangul Jamo (1100-11FF)
N'Ko (7C0-7FF)
Armenian (520-58F)
Ethiopic (1200-137F)
Tibetan (F00-FFF)
Tamil (B80-BFF)
Telugu (C00-C7F)
Khmer (1780-17FF)
Myanmar (1000-109F)
Gurmukhi (A00-A7F)
Gujarati (A80-AFF)
Oriya (B00-B7F)
Kannada (C80-CFF)
Malayalam (D00-D7F)
Sinhala (D80-DFF)
Tagalog (1700-171F)
Georgian (10A0-10FF)
Mongolian (1800-18AF)
Javanese (A980-A9DF)
Hanunoo (1720-173F)
Buhid (1740-175F)
Tagbanwa (1760-177F)
Balinese (1B00-1B7F)
Sundanese (1B80-1BBF)
Batak (1BC0-1BFF)
Lepcha (1C00-1C4F)
Ol Chiki (1C50-1C7F)
Yi Syllables (A000-A48F)
Yi Radicals (A490-A4CF)
Lisu (A4D0-A4FF)
Vai (A500-A63F)
Bamum (A6A0-A6FF)
Latin Extended Additional (1E00-1EFF)
Arabic Supplement (750-77F)
Canadian Syllabics Extended (18B0-18FF)
Arabic Extended-B (870-89F)
Arabic Extended-A (8A0-8FF)
Arabic Presentation Forms-A (FB50-FDFF)
Vedic Extensions (1CD0-1CFF)
Devanagari Extended (A8E0-A8FF)
Common Indic Number Forms (A830-A83F)
Ethiopic Supplement (1380-139F)
Ethiopic Extended (2D80-2DDF)
Ethiopic Extended-A (AB00-AB2F)
Georgian Extended (1C90-1CBF)
Georgian Supplement (2D00-2D2F)
Sundanese Supplement (1CC0-1CCF)
Cherokee Supplement (AB70-ABBF)
Greek Extended (1F00-1FFF)
Myanmar Extended-A (AA60-AA7F)
Myanmar Extended-B (A9E0-A9FF)
Cham (AA00-AA5F)
Tai Viet (AA80-AADF)
Coptic (2C80-2CFF)
Tifinagh (2D30-2D7F)
Thaana (780-7BF)
Samaritan (800-83F)
Syriac (700-74F)
Mandaic (840-85F)
Syloti Nagri (A800-A82F)
Phags-pa (A840-A87F)
Saurashtra (A880-A8DF)
Limbu (1900-194F)
Tai Le (1950-197F)
New Tai Lue (1980-19DF)
Buginese (1A00-1A1F)
Tai Tham (1A20-1AAF)
Kayah Li (A900-A92F)
Rejan (A930-195F)
Meetei Mayek (ABC0-ABFF)
Meetei Mayek Extensions (AAE0-AAFF)
Syriac Supplement (860-86F)
Khmer Symbols (19E0-19FF)
Oghan (1680-169F): Complete!
Runic (16A0-16FF)
Supplemental Punctuation (2E00-2E7F)
Combining Diacritical Marks Extended (1AB0-1AFF)
Phonetic Extensions (1D00-1D7F)
Phonetic Extensions Supplement (1D80-1DBF)
Combining Diacritical Marks Supplement (1DC0-1DFF)
Alphabetic Presentation Forms (FB00-FB4F)
Latin Extended-C (2C60-2C7F)
Latin Extended-D (A720-A7FF)
Latin Extended-E (AB30-AB6F)
Hangul Syllables (AC00-D7AF)
CJK Unified Ideographs (4E00-9FFF)
Glagolitic (2C00-2C5F)
Cyrillic Extended-A (2DE0-2DFF)
Cyrillic Extended-B (A640-A69F)
Cyrillic Extended-C (1C80-1C8F)
Arabic Presentation Forms-B (FE70-FEFF)
CJK Unified Ideographs Extension A (3400-4DBF)
Hangul Jamo Extended-A (A960-A97F)
Hangul Jamo Extended-B (D7B0-B7FF)
CJK Compatibility Ideographs (F900-FAFF)
Vertical Forms (FE10-FE1F)
Combining Half Marks (FE20-FE2F)
CJK Compatibility Forms (FE30-FE4F)
Small Form Variants (FE50-FE6F)
Halfwidth and Fullwidth Forms (FF00-FFEF)
Specials (FFF0-FFFF)

File diff suppressed because it is too large Load diff

52
notes/CWPL/CWPL_v3 Executable file
View file

@ -0,0 +1,52 @@
Clumsy Wolf Public """License"""
Version 3
There's no copyright on this. The concept of intellectual property is bullshit,
there only to enrich corporate CEOs who hold the copyrights to lucrative
properties they had no hand in creating.
Can you say you made this? Well, physically, literally, yes. There's nothing
stopping you from claiming this. Morally, no. You'd be a fraud and a hack to
claim you and you alone created this. And quite frankly, I'm not sure people
would be too happy with you were they to discover your lies.
Can you use this as you please? Well, physically, literally, yes. Do whatever
you will with this. Build whatever software you want and link it to this. I
can't stop you. However, there are uses I *strongly* condemn, and, had I the
power, I would absolutely stop you from using this. Any software used to
explicitly promote far-right/fascist politics is a big one, as is software used
to further bigotry of any sort (racism, sexism, homophobia, transphobia,
enbymisia, biphobia/panphobia, aphobia, assorted miscellaneous queermisia,
and ableism - both physical and mental, just to name a few). If you plan on
making that kind of software, literally you can use this, but honestly, I'd
quite prefer you to fuck right off. I mean, really, do you really want to use
this anyways? Some piece of software built a someone who's trans fem,
pansexual, non-binary in a non-specific way, aromantic, clinically anxious and
depressed, and otherkin? Surely, you can find some """better""" software
created by someone you'd think much more highly of, right? Or is this piece
of software really better than anything your "master race" can produce? Because
if so, I'd start to reconsider if it's really the "master race".
Can you change the software as you please? Again, yeah. And you don't even need
to tell me. Obviously, you shouldn't claim that the original creators of this
software made those changes. As above, people mightn't be happy with you if
you were to slander us and they were to discover your lies. But you can change
this as you wish.
Of course, there is no warranty. There never is. Sure, it might work well, but
it might not. You're using this "AS IS" without any sort of guarantee that it
will work well or work for what you're using it for. It might not work at all.
If it breaks (or breaks something), that's entirely on you. I mean, we sure
can't afford to pay for your shit breaking. So, use this at your own risk. If
something breaks, it's not our fault. Sorry :P
If you decide to make your own version of this software, do you have to keep
this """license"""? No. You can. You can change it up as you please. Make it
your own. Or keep it as is. Or use a different license. Up to you. My
(the writer's) suggestion? 0BSD. Nice little open license. Or, if you don't
want, like, relicensing really, 2BSD. But, like, please don't use GPL or related
licenses. They're kinda just...shit.
Incidentally, if you do make your own version, do us a favour and change the
name. Or, at the very least, add something to the name to indicate it's not the
original.

4
notes/CWPL/future todos Normal file
View file

@ -0,0 +1,4 @@
- Address the virality issue: it shouldn't leak with small segments of code.
- Related to above: we may need an LGPL style exception for libraryesque stuff
- Maybe drop the whole base/l/w/lw thing. Too complicated, really.
- Oh, yeah. NFTs and Cryptocurrency are bad. Add those to the list.

8
notes/ISAs of interest Normal file
View file

@ -0,0 +1,8 @@
Any and all ISAs I may have interest in running FENIX on. Both the shorthand
to be used in `arch` folders and the full name are given.
i386 Intel i386 and derivatives; IA-32
amd64 64-bit extensions to IA-32; AKA x86_64
aarch64 64-bit ARM processors for stuff like the RPi and Pinebook
ppc64 Power ISA (specifically Power ISA v.3.0/POWER9)
riscv RISC-V alà the Beagle-V

View file

@ -0,0 +1,328 @@
[
{
"name": "FENIX Workstation KBD",
"author": "Kat Richey",
"notes": "A UNIX workstation inspired keyboard for FENIX.\nI've conveniently included all of the magic SysRq keys,\nperfect for when shit gets fucked."
},
[
{
"a": 7,
"f": 8
},
"⎋",
{
"x": 1,
"f": 3
},
"F1",
"F2",
"F3",
"F4",
{
"x": 0.5
},
"F5",
"F6",
"F7",
"F8",
{
"x": 0.5
},
"F9",
"F10",
"F11",
"F12",
{
"x": 0.5,
"f": 8
},
"⎙\n\n\n\nSysRq",
"⤓",
{
"a": 5,
"f": 6
},
"⎉\n⎊",
{
"x": 1,
"t": "#ff0000\n#000000",
"f": 3,
"f2": 1,
"d": true
},
"<i class='fa fa-circle'></i>\nNUM LOCK",
{
"t": "#800000\n#000000",
"d": true
},
"<i class='fa fa-circle'></i>\nCAPS LOCK",
{
"d": true
},
"<i class='fa fa-circle'></i>\nSCROLL LOCK"
],
[
{
"y": 0.25,
"t": "#000000",
"f": 6
},
"~\n`",
{
"f": 5
},
"!\n1",
"@\n2",
"#\n3",
"$\n4",
"%\n5",
"^\n6",
"&\n7",
"*\n8",
"(\n9",
")\n0",
"_\n-",
"+\n=",
{
"a": 6,
"f": 8,
"w": 1.5,
"w2": 2
},
"\n\n⌫",
{
"x": 1,
"a": 7,
"f": 3
},
"Ins",
{
"f": 8
},
"⇱",
"⇞",
{
"x": 0.5
},
"⇭",
{
"f": 5
},
"/",
"*",
"-"
],
[
{
"f": 8,
"w": 1.5
},
"⭾",
{
"f": 5
},
"Q\n\n\n\nTimers",
"W\n\n\n\nBlocked tasks",
"E\n\n\n\nTerminate",
"R\n\n\n\nUnraw",
"T\n\n\n\nTasks",
"Y",
"U\n\n\n\nRemount RO",
"I\n\n\n\nKill",
"O\n\n\n\nPower off",
"P\n\n\n\nRegs/flags",
{
"a": 5
},
"{\n[",
"}\n]",
{
"w": 1.5
},
"|\n\\",
{
"x": 0.5,
"a": 7,
"f": 6
},
"⌦",
{
"f": 8
},
"⇲",
"⇟",
{
"x": 0.5,
"f": 5
},
"7\n\n\n\nHome",
"8\n\n\n\n↑",
"9\n\n\n\nPage up",
{
"a": 5,
"h": 2
},
"\n+"
],
[
{
"a": 7,
"f": 8,
"w": 1.25,
"w2": 1.75,
"l": true
},
"⇪",
{
"x": 0.5,
"f": 5
},
"A",
"S\n\n\n\nSync FS",
"D\n\n\n\nDisp. locks",
{
"n": true
},
"F\n\n\n\noom_kill",
"G\n\n\n\nkdb",
"H\n\n\n\nhelp",
{
"n": true
},
"J\n\n\n\nThaw FS",
"K\n\n\n\nSAK",
"L\n\n\n\nBacktrace",
{
"a": 5
},
":\n;",
"\"\n'",
{
"a": 7,
"f": 8,
"w": 2.25
},
"⏎",
{
"x": 4,
"f": 5
},
"4\n\n\n\n←",
"5",
{
"f": 3
},
"6\n\n\n\n→"
],
[
{
"f": 8,
"w": 2
},
"⇧",
{
"f": 5
},
"Z\n\n\n\nftrace",
"X",
"C\n\n\n\nCrash",
"V",
"B\n\n\n\nReboot",
"N\n\n\n\nReset nice",
"M\n\n\n\nMeminfo",
{
"a": 5
},
"<\n,",
">\n.",
"?\n/",
{
"a": 7,
"f": 8,
"w": 3
},
"⇧",
{
"x": 1.5
},
"↑",
{
"x": 1.5,
"f": 5
},
"1\n\n\n\nEnd",
"2\n\n\n\n↓",
"3\n\n\n\nPage down",
{
"a": 5,
"f": 8,
"h": 2
},
"\n⌤"
],
[
{
"a": 7,
"w": 1.25
},
"⎈",
"◆",
"❖",
{
"w": 1.25
},
"⎇",
{
"f": 3,
"w": 6
},
"",
{
"a": 5,
"f": 5,
"w": 1.5
},
"Alt\nGraph",
{
"a": 7,
"f": 8,
"w": 1.5
},
"◆",
{
"t": "#0da800",
"a": 4,
"fa": [
2
],
"w": 1.5
},
"<i class='fa fa-circle'></i>\n\n\n\n\n\n\n\n\n⎄",
{
"x": 0.5,
"t": "#000000",
"a": 7,
"f": 8
},
"←",
{
"f": 8
},
"↓",
{
"f": 8
},
"→",
{
"x": 0.5,
"a": 2,
"f": 5,
"w": 2
},
"0\n\n\n\nInsert",
{
"a": 7
},
".\n\n\n\nDelete"
]
]