1
0
Fork 0

Good enough.

This commit is contained in:
Thomas Touhey 2017-01-09 14:45:25 +01:00
parent 4ee10f7aef
commit 1f382d0797
5 changed files with 209 additions and 32 deletions

View File

@ -2,8 +2,7 @@
## Introduction
`FONTCHARACTER` is how, in the CASIO community, we call CASIO's encoding.
It is an encoding especially thought for CASIO calculators. It is a simple
multi-byte encoding, where extended characters are the one starting with a
special byte: 0x7F, 0xF7, 0xF9, 0xE5, 0xE6 or 0xE7. It is partially
multi-byte encoding, with leading characters. It is partially
ASCII retrocompatible.
This project is here to centralize all the info about it : existing characters,
@ -31,7 +30,14 @@ are appended to the character name, for example, ` Digit`.
`sets.yml` is the sets file. A set is basically a pack of characters appeared
in the same time on CASIO calculators, or in an extension (alternative
CASIO Basic interpreters/compilers).
CASIO Basic interpreters/compilers). For each set :
- the `description` field is the description of the set;
- if the `default` field is there, then it is the default set to use
(generally the most recent set made by CASIO);
- if the `leading` field is there, the list of leading characters is in it.
Otherwise, if it has got a parent, it uses its leading characters list, and
if it hasn't got one, it has no leading characters.
`characters.yml` is the file containing data about the characters. For each
character, the `code` field is its `FONTCHARACTER` code, the `name` field is

View File

@ -1,5 +1,3 @@
# TODO in FONTCHARACTER Reference
- Finish character listing in `characters.yml`;
- Finish copying `mini` font characters;
- Check for incompatibilities between fonts for fx-9860G and Prizm;
- Add characters compatibility table;
- Check out the unknown/undocumented characters (`UNKNOWN.md`);
- Develop the set systems, make them represent the encoding history;

99
UNKNOWN.md Normal file
View File

@ -0,0 +1,99 @@
# Unknown/unused/undocumented characters (in default set)
People should investiguate on these. Maybe they're used but I forgot to include
them. Maybe they're not used ('@'), yet. Oh, and I may have forgot some.
0x90
0x9D
0xD2
0xF8
0xFF
0x7F03
0x7F07
0x7F13
0x7F17
0x7F1B-0x7F1C
0x7F31-0x7F39
0x7F58-0x7F5F
0x7F69
0x7F70-0x7F75
0x7F7E-0x7F83
0x7F8B
0x7F99-0x7F9B
0x7F9D-0x7F9F
0x7FAF
0x7FB2
0x7FB8
0x7FBF
0x7FCF
0x7FDF
0x7FE5-0x7FE8
0x7FF5-0x7FFA
0x7FFF
0xF70F
0xF717
0xF737-0xF739
0xF73B
0xF73D-0xF73E
0xF754
0xF766
0xF772-0xF775
0xF77B-0xF77C
0xF77F
0xF781-0xF786
0xF78A-0xF78B
0xF79B-0xF79D
0xF7AE
0xF7CF
0xF7DE-0xF7FF
0xF900
0xF90D-0xF90F
0xF91A
0xF91F
0xF923
0xF940-0xF949
0xF94C-0xF95A
0xF95C-0xF95D
0xF95F-0xF96C
0xF96E-0xF97F
0xF998-0xF99F
0xF9BC-0xF9DF
0xF9E4-0xF9E7
0xF9F3-0xF9FA
0xF9FF
0xE500
0xE51E
0xE536-0xE53F
0xE559-0xE55F
0xE57F
0xE5A8-0xE5BF
0xE5DD-0xE5FF
0xE600
0xE636-0xE63F
0xE64F
0xE659-0xE65F
0xE67F
0xE694-0xE695
0xE6A0-0xE6A2
0xE6A7-0xE6AE
0xE6B0-0xE6D6
0xE6D8-0xE6FF
0xE700
0xE718
0xE730-0xE740
0xE77B-0xE7AF
0xE7B1
0xE7BC
0xE7BE
0xE7C1
0xE7C6
0xE7D6
0xE7E0-0xE7E1
0xE7E5-0xE7E7
0xE7F6-0xE7FA
0xE7FC-0xE7FF

View File

@ -615,6 +615,7 @@
#******************************************************************************#
# Hardcoded in extended ASCII #
#******************************************************************************#
# 0x7F: multibyte leader
-
code: 0x80
name: Pol(
@ -678,6 +679,8 @@
code: 0x8F
name: Sigma x²
multi: 0xE551,0x78,0xE5C2
# TODO
-
code: 0x91
name: sin^-1
@ -710,8 +713,10 @@
code: 0x99
name: Minus
multi: 0x2D
# TODO
-
code: 0x9A
name: xor
multi: 0x78,0x6F,0x72
-
code: 0x9B
name: ^-1
@ -747,8 +752,10 @@
code: 0xA3
name: tanh
multi: 0x74,0x61,0x6E,0x68,0x20
# TODO
-
code: 0xA4
name: o (?)
multi: 0x6F
-
code: 0xA5
name: exp
@ -757,8 +764,10 @@
code: 0xA6
name: Int
multi: 0x49,0x6E,0x74,0x20
# TODO
-
code: 0xA7
name: Not
multi: 0x4E,0x6F,0x74,0x20
-
code: 0xA8
name: Power
@ -768,8 +777,10 @@
name: Multiplication
category: Sign
unicode: 0xD7
# TODO
-
code: 0xAA
name: or
multi: 0x6F,0x72
-
code: 0xAB
name: Exclamation mark (?)
@ -779,8 +790,6 @@
name: Radian
category: Sign
unicode: 0x2B3
# TODO
-
code: 0xAD
name: minY
@ -805,8 +814,10 @@
code: 0xB3
name: tanh^-1
multi: 0x74,0x61,0x6E,0x68,0xE5CA,0x20
# TODO
-
code: 0xB4
name: b (?)
multi: 0x62
-
code: 0xB5
name: Ten
@ -816,8 +827,10 @@
code: 0xB6
name: Frac
multi: 0x46,0x72,0x61,0x63,0x20
# TODO
-
code: 0xB7
name: Neg
multi: 0x4E,0x65,0x67,0x20
-
code: 0xB8
name: Xrt
@ -827,8 +840,10 @@
name: Division
category: Sign
unicode: 0xF7
# TODO
-
code: 0xBA
name: and
multi: 0x61,0x6E,0x64
-
code: 0xBB
name: Fraction
@ -928,8 +943,25 @@
code: 0xD3
name: Rnd
multi: 0x52,0x6E,0x64
# TODO
-
code: 0xD4
name: Dec
multi: 0x44,0x65,0x63
-
code: 0xD5
name: Hex
multi: 0x48,0x65,0x78
-
code: 0xD6
name: Bin
multi: 0x42,0x69,0x6E
-
code: 0xD7
name: Oct
multi: 0x4F,0x63,0x74
-
code: 0xD8
name: White Box
-
code: 0xD9
name: Norm
@ -980,7 +1012,7 @@
name: Sci
multi: 0x53,0x63,0x69,0x20
# TODO
# 0xE5, 0xE6, 0xE7: multibyte leaders
-
code: 0xE8
name: Dsz
@ -1039,8 +1071,14 @@
code: 0xF5
name: Graph(X,Y)=(
multi: 0x47,0x72,0x61,0x70,0x68,0x28,0x58,0x2C,0x59,0x29,0x3D
-
code: 0xF6
name: Comma (?)
multi: 0x2C
# 0xF7: multibyte leader
# TODO
# 0xF9: multibyte leader
-
code: 0xFA
name: Gosub
@ -1351,8 +1389,9 @@
code: 0x7F52
name: Delta List
multi: 0xE543,0x4C,0x69,0x73,0x74,0x20
# TODO
-
code: 0x7F53
name: Infinity
-
code: 0x7F54
name: Less-Than (2nd)
@ -1715,11 +1754,11 @@
name: x with overline 2
multi: 0xC2,0x32
-
code: 0x6FC4
code: 0x7FC4
name: sx1
multi: 0x73,0x78,0x31
-
code: 0x6FC5
code: 0x7FC5
name: sx2
multi: 0x73,0x78,0x32
-
@ -2858,6 +2897,22 @@
# 0xF9 characters #
#******************************************************************************#
# TODO
-
code: 0xF901
name: ">Dec"
multi: 0xE69E,0x44,0x65,0x63
-
code: 0xF902
name: ">Hex"
multi: 0xE69E,0x48,0x65,0x78
-
code: 0xF903
name: ">Bin"
multi: 0xE69E,0x42,0x69,0x6E
-
code: 0xF904
name: ">Oct"
multi: 0xE69E,0x4F,0x63,0x74
-
code: 0xF905
name: ">DMS"
@ -3603,6 +3658,8 @@
name: Thorn
category: Letter/Latin Capital
unicode: 0xDE
# TODO
-
code: 0xE520
name: Y with diaeresis
@ -3734,6 +3791,8 @@
category: Letter/Latin Capital
unicode: 0x5A,0x306
libg1m: Z_breve
# TODO
-
code: 0xE540
name: Alpha
@ -3854,6 +3913,8 @@
name: Omega
category: Letter/Greek Capital
unicode: 0x3A9
# TODO
-
code: 0xE560
name: A
@ -4009,6 +4070,8 @@
name: E
category: Letter/Cyrillic Capital
unicode: 0x42D
# TODO
-
code: 0xE580
name: Yu
@ -4126,6 +4189,8 @@
code: 0xE5A7
name: Middle Dot
unicode: 0xB7
# TODO
-
code: 0xE5C0
name: Zero
@ -4591,6 +4656,8 @@
category: Letter/Latin Small
unicode: 0x7A,0x306
libg1m: z_breve
# TODO
-
code: 0xE640
name: Alpha
@ -4666,6 +4733,8 @@
name: Omicron
category: Letter/Greek Small
unicode: 0x3BF
# TODO
-
code: 0xE650
name: Pi
@ -4711,6 +4780,8 @@
name: Omega
category: Letter/Greek Small
unicode: 0x3C9
# TODO
-
code: 0xE660
name: A
@ -4866,6 +4937,8 @@
name: E
category: Letter/Cyrillic Small
unicode: 0x44D
# TODO
-
code: 0xE680
name: Yu
@ -4898,7 +4971,7 @@
name: Downwards Arrow
unicode: 0x2193
# TODO: wh0t
# TODO
-
code: 0xE696
name: North West Arrow

View File

@ -1,7 +1,8 @@
-
id: default
default: true
description: Added by CASIO.
leading: 0x7F,0xF7,0xF9,0xE5,0xE6,0xE7
description: The default character table, by CASIO.
-
id: C.Basic
description: Added with C.Basic, an alternative interpreter made by Sentaro21.