https://github.com/manifoldfinance/checksum-font
checksum - a typefont for hex encoded values
https://github.com/manifoldfinance/checksum-font
checksum checksum-font hex hex-font webfont
Last synced: 11 months ago
JSON representation
checksum - a typefont for hex encoded values
- Host: GitHub
- URL: https://github.com/manifoldfinance/checksum-font
- Owner: manifoldfinance
- License: ofl-1.1
- Created: 2022-09-21T00:45:49.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-06-30T20:57:09.000Z (almost 2 years ago)
- Last Synced: 2024-07-04T18:13:53.363Z (almost 2 years ago)
- Topics: checksum, checksum-font, hex, hex-font, webfont
- Language: Rust
- Homepage:
- Size: 117 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# [checksum](#)
> a typefont for hex encoded values
Checksum font is experimental typeface that would be able to reflect checksum encoding with styling in addition to the upper and lower case characters.
"Contextual Alternates" OpenType layout feature: It formats hexadecimal numbers (starting with 0x) with shorter uppercase letters, so they are at the same height as the numbers.
>[!NOTE]
> You can control those alternates in your editor’s settings, e.g. in Visual Studio Code by adding "editor.fontLigatures": "'calt'" to your settings.json.
Checksum leverages Apple’s Scancardium3 font characteristics. That font is responsible for enabling iPhones to be able to scan Gift Card Serial numbers without a QR Code: it detects the string because of the typeface match. We want to do something similar for webpages to enable users to scan an address or tx hash string without the clutter of QR and also enable stronger visual aides to provide better accessibility to hard of sight users.
## Usage
Prevent FOUT or FOIT. Use Font Loading API or Web Font Loader:
```html
```
```html
window.WebFontConfig = {
custom: {
families: ['Checksum'],
},
};
```
```css
@font-face {
font-family: 'KaTeX_Main';
src: url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Main-Regular.woff2) format('woff2'), url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Main-Regular.woff) format('woff'), url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Main-Regular.ttf) format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'KaTeX_Math';
src: url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Math-BoldItalic.woff2) format('woff2'), url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Math-BoldItalic.woff) format('woff'), url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Math-BoldItalic.ttf) format('truetype');
font-weight: bold;
font-style: italic;
}
@font-face {
font-family: 'KaTeX_Math';
src: url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Math-Italic.woff2) format('woff2'), url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Math-Italic.woff) format('woff'), url(https://cdn.jsdelivr.net/npm/katex@0.11.0/dist/fonts/KaTeX_Math-Italic.ttf) format('truetype');
font-weight: normal;
font-style: italic;
}
```
### glyph ordering
.notdef
.null
CR
space
one
two
three
four
five
six
seven
eight
nine
zero
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
hyphen