├── .github ├── FUNDING.yml └── workflows │ ├── dreamhost-preview-static.yaml │ └── dreamhost-static.yaml ├── .gitignore ├── CNAME ├── LICENSE ├── README.md ├── index.html ├── package.json ├── pnpm-lock.yaml ├── prettier.config.js ├── public ├── assets │ ├── 1.mp3 │ ├── 2.mp3 │ ├── 3.mp3 │ ├── 4.mp3 │ ├── 5.mp3 │ ├── 6.mp3 │ ├── 7.mp3 │ ├── DepartureMono-1.346.zip │ ├── DepartureMono-1.350.zip │ ├── DepartureMono-1.420.zip │ ├── DepartureMono-1.422.zip │ ├── DepartureMono-1.500.otf │ ├── DepartureMono-1.500.woff │ ├── DepartureMono-1.500.woff2 │ ├── DepartureMono-1.500.zip │ ├── DepartureMono-Regular.otf │ ├── DepartureMono-Regular.woff │ ├── DepartureMono-Regular.woff2 │ ├── LICENSE │ ├── README.md │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── badge.png │ ├── badge.svg │ ├── bag-tag.svg │ ├── ball.png │ ├── boarding-pass.svg │ ├── brief.svg │ ├── cm.json │ ├── departure-og.png │ ├── dm.otf │ ├── dm.woff │ ├── dm.woff2 │ ├── dot-matrix-printout-grey.svg │ ├── dot-matrix-printout-white.svg │ ├── favicon-16x16.png │ ├── favicon.ico │ ├── flight-deck.svg │ ├── glyph-specimen-static.svg │ ├── highlighter-outline.svg │ ├── javascript.svg │ ├── mercury-diagram.svg │ ├── newspaper-clipping.svg │ ├── pad.jpg │ ├── paddle.png │ ├── paperclip.svg │ ├── planet.svg │ ├── receipt.svg │ ├── rocket.png │ ├── rust.svg │ ├── sql.svg │ └── vostok.jpg ├── favicon-16x16.png ├── favicon.ico └── site.webmanifest ├── scripts ├── assemble.ts └── charlist.txt ├── src ├── components │ ├── app.tsx │ ├── cockpit.css │ ├── cockpit.tsx │ ├── code.css │ ├── code.tsx │ ├── countdown.css │ ├── countdown.tsx │ ├── deparkanoid.css │ ├── derparkanoid.tsx │ ├── editor.css │ ├── editor.tsx │ ├── editordata.ts │ ├── footer.tsx │ ├── fuzz.css │ ├── fuzz.tsx │ ├── header.css │ ├── header.tsx │ ├── keeb.css │ ├── keeb.tsx │ ├── printout.css │ ├── printout.tsx │ ├── select.css │ ├── select.tsx │ ├── sensor.css │ ├── sensor.tsx │ ├── tester.css │ ├── tester.tsx │ ├── typetest.css │ └── typetest.tsx ├── glsl-canvas.d.ts ├── gtag.d.ts ├── index.css ├── index.tsx ├── lib │ ├── charmap.json │ ├── font.ts │ └── utils.ts ├── reset.css └── vite-env.d.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | buy_me_a_coffee: helenazhang 2 | -------------------------------------------------------------------------------- /.github/workflows/dreamhost-preview-static.yaml: -------------------------------------------------------------------------------- 1 | name: Build and deploy to DreamHost via sshpass 2 | 3 | on: 4 | push 5 | 6 | jobs: 7 | deploy: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v4 12 | 13 | - name: Install pnpm 14 | uses: pnpm/action-setup@v4 15 | with: 16 | run_install: false 17 | 18 | - name: Install Node.js 19 | uses: actions/setup-node@v4 20 | with: 21 | node-version: 20 22 | cache: 'pnpm' 23 | 24 | - name: Install dependencies 25 | run: pnpm install 26 | 27 | - name: Install sshpass 28 | run: sudo apt-get install -y sshpass 29 | 30 | - name: Add SSH Key to known_hosts 31 | env: 32 | KNOWN_HOSTS_ENTRY: ${{ secrets.KNOWN_HOSTS_ENTRY }} 33 | HOST: ${{ secrets.HOST }} 34 | run: | 35 | mkdir -p ~/.ssh 36 | echo "$KNOWN_HOSTS_ENTRY" >> ~/.ssh/known_hosts 37 | chmod 644 ~/.ssh/known_hosts 38 | 39 | - name: Build static site 40 | run: pnpm build 41 | 42 | - name: Deploy via rsync and sshpass 43 | env: 44 | USERNAME: ${{ secrets.USERNAME }} 45 | PASSWORD: ${{ secrets.PASSWORD }} 46 | HOST: ${{ secrets.HOST }} 47 | DEPLOY_PATH: preview.departuremono.com 48 | run: | 49 | sshpass -p "$PASSWORD" rsync -avz --delete ./dist/* $USERNAME@$HOST:$DEPLOY_PATH 50 | -------------------------------------------------------------------------------- /.github/workflows/dreamhost-static.yaml: -------------------------------------------------------------------------------- 1 | name: Build and deploy to DreamHost via sshpass 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | deploy: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Install pnpm 16 | uses: pnpm/action-setup@v4 17 | with: 18 | run_install: false 19 | 20 | - name: Install Node.js 21 | uses: actions/setup-node@v4 22 | with: 23 | node-version: 20 24 | cache: 'pnpm' 25 | 26 | - name: Install dependencies 27 | run: pnpm install 28 | 29 | - name: Install sshpass 30 | run: sudo apt-get install -y sshpass 31 | 32 | - name: Add SSH Key to known_hosts 33 | env: 34 | KNOWN_HOSTS_ENTRY: ${{ secrets.KNOWN_HOSTS_ENTRY }} 35 | HOST: ${{ secrets.HOST }} 36 | run: | 37 | mkdir -p ~/.ssh 38 | echo "$KNOWN_HOSTS_ENTRY" >> ~/.ssh/known_hosts 39 | chmod 644 ~/.ssh/known_hosts 40 | 41 | - name: Build static site 42 | run: pnpm build 43 | 44 | - name: Deploy via rsync and sshpass 45 | env: 46 | USERNAME: ${{ secrets.USERNAME }} 47 | PASSWORD: ${{ secrets.PASSWORD }} 48 | HOST: ${{ secrets.HOST }} 49 | DEPLOY_PATH: departuremono.com 50 | run: | 51 | sshpass -p "$PASSWORD" rsync -avz --delete ./dist/* $USERNAME@$HOST:$DEPLOY_PATH 52 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | departuremono.com -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Helena Zhang & Tobias Fried 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | 4 | Departure Mono 5 | 6 |
7 | Departure Mono 8 |
9 |

10 | 11 |

A monospaced pixel font with a lo-fi technical vibe

12 | 13 | ## About 14 | 15 | Departure Mono is a monospaced pixel font inspired by the constraints of early command-line and graphical user interfaces, the tiny pixel fonts of the late 90s/early 00s, and sci-fi concepts from film and television. 16 | 17 | ## Installation 18 | 19 | ### Homebrew 20 | 21 | For macOS users, the [Homebrew](https://brew.sh) package manager can be used to install and upgrade the font using the [`font-departure-mono`](https://formulae.brew.sh/cask/font-departure-mono#default) formula: 22 | 23 | ```sh 24 | brew install font-departure-mono 25 | ``` 26 | 27 | ### Nix 28 | 29 | If you're using the [Nix](https://nixos.org) package manager or NixOS, you can install font using its canonical name: [`departure-mono`](https://search.nixos.org/packages?channel=unstable&show=departure-mono&from=0&size=50&sort=relevance&type=packages&query=departure-mono): 30 | 31 | ```sh 32 | # Here's an example on how to install it using `nix profile` 33 | nix profile install github:NixOS/nixpkgs#departure-mono 34 | # Here's an example on how to install it using `nix-env` 35 | nix-env -iA nixos.departure-mono 36 | ``` 37 | 38 | ### NixOS 39 | 40 | For [NixOS](https://nixos.org) users, you can add the font to your system configuration by including it in `fonts.packages`: 41 | 42 | ```nix 43 | { 44 | fonts.packages = [ 45 | pkgs.departure-mono 46 | ]; 47 | } 48 | ``` 49 | 50 | ### Manual 51 | 52 | Download the latest release from the [releases](https://github.com/rektdeckard/departure-mono/releases/latest) page. 53 | 54 | ## Usage 55 | 56 | For pixel-perfect results, set the font size to increments of 11px. 57 | 58 | Experiment with tighter or wider tracking (letter-spacing). 59 | 60 | ## Licenses 61 | 62 | | Resource | License | Author | 63 | | -------- | ------- | -------- | 64 | | Font | [SIL OFL](https://github.com/rektdeckard/departure-mono/blob/main/public/assets/LICENSE?raw=true) | [Helena Zhang](https://helenazhang.com) | 65 | | Site | [MIT](https://github.com/rektdeckard/departure-mono/blob/main/LICENSE?raw=true) | [Helena Zhang](https://helenazhang.com), [Tobias Fried](https://tobiasfried.com) | 66 | 67 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Departure Mono 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 20 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "departure-mono", 3 | "private": true, 4 | "version": "1.500.0", 5 | "type": "module", 6 | "packageManager": "pnpm@10.6.3", 7 | "scripts": { 8 | "predev": "pnpm run assemble", 9 | "dev": "vite", 10 | "prebuild": "pnpm run assemble", 11 | "build": "tsc -b && vite build", 12 | "format": "prettier --write --ignore-unknown .", 13 | "prettier:check": "prettier --check --ignore-unknown .", 14 | "preview": "vite preview", 15 | "assemble": "pnpm dlx tsx ./scripts/assemble.ts" 16 | }, 17 | "dependencies": { 18 | "@ark-ui/solid": "^3.6.2", 19 | "@codemirror/autocomplete": "^6.17.0", 20 | "@codemirror/commands": "^6.6.0", 21 | "@codemirror/lang-css": "^6.2.1", 22 | "@codemirror/lang-go": "^6.0.1", 23 | "@codemirror/lang-html": "^6.4.9", 24 | "@codemirror/lang-javascript": "^6.2.2", 25 | "@codemirror/lang-markdown": "^6.2.5", 26 | "@codemirror/lang-python": "^6.1.6", 27 | "@codemirror/lang-rust": "^6.0.1", 28 | "@codemirror/lang-sql": "^6.7.0", 29 | "@codemirror/language": "^6.10.2", 30 | "@codemirror/state": "^6.4.1", 31 | "@codemirror/view": "^6.28.6", 32 | "@lezer/highlight": "^1.2.0", 33 | "codemirror": "^6.0.1", 34 | "cva": "npm:class-variance-authority@^0.7.0", 35 | "fonteditor-core": "^2.4.1", 36 | "glslCanvas": "^0.2.6", 37 | "kdim": "^0.6.6", 38 | "p5": "^1.9.4", 39 | "solid-codemirror": "^2.3.1", 40 | "solid-js": "^1.8.18" 41 | }, 42 | "devDependencies": { 43 | "@types/node": "^22.15.21", 44 | "@types/p5": "^1.7.6", 45 | "gh-pages": "^6.1.1", 46 | "prettier": "^3.3.3", 47 | "typescript": "^5.2.2", 48 | "vite": "^5.3.4", 49 | "vite-plugin-node-polyfills": "^0.22.0", 50 | "vite-plugin-solid": "^2.10.2" 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | arrowParens: "always", 3 | semi: true, 4 | trailingComma: "all", 5 | singleQuote: false, 6 | }; 7 | -------------------------------------------------------------------------------- /public/assets/1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/1.mp3 -------------------------------------------------------------------------------- /public/assets/2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/2.mp3 -------------------------------------------------------------------------------- /public/assets/3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/3.mp3 -------------------------------------------------------------------------------- /public/assets/4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/4.mp3 -------------------------------------------------------------------------------- /public/assets/5.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/5.mp3 -------------------------------------------------------------------------------- /public/assets/6.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/6.mp3 -------------------------------------------------------------------------------- /public/assets/7.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/7.mp3 -------------------------------------------------------------------------------- /public/assets/DepartureMono-1.346.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-1.346.zip -------------------------------------------------------------------------------- /public/assets/DepartureMono-1.350.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-1.350.zip -------------------------------------------------------------------------------- /public/assets/DepartureMono-1.420.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-1.420.zip -------------------------------------------------------------------------------- /public/assets/DepartureMono-1.422.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-1.422.zip -------------------------------------------------------------------------------- /public/assets/DepartureMono-1.500.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-1.500.otf -------------------------------------------------------------------------------- /public/assets/DepartureMono-1.500.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-1.500.woff -------------------------------------------------------------------------------- /public/assets/DepartureMono-1.500.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-1.500.woff2 -------------------------------------------------------------------------------- /public/assets/DepartureMono-1.500.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-1.500.zip -------------------------------------------------------------------------------- /public/assets/DepartureMono-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-Regular.otf -------------------------------------------------------------------------------- /public/assets/DepartureMono-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-Regular.woff -------------------------------------------------------------------------------- /public/assets/DepartureMono-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/DepartureMono-Regular.woff2 -------------------------------------------------------------------------------- /public/assets/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2022–2024 Helena Zhang (helenazhang.com). 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 | This license is copied below, and is also available with a FAQ at: 5 | https://openfontlicense.org 6 | 7 | 8 | ----------------------------------------------------------- 9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10 | ----------------------------------------------------------- 11 | 12 | PREAMBLE 13 | The goals of the Open Font License (OFL) are to stimulate worldwide 14 | development of collaborative font projects, to support the font creation 15 | efforts of academic and linguistic communities, and to provide a free and 16 | open framework in which fonts may be shared and improved in partnership 17 | with others. 18 | 19 | The OFL allows the licensed fonts to be used, studied, modified and 20 | redistributed freely as long as they are not sold by themselves. The 21 | fonts, including any derivative works, can be bundled, embedded, 22 | redistributed and/or sold with any software provided that any reserved 23 | names are not used by derivative works. The fonts and derivatives, 24 | however, cannot be released under any other type of license. The 25 | requirement for fonts to remain under this license does not apply 26 | to any document created using the fonts or their derivatives. 27 | 28 | DEFINITIONS 29 | "Font Software" refers to the set of files released by the Copyright 30 | Holder(s) under this license and clearly marked as such. This may 31 | include source files, build scripts and documentation. 32 | 33 | "Reserved Font Name" refers to any names specified as such after the 34 | copyright statement(s). 35 | 36 | "Original Version" refers to the collection of Font Software components as 37 | distributed by the Copyright Holder(s). 38 | 39 | "Modified Version" refers to any derivative made by adding to, deleting, 40 | or substituting -- in part or in whole -- any of the components of the 41 | Original Version, by changing formats or by porting the Font Software to a 42 | new environment. 43 | 44 | "Author" refers to any designer, engineer, programmer, technical 45 | writer or other person who contributed to the Font Software. 46 | 47 | PERMISSION & CONDITIONS 48 | Permission is hereby granted, free of charge, to any person obtaining 49 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 50 | redistribute, and sell modified and unmodified copies of the Font 51 | Software, subject to the following conditions: 52 | 53 | 1) Neither the Font Software nor any of its individual components, 54 | in Original or Modified Versions, may be sold by itself. 55 | 56 | 2) Original or Modified Versions of the Font Software may be bundled, 57 | redistributed and/or sold with any software, provided that each copy 58 | contains the above copyright notice and this license. These can be 59 | included either as stand-alone text files, human-readable headers or 60 | in the appropriate machine-readable metadata fields within text or 61 | binary files as long as those fields can be easily viewed by the user. 62 | 63 | 3) No Modified Version of the Font Software may use the Reserved Font 64 | Name(s) unless explicit written permission is granted by the corresponding 65 | Copyright Holder. This restriction only applies to the primary font name as 66 | presented to the users. 67 | 68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 69 | Software shall not be used to promote, endorse or advertise any 70 | Modified Version, except to acknowledge the contribution(s) of the 71 | Copyright Holder(s) and the Author(s) or with their explicit written 72 | permission. 73 | 74 | 5) The Font Software, modified or unmodified, in part or in whole, 75 | must be distributed entirely under this license, and must not be 76 | distributed under any other license. The requirement for fonts to 77 | remain under this license does not apply to any document created 78 | using the Font Software. 79 | 80 | TERMINATION 81 | This license becomes null and void if any of the above conditions are 82 | not met. 83 | 84 | DISCLAIMER 85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 93 | OTHER DEALINGS IN THE FONT SOFTWARE. 94 | -------------------------------------------------------------------------------- /public/assets/README.md: -------------------------------------------------------------------------------- 1 | # Hello! 2 | 3 | Thanks for trying Departure Mono (departuremono.com), licensed under the SIL OFL. Send your questions and suggestions to hello@helenazhang.com or DM me on Twitter/X: @minor_axis. Donations much appreciated at: buymeacoffee.com/helenazhang. Enjoy! 4 | 5 | — Helena Zhang (helenazhang.com) 6 | 7 | # Font Information 8 | 9 | Version 1.500 features 1,186 glyphs, including support for: 10 | 11 | - Basic Latin, Latin-1, Latin Extended-A, and most Latinate languages 12 | - Cyrillic 13 | - Basic Greek 14 | - Small caps 15 | - Old-style numerals and fractions 16 | - Simple box-drawing characters and selected symbols 17 | 18 | # Usage 19 | 20 | For pixel-perfect results, set the font size to increments of 11px. 21 | 22 | Experiment with tighter or wider tracking (letter-spacing). 23 | 24 | # Changelog 25 | 26 | v1.500 27 | - 1,186 glyphs 28 | - Added box-drawing characters: ▁ ▂ ▃ ▅ ▆ ▇ ▔ ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▐ ▕ ▖ ▗ ▘ ▙ ▚ ▛ ▜ ▝ ▞ ▟ ■ □ ▪ ▫ ╦ ╖ ╓ ┰ ┒ ┧ ┎ ┟ ╁ ┯ ┑ ┩ ┍ ┡ ╇ ╤ ╕ ╒ ╍ ╏ ╻ ┳ ┓ ┏ ━ ╸ ╾ ┉ ┋ ╺ ┅ ┇ ╹ ┻ ┛ ╿ ┗ ┃ ╋ ┫ ┣ ╅ ┭ ┵ ┽ ┲ ┺ ╊ ╃ ╮ ╭ ╯ ╰ ╳ ╲ ╱ ╌ ╎ ╷ ╴ ╼ ┈ ┊ ╶ ┄ ┆ ╵ ╽ ╆ ┮ ┶ ┾ ┱ ┹ ╉ ╄ ╨ ╜ ╙ ╀ ┸ ┦ ┚ ┞ ┖ ╈ ┷ ┪ ┙ ┢ ┕ ╧ ╛ ╘ ╫ ╢ ╟ ╂ ┨ ┠ ┿ ┥ ┝ ╪ ╡ ╞ 🮂 🮃 🮄 🮅 🮆 🮇 🮈 🮉 🮊 🮋 29 | + Added brackets: ❰ ❮ ❱ ❯ ❬ ❭ 30 | 31 | v1.422 32 | - 1,034 glyphs 33 | - Added stars: ★ ☆ ✦ ✧ 34 | - Fixed bug: Ё and ё were missing accents 35 | - Adjusted: ₽ Д д Ы ы Ъ ъ 36 | - Serifed: Г г Ѓ ѓ Ґ ґ Ӷ ӷ 37 | 38 | v1.420 39 | - 1,030 glyphs 40 | - Added Cyrillic characters: А Б В Г Ѓ Ґ Ӷ Ғ Ҕ Д Е Ѐ Ё Ж З И Й Ѝ Ҋ К Ќ Л М Н О П Р С Т У Ў Ф Х Ч Ц Ш Щ Џ Ь Ы Ъ Љ Њ Ѕ Є Э І Ї Ј Ћ Ю Я Ђ Ѣ Ѵ Җ Ҙ Қ Ҟ Ҡ Ң Ҥ Ҧ Ԥ Ҩ Ҫ Ҭ Ү Ұ Ҳ Ҵ Ҷ Һ Ԧ Ҽ Ҿ Ӏ Ӂ Ӄ Ӆ Ӈ Ӊ Ӌ Ӎ Ӑ Ӓ Ӕ Ӗ Ӛ Ӝ Ӟ Ӡ Ӣ Ӥ Ӧ Ө Ӫ Ӭ Ӯ Ӱ Ӳ Ӵ Ӹ Ӽ Ԑ Ԓ Ԝ Ҍ Ҏ а б в г ѓ ґ ӷ ғ ҕ д е ѐ ё ж з и й ѝ ҋ к ќ л м н о п р с т у ў ф х ч ц ш щ џ ь ы ъ љ њ ѕ є э і ї ј ћ ю я ђ ѣ ѵ җ ҙ қ ҟ ҡ ң ҥ ҧ ԥ ҩ ҫ ҭ ү ұ ҳ ҵ ҷ һ ԧ ҽ ҿ ӏ ӂ ӄ ӆ ӈ ӊ ӌ ӎ ӑ ӓ ӕ ӗ ӛ ӝ ӟ ӡ ӣ ӥ ӧ ө ӫ ӭ ӯ ӱ ӳ ӵ ӹ ӽ ԑ ԓ ԝ ҍ ҏ 41 | - Added Greek characters: Ά Έ Ή Ί Ό Ύ Ώ Ϊ Ϋ ί ϊ ΐ ύ ϋ ΰ ό ώ ά έ ή ΄ ΅ ͺ 42 | - Added: № ∙ 43 | - Adjusted: Ľ ť ĸ δ ι ʻ 44 | 45 | v1.350 46 | - 775 glyphs 47 | - Added fractions: ↉ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅐ ⅑ 48 | - Added a centered alternate for * 49 | - Adjusted old-style numerals 0, 1, 2 to be x-height 50 | - Adjusted ½ ¼ ¾ ⅛ ⅜ ⅝ ⅞ ‰ to fit in bounding box 51 | - Adjusted curly brackets to horizontally align with other brackets 52 | - Adjusted position of * and ° 53 | 54 | v1.346 55 | - 763 glyphs 56 | 57 | # Thanks 58 | 59 | A big thank you to: Tobias Fried, Christine Lee, Daniel Stern, Kim Slawson, Parker McGowan, Alex Krivov, Karl Peterson, Alexander Zaytsev, Vadim Pleshkov, and Maxim Iorsh for their general feedback and testing across languages -------------------------------------------------------------------------------- /public/assets/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/assets/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/assets/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/apple-touch-icon.png -------------------------------------------------------------------------------- /public/assets/badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/badge.png -------------------------------------------------------------------------------- /public/assets/bag-tag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /public/assets/ball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/ball.png -------------------------------------------------------------------------------- /public/assets/departure-og.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/departure-og.png -------------------------------------------------------------------------------- /public/assets/dm.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/dm.otf -------------------------------------------------------------------------------- /public/assets/dm.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/dm.woff -------------------------------------------------------------------------------- /public/assets/dm.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/dm.woff2 -------------------------------------------------------------------------------- /public/assets/dot-matrix-printout-grey.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /public/assets/dot-matrix-printout-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /public/assets/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/favicon-16x16.png -------------------------------------------------------------------------------- /public/assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/favicon.ico -------------------------------------------------------------------------------- /public/assets/glyph-specimen-static.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /public/assets/highlighter-outline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /public/assets/pad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/pad.jpg -------------------------------------------------------------------------------- /public/assets/paddle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/paddle.png -------------------------------------------------------------------------------- /public/assets/paperclip.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/assets/planet.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /public/assets/rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/rocket.png -------------------------------------------------------------------------------- /public/assets/sql.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/assets/vostok.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/assets/vostok.jpg -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rektdeckard/departure-mono/75152a3f1e6dacdd248a6c397c97dbf27e33eea0/public/favicon.ico -------------------------------------------------------------------------------- /public/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Departure Mono: A MONOSPACED PIXEL FONT WITH A LO-FI TECHNICAL VIBE", 3 | "short_name": "Departure Mono", 4 | "icons": [ 5 | { 6 | "src": "/assets/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/assets/android-chrome-512x512.png", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#eeeeee", 17 | "background_color": "#eeeeee", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /scripts/assemble.ts: -------------------------------------------------------------------------------- 1 | import fs from "node:fs"; 2 | 3 | type CharEntry = { 4 | code: number; 5 | feat?: string[]; 6 | }; 7 | 8 | (function main() { 9 | const charlist = fs.readFileSync("./scripts/charlist.txt", "utf-8"); 10 | 11 | const charmap = charlist.split(/\n\n+/).reduce((acc, section) => { 12 | const [name, ...chars] = section.split(/\n/).map((line) => line.trim()); 13 | acc[name] = chars.filter(Boolean).map(parseCharWithOptionalFeatures); 14 | return acc; 15 | }, {}); 16 | 17 | fs.writeFileSync("src/lib/charmap.json", JSON.stringify(charmap, null, 2)); 18 | })(); 19 | 20 | function parseCharWithOptionalFeatures(line: string): CharEntry { 21 | const parts = line.split("."); 22 | const code = parseInt(parts[0], 16); 23 | if (isNaN(code)) { 24 | throw new Error(`Invalid code point in entry: ${line}`); 25 | } 26 | 27 | const entry: CharEntry = { code }; 28 | if (parts.length > 1) { 29 | entry.feat = parts.slice(1).map((f) => f.trim()); 30 | } 31 | 32 | return entry; 33 | } 34 | -------------------------------------------------------------------------------- /scripts/charlist.txt: -------------------------------------------------------------------------------- 1 | Basic Latin 2 | 0041 3 | 0042 4 | 0043 5 | 0044 6 | 0045 7 | 0046 8 | 0047 9 | 0048 10 | 0049 11 | 004A 12 | 004B 13 | 004C 14 | 004D 15 | 004E 16 | 004F 17 | 0050 18 | 0051 19 | 0052 20 | 0053 21 | 0054 22 | 0055 23 | 0056 24 | 0057 25 | 0058 26 | 0059 27 | 005A 28 | 0061 29 | 0062 30 | 0063 31 | 0064 32 | 0065 33 | 0066 34 | 0067 35 | 0068 36 | 0069 37 | 006A 38 | 006B 39 | 006C 40 | 006D 41 | 006E 42 | 006F 43 | 0070 44 | 0071 45 | 0072 46 | 0073 47 | 0074 48 | 0075 49 | 0076 50 | 0077 51 | 0078 52 | 0079 53 | 007A 54 | 0061.sc 55 | 0062.sc 56 | 0063.sc 57 | 0064.sc 58 | 0065.sc 59 | 0066.sc 60 | 0067.sc 61 | 0068.sc 62 | 0069.sc 63 | 006A.sc 64 | 006B.sc 65 | 006C.sc 66 | 006D.sc 67 | 006E.sc 68 | 006F.sc 69 | 0070.sc 70 | 0071.sc 71 | 0072.sc 72 | 0073.sc 73 | 0074.sc 74 | 0075.sc 75 | 0076.sc 76 | 0077.sc 77 | 0078.sc 78 | 0079.sc 79 | 007A.sc 80 | 81 | Extended Latin 82 | 00C1 83 | 0102 84 | 01CD 85 | 00C2 86 | 00C4 87 | 1EA0 88 | 00C0 89 | 0100 90 | 0104 91 | 00C5 92 | 01FA 93 | 00C3 94 | 00C6 95 | 01FC 96 | 1E02 97 | 0181 98 | 0106 99 | 010C 100 | 00C7 101 | 0108 102 | 010A 103 | 010E 104 | 1E10 105 | 0110 106 | 1E0A 107 | 1E0C 108 | 018A 109 | 0189 110 | 00D0 111 | 00C9 112 | 0114 113 | 011A 114 | 00CA 115 | 00CB 116 | 0116 117 | 1EB8 118 | 00C8 119 | 0112 120 | 0118 121 | 0190 122 | 1EBC 123 | 018E 124 | 018F 125 | 1E1E 126 | 0191 127 | 011E 128 | 01E6 129 | 011C 130 | 0122 131 | 0120 132 | 0193 133 | 1E20 134 | 0126 135 | 1E2A 136 | 021E 137 | 0124 138 | 1E24 139 | 0132 140 | 00CD 141 | 012C 142 | 01CF 143 | 00CE 144 | 00CF 145 | 0130 146 | 1ECA 147 | 00CC 148 | 012A 149 | 012E 150 | 0197 151 | 0128 152 | 0134 153 | 0136 154 | 1E32 155 | 0198 156 | 0139 157 | 013D 158 | 013B 159 | 013F 160 | 1E36 161 | 0141 162 | 1E3E 163 | 1E40 164 | 0143 165 | 0147 166 | 0145 167 | 1E44 168 | 01F8 169 | 019D 170 | 00D1 171 | 014A 172 | 00D3 173 | 014E 174 | 01D1 175 | 00D4 176 | 00D6 177 | 1ECC 178 | 00D2 179 | 0150 180 | 014C 181 | 01EA 182 | 0186 183 | 00D8 184 | 01FE 185 | 00D5 186 | 0152 187 | 1E56 188 | 00DE 189 | 0154 190 | 0158 191 | 0156 192 | 1E5A 193 | 015A 194 | 0160 195 | 015E 196 | 015C 197 | 0218 198 | 1E60 199 | 1E62 200 | 1E9E 201 | 0166 202 | 0164 203 | 0162 204 | 021A 205 | 1E6A 206 | 1E6C 207 | 00DA 208 | 0244 209 | 016C 210 | 01D3 211 | 00DB 212 | 00DC 213 | 1EE4 214 | 00D9 215 | 01AF 216 | 0170 217 | 016A 218 | 0172 219 | 016E 220 | 0168 221 | 0194 222 | 01B2 223 | 1E7C 224 | 1E82 225 | 0174 226 | 1E84 227 | 1E80 228 | 00DD 229 | 0176 230 | 0178 231 | 1E8E 232 | 1EF2 233 | 01B3 234 | 0232 235 | 1EF8 236 | 0179 237 | 017D 238 | 017B 239 | 1E92 240 | A78B 241 | 00E1 242 | 0103 243 | 01CE 244 | 00E2 245 | 00E4 246 | 1EA1 247 | 00E0 248 | 0101 249 | 0105 250 | 00E5 251 | 01FB 252 | 00E3 253 | 00E6 254 | 01FD 255 | 1E03 256 | 0253 257 | 0107 258 | 010D 259 | 00E7 260 | 0109 261 | 010B 262 | 010F 263 | 1E11 264 | 0111 265 | 1E0B 266 | 1E0D 267 | 0257 268 | 0256 269 | 00F0 270 | 00E9 271 | 0115 272 | 011B 273 | 00EA 274 | 00EB 275 | 0117 276 | 1EB9 277 | 00E8 278 | 0113 279 | 0119 280 | 025B 281 | 1EBD 282 | 01DD 283 | 0259 284 | 1E1F 285 | 0263 286 | 011F 287 | 01E7 288 | 011D 289 | 0123 290 | 0121 291 | 0260 292 | 0294 293 | 1E21 294 | 0127 295 | 1E2B 296 | 021F 297 | 0125 298 | 1E25 299 | 0131 300 | 00ED 301 | 012D 302 | 01D0 303 | 00EE 304 | 00EF 305 | 1ECB 306 | 00EC 307 | 012B 308 | 012F 309 | 0268 310 | 0129 311 | 0133 312 | 0237 313 | 0135 314 | 0137 315 | 1E33 316 | 0138 317 | 0199 318 | 013A 319 | 013E 320 | 013C 321 | 0140 322 | 1E37 323 | 1E9B 324 | 0142 325 | 1E3F 326 | 1E41 327 | 0144 328 | 0148 329 | 0146 330 | 1E45 331 | 01F9 332 | 0272 333 | 00F1 334 | 014B 335 | 00F3 336 | 014F 337 | 01D2 338 | 00F4 339 | 00F6 340 | 1ECD 341 | 00F2 342 | 0151 343 | 014D 344 | 01EB 345 | 0254 346 | 00F8 347 | 01FF 348 | 00F5 349 | 0153 350 | 1E57 351 | 00FE 352 | 0155 353 | 0159 354 | 0157 355 | 1E5B 356 | 027C 357 | 015B 358 | 0161 359 | 015F 360 | 015D 361 | 0219 362 | 1E61 363 | 1E63 364 | 00DF 365 | 017F 366 | 0167 367 | 0165 368 | 0163 369 | 021B 370 | 1E6B 371 | 1E6D 372 | 00FA 373 | 0289 374 | 016D 375 | 01D4 376 | 00FB 377 | 00FC 378 | 1EE5 379 | 00F9 380 | 01B0 381 | 0171 382 | 016B 383 | 0173 384 | 016F 385 | 0169 386 | 028B 387 | 1E7D 388 | 1E83 389 | 0175 390 | 1E85 391 | 1E81 392 | 00FD 393 | 0177 394 | 00FF 395 | 1E8F 396 | 1EF3 397 | 01B4 398 | 0233 399 | 1EF9 400 | 017A 401 | 017E 402 | 017C 403 | 1E93 404 | A78C 405 | 01C2 406 | 01C0 407 | 01C1 408 | 01C3 409 | 410 | Cyrillic 411 | 0410 412 | 0411 413 | 0412 414 | 0413 415 | 0403 416 | 0490 417 | 04F6 418 | 0492 419 | 0494 420 | 0414 421 | 0415 422 | 0400 423 | 0401 424 | 0416 425 | 0417 426 | 0418 427 | 0419 428 | 040D 429 | 048A 430 | 041A 431 | 040C 432 | 041B 433 | 041C 434 | 041D 435 | 041E 436 | 041F 437 | 0420 438 | 0421 439 | 0422 440 | 0423 441 | 040E 442 | 0424 443 | 0425 444 | 0426 445 | 0427 446 | 0428 447 | 0429 448 | 040F 449 | 042C 450 | 042B 451 | 042A 452 | 0409 453 | 040A 454 | 0405 455 | 0404 456 | 042D 457 | 0406 458 | 0407 459 | 0408 460 | 040B 461 | 042E 462 | 042F 463 | 0402 464 | 0462 465 | 0474 466 | 0496 467 | 0498 468 | 049A 469 | 049E 470 | 04A0 471 | 04A2 472 | 04A4 473 | 04A6 474 | 0524 475 | 04A8 476 | 04AA 477 | 04AC 478 | 04AE 479 | 04B0 480 | 04B2 481 | 04B4 482 | 04B6 483 | 04BA 484 | 0526 485 | 04BC 486 | 04BE 487 | 04C0 488 | 04C1 489 | 04C3 490 | 04C5 491 | 04C7 492 | 04C9 493 | 04CB 494 | 04CD 495 | 04D0 496 | 04D2 497 | 04D4 498 | 04D6 499 | 04DC 500 | 04DE 501 | 04E0 502 | 04E2 503 | 04E4 504 | 04E6 505 | 04E8 506 | 04EA 507 | 04EC 508 | 04EE 509 | 04F0 510 | 04F2 511 | 04F4 512 | 04F8 513 | 04FC 514 | 0510 515 | 0512 516 | 051C 517 | 048C 518 | 048E 519 | 0430 520 | 0431 521 | 0432 522 | 0433 523 | 0453 524 | 0491 525 | 04F7 526 | 0493 527 | 0495 528 | 0434 529 | 0435 530 | 0450 531 | 0451 532 | 0436 533 | 0437 534 | 0438 535 | 0439 536 | 045D 537 | 048B 538 | 043A 539 | 045C 540 | 043B 541 | 043C 542 | 043D 543 | 043E 544 | 043F 545 | 0440 546 | 0441 547 | 0442 548 | 0443 549 | 045E 550 | 0444 551 | 0445 552 | 0446 553 | 0447 554 | 0448 555 | 0449 556 | 045F 557 | 044C 558 | 044B 559 | 044A 560 | 0459 561 | 045A 562 | 0455 563 | 0454 564 | 044D 565 | 0456 566 | 0457 567 | 0458 568 | 045B 569 | 044E 570 | 044F 571 | 0452 572 | 0463 573 | 0475 574 | 0497 575 | 0499 576 | 049B 577 | 049F 578 | 04A1 579 | 04A3 580 | 04A5 581 | 04A7 582 | 0525 583 | 04A9 584 | 04AB 585 | 04AD 586 | 04AF 587 | 04B1 588 | 04B3 589 | 04B5 590 | 04B7 591 | 04BB 592 | 0527 593 | 04BD 594 | 04BF 595 | 04CF 596 | 04C2 597 | 04C4 598 | 04C6 599 | 04C8 600 | 04CA 601 | 04CC 602 | 04CE 603 | 04D1 604 | 04D3 605 | 04D5 606 | 04D7 607 | 04DD 608 | 04DF 609 | 04E1 610 | 04E3 611 | 04E5 612 | 04E7 613 | 04E9 614 | 04EB 615 | 04ED 616 | 04EF 617 | 04F1 618 | 04F3 619 | 04F5 620 | 04F9 621 | 04FD 622 | 0511 623 | 0513 624 | 051D 625 | 048D 626 | 048F 627 | 628 | Greek 629 | 0391 630 | 0392 631 | 0393 632 | 0394 633 | 0395 634 | 0396 635 | 0397 636 | 0398 637 | 0399 638 | 039A 639 | 039B 640 | 039C 641 | 039D 642 | 039E 643 | 039F 644 | 03A0 645 | 03A1 646 | 03A3 647 | 03A4 648 | 03A5 649 | 03A6 650 | 03A7 651 | 03A8 652 | 03A9 653 | 0386 654 | 0388 655 | 0389 656 | 038A 657 | 038C 658 | 038E 659 | 038F 660 | 03AA 661 | 03AB 662 | 03B1 663 | 03B2 664 | 03B3 665 | 03B4 666 | 03B5 667 | 03B6 668 | 03B7 669 | 03B8 670 | 03B9 671 | 03BA 672 | 03BB 673 | 03BC 674 | 03BD 675 | 03BE 676 | 03BF 677 | 03C0 678 | 03C1 679 | 03C2 680 | 03C3 681 | 03C4 682 | 03C5 683 | 03C6 684 | 03C7 685 | 03C8 686 | 03C9 687 | 03AF 688 | 03CA 689 | 0390 690 | 03CD 691 | 03CB 692 | 03B0 693 | 03CC 694 | 03CE 695 | 03AC 696 | 03AD 697 | 03AE 698 | 037A 699 | 700 | Punctuation, Symbols 701 | 00AA 702 | 00BA 703 | 002E 704 | 002C 705 | 003A 706 | 003B 707 | 2026 708 | 0021 709 | 00A1 710 | 003F 711 | 00BF 712 | 00B7 713 | 2022 714 | 002A 715 | 204A 716 | 2027 717 | 0023 718 | 002F 719 | 005C 720 | 002D 721 | 2013 722 | 2014 723 | 2E17 724 | 2015 725 | 2010 726 | 005F 727 | 0028 728 | 0029 729 | 007B 730 | 007D 731 | 005B 732 | 005D 733 | 201A 734 | 201E 735 | 201C 736 | 201D 737 | 2018 738 | 2019 739 | 00AB 740 | 00BB 741 | 2039 742 | 203A 743 | 0022 744 | 0027 745 | 0040 746 | 0026 747 | 00B6 748 | 00A7 749 | 00A9 750 | 00AE 751 | 2122 752 | 00B0 753 | 2032 754 | 2033 755 | 007C 756 | 00A6 757 | 2020 758 | 2021 759 | 2116 760 | 2325 761 | 2318 762 | 763 | Numerals, Math, Currency 764 | 0030 765 | 0031 766 | 0032 767 | 0033 768 | 0034 769 | 0035 770 | 0036 771 | 0037 772 | 0038 773 | 0039 774 | 0030.osf 775 | 0031.osf 776 | 0032.osf 777 | 0033.osf 778 | 0034.osf 779 | 0035.osf 780 | 0036.osf 781 | 0037.osf 782 | 0038.osf 783 | 0039.osf 784 | 2044 785 | 00BD 786 | 2189 787 | 2153 788 | 2154 789 | 00BC 790 | 00BE 791 | 2155 792 | 2156 793 | 2157 794 | 2158 795 | 2159 796 | 215A 797 | 2150 798 | 215B 799 | 215C 800 | 215D 801 | 215E 802 | 2151 803 | 2080 804 | 2081 805 | 2082 806 | 2083 807 | 2084 808 | 2085 809 | 2086 810 | 2087 811 | 2088 812 | 2089 813 | 2070 814 | 00B9 815 | 00B2 816 | 00B3 817 | 2074 818 | 2075 819 | 2076 820 | 2077 821 | 2078 822 | 2079 823 | 0192 824 | 0E3F 825 | 2113 826 | 212E 827 | 20BF 828 | 00A2 829 | 00A4 830 | 0024 831 | 20AC 832 | 20A3 833 | 20B4 834 | 20BA 835 | 20BD 836 | 20B9 837 | 20AA 838 | 00A3 839 | 20B8 840 | 20AE 841 | 20A9 842 | 00A5 843 | 2219 844 | 2052 845 | 002B 846 | 2212 847 | 00D7 848 | 00F7 849 | 003D 850 | 2260 851 | 003E 852 | 003C 853 | 2265 854 | 2264 855 | 00B1 856 | 2248 857 | 007E 858 | 00AC 859 | 005E 860 | 221E 861 | 222B 862 | 2126 863 | 2206 864 | 220F 865 | 2211 866 | 221A 867 | 2202 868 | 00B5 869 | 0025 870 | 2030 871 | 27E8 872 | 27E9 873 | 874 | Graphical 875 | 2770 876 | 276E 877 | 2771 878 | 276F 879 | 276C 880 | 276D 881 | 2669 882 | 266A 883 | 266B 884 | 266C 885 | 2605 886 | 2606 887 | 2660 888 | 2663 889 | 2665 890 | 2666 891 | 2726 892 | 2727 893 | 2191 894 | 2197 895 | 2192 896 | 2198 897 | 2193 898 | 2199 899 | 2190 900 | 2196 901 | 2195 902 | 21B0 903 | 21B1 904 | 21B2 905 | 21B3 906 | 21B4 907 | 21B5 908 | 2581 909 | 2582 910 | 2583 911 | 2584 912 | 2585 913 | 2586 914 | 2587 915 | 2588 916 | 2580 917 | 2594 918 | 258F 919 | 258E 920 | 258D 921 | 258C 922 | 258B 923 | 258A 924 | 2589 925 | 2590 926 | 2595 927 | 2596 928 | 2597 929 | 2598 930 | 2599 931 | 259A 932 | 259B 933 | 259C 934 | 259D 935 | 259E 936 | 259F 937 | 2591 938 | 2592 939 | 2593 940 | 25CC 941 | 25CA 942 | 25A0 943 | 25A1 944 | 25AA 945 | 25AB 946 | 25B2 947 | 25BC 948 | 25B3 949 | 25B7 950 | 25BD 951 | 25C1 952 | 25BA 953 | 25C4 954 | 2566 955 | 2557 956 | 2554 957 | 2550 958 | 2569 959 | 255D 960 | 255A 961 | 2551 962 | 256C 963 | 2563 964 | 2560 965 | 2565 966 | 2556 967 | 2553 968 | 2530 969 | 2512 970 | 2527 971 | 250E 972 | 251F 973 | 2541 974 | 252F 975 | 2511 976 | 2529 977 | 250D 978 | 2521 979 | 2547 980 | 2564 981 | 2555 982 | 2552 983 | 254D 984 | 254F 985 | 257B 986 | 2533 987 | 2513 988 | 250F 989 | 2501 990 | 2578 991 | 257E 992 | 2509 993 | 250B 994 | 257A 995 | 2505 996 | 2507 997 | 2579 998 | 253B 999 | 251B 1000 | 257F 1001 | 2517 1002 | 2503 1003 | 254B 1004 | 252B 1005 | 2523 1006 | 2545 1007 | 252D 1008 | 2535 1009 | 253D 1010 | 2532 1011 | 253A 1012 | 254A 1013 | 2543 1014 | 256E 1015 | 256D 1016 | 256F 1017 | 2570 1018 | 2573 1019 | 2572 1020 | 2571 1021 | 254C 1022 | 254E 1023 | 2577 1024 | 252C 1025 | 2510 1026 | 250C 1027 | 2500 1028 | 2574 1029 | 257C 1030 | 2508 1031 | 250A 1032 | 2576 1033 | 2504 1034 | 2506 1035 | 2575 1036 | 257D 1037 | 2534 1038 | 2518 1039 | 2514 1040 | 2502 1041 | 253C 1042 | 2524 1043 | 251C 1044 | 2546 1045 | 252E 1046 | 2536 1047 | 253E 1048 | 2531 1049 | 2539 1050 | 2549 1051 | 2544 1052 | 2568 1053 | 255C 1054 | 2559 1055 | 2540 1056 | 2538 1057 | 2526 1058 | 251A 1059 | 251E 1060 | 2516 1061 | 2548 1062 | 2537 1063 | 252A 1064 | 2519 1065 | 2522 1066 | 2515 1067 | 2567 1068 | 255B 1069 | 2558 1070 | 256B 1071 | 2562 1072 | 255F 1073 | 2542 1074 | 2528 1075 | 2520 1076 | 253F 1077 | 2525 1078 | 251D 1079 | 256A 1080 | 2561 1081 | 255E 1082 | 1FB82 1083 | 1FB83 1084 | 1FB84 1085 | 1FB85 1086 | 1FB86 1087 | 1FB87 1088 | 1FB88 1089 | 1FB89 1090 | 1FB8A 1091 | 1FB8B 1092 | -------------------------------------------------------------------------------- /src/components/app.tsx: -------------------------------------------------------------------------------- 1 | import { Suspense } from "solid-js"; 2 | 3 | import { Header } from "./header"; 4 | import { Cockpit } from "./cockpit"; 5 | import { Keeb } from "./keeb"; 6 | import { Tester } from "./tester"; 7 | import { Deparkanoid } from "./derparkanoid"; 8 | import { Code } from "./code"; 9 | import { Footer } from "./footer"; 10 | 11 | export function App() { 12 | return ( 13 | <> 14 |
15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 |