タイトル:AppliCodeは,32bitのFontIndex付きUnicode符号化形式,URL:https://applicode.kotan.site,ドメイン名:applicode.kotan.site,サブドメイン名:applicode,メインドメイン名:kotan.site,独自ドメイン名:kotan,トップレベルドメイン(TLD):site

AppliCodeは,32bitのFontIndex付きUnicode符号化形式

 公開日:2025年12月18日(木)
 更新日:2025年12月21日(日)

要旨

AppliCodeとは

 AppliCodeは,Appli Pontoが開発中のFontIndex付きUnicodeです;UTF-32で通常未使用の12bitをFontIndexに有効活用します;4byteの32bitを無駄なく使用した構成です;構成の内訳は,1bit(BOM)+1ibit(第0〜3面選択フラグ)+12bit(FontIndex)+18bit(Unicode)です;
 FontIndexは,フォント属性選択番号です;12bitなので,4096個のフォント属性を選択して利用できます;例えば,font-familyに6bit(64個),font-sizeに3bit(8個),line-heightに3bit(8個)が利用できます;
 AppliCodeは,非公式の符号化形式ですが,UTF-32互換を目指して開発をすすめます;

▶️末尾5ページへ▶️ ▶️次の1ページへ▶️

Ⅰ.AppliCode開発の背景

 AppliCode(FontIndex付きUnicode)開発の背景について述べます;

1.Unicodeの課題

(1)UnicodeにはFont情報が含まれていない

 Unicodeは,世界中の膨大な数の文字や記号,絵文字に番号をつけたものです;ディスプレイに表示するには,別途Fontを用意し,その属性を設定しなければなりません;ですが、UnicodeにはFont情報が全く含まれていないという課題があります;

(2)Unicodeに対応してお気に入りのフォント属性を設定する必要がある

 一方で,FontはUnicodeとは独立して開発され,異なる特長を有する膨大の種類があります;半角の欧文ならきれいなHelvetica neue,プログラミングなら等幅のSourece Han Code JP,罫線素片を使って表や線図を作るならUme Gothic S4などと,お気に入りのフォントを選択し,属性を適切に設定する必要があるという課題があります;
 

(3)UTF-8,UTF-16,UTF-32は一長一短がある

 Unicodeの符号化形式であるUTF-8,UTF-16,UTF-32はいずれも一長一短があります;
 UTF-8は,ASCIIではメモリ効率が良いですが,処理は遅いです;
 UTF-32は,処理は速いですが,ASCIIではメモリ効率は悪いです;
 UTF-16は,上記の中間であり中途半端です;
 ※ なお,UTF-32の処理が速いのは,最新のコンピュータ技術では,32bit以上のデータをまとめてアクセスできるからです;また,最新のソフトウェア技術では,ZIP形式などでデータを効率的に圧縮して保存できます;UTF-32のメモリ効率が悪いというのは,圧縮しない場合のみです;

◀️前の0ページへ◀️ ▶️次の2ページへ▶️

Ⅱ.AppliCodeのビット構成

 AppliCodeのビット構成について説明します;
 AppliCodeのFontIndexは,UTF-32(UCS-4)の未使用bitに埋め込みます;
 UTF-32は32ビット(4バイト)で1文字を表しますが,Unicodeの定義(最大U+10FFFF)により,実際に使用されるのは下位21ビットのみで, 上位11ビットが常に「0」として未使用になっています;
 Unicodeの第4面から第16面は,通常のコンピューター利用においては通常必要ありません;これらの面はほとんどが未割り当てであるか,非常に特殊な目的に使用されています;通常のコンピュータ利用で使うのは,実質第0〜3面だけですから,Unicodeは18bitですみます;
 構成の内訳は,1bit(BOM)+1ibit(第0〜3面選択フラグ)+12bit(FontIndex)+18bit(Unicode)です;
 最上位の1bitはBOM用です;
 次の1bitは第0〜3面選択フラグです;もしかしたら第4〜16面も使用するかもしれないためです;
 つづく12bitがFontIndexです;12bitなので4096個指定できます;
 次に,FontIndexの構成例を説明します;

◀️前の1ページへ◀️ ▶️次の3ページへ▶️

Ⅲ.FontIndexの構成例

 例えば,font-family,font-sizeとfont-weightの組み合わせ,line-heightを下記のように設定できます;
 なお,color(色)の属性は24bitとデータが大きくなりすぎるのでHTMLとCSSで別途設定します;そもそも,サイトの文章で,フォントに色付けするのは,リンクの青ぐらいしかありません;それに,aタグで指定しますので,FontIndexでの色の指定はなしとしました;
 font-weightは,font-familyとfont-sizeと深く連携しています;例えば,Helvetica neueは,font-sizeを大きくしたら,font-weightを小さくしたくなります;font-sizeとfont-weightは反比例するときれいに表示できるようです;ですから,単独ではなく従属する形で設定します;

font-family:64個(6bit)

font-size:8個(3bit)

line-height:8個(3bit)

◀️前の2ページへ◀️ ▶️次の4ページへ▶️

Ⅳ.font-familyとfont-weight:64個(6bit)

00 font-family:"Source Han Code JP", font-weight:100;
01 font-family:"Source Han Code JP", font-weight:200;
02 font-family:"Source Han Code JP", font-weight:300;
03 font-family:"Source Han Code JP", font-weight:400;
04 font-family:"Source Han Code JP", font-weight:500;
05 font-family:"Source Han Code JP", font-weight:700;
06 font-family:"Source Han Code JP", font-weight:900;
07

08 font-family:"HackGen", font-weight:400;
09 font-family:"HackGen", font-weight:700;
0A font-family:"HackGen Console", font-weight:400;
0B font-family:"HackGen Console", font-weight:700;
0C font-family:"HackGen 35", font-weight:400;
0D font-family:"HackGen 35", font-weight:700;
0E font-family:"HackGen 35 Console", font-weight:400;
0F font-family:"HackGen 35 Console", font-weight:700;

10 font-family:"Helvetica Neue", font-weight:100;
11 font-family:"Helvetica Neue", font-weight:200;
12 font-family:"Helvetica Neue", font-weight:300;
13 font-family:"Helvetica Neue", font-weight:400;
14 font-family:"Helvetica Neue", font-weight:500;
15 font-family:"Helvetica Neue", font-weight:700;
16 font-family:"Helvetica Neue", font-weight:900;
17 font-family:"MS Gothic

18 font-family:"Hiragino Sans", font-weight:200;
19 font-family:"Hiragino Sans", font-weight:300;
1A font-family:"Hiragino Sans", font-weight:400;
1B font-family:"Hiragino Sans", font-weight:500;
1C font-family:"Hiragino Sans", font-weight:700;
1D font-family:"Hiragino Sans", font-weight:900;
1E font-family:"BIZ UDGothic"
1F font-family:"IPAGothic"

20 font-family:"Courier New", font-weight:400;
21 font-family:"Courier New", font-weight:700;
22 font-family:"Menlo", font-weight:400;
23 font-family:"Menlo", font-weight:700;
24 font-family:"Ume Gothic S4"
25 font-family:"Ume Gothic S5"
26 font-family:"Cica", font-weight:400;
27 font-family:"Cica", font-weight:700;

28 font-family:"Migu 1M", font-weight:400;
29 font-family:"Migu 1M", font-weight:700;
2A font-family:"Ricty Diminished", font-weight:400;
2B font-family:"Ricty Diminished", font-weight:700;
2C font-family:"Firple", font-weight:400;
2D font-family:"Firple", font-weight:700;
2E font-family:"Firple Slim", font-weight:400;
2F font-family:"Firple Slim", font-weight:700;
*** ここからは明朝体 ***
30 font-family:"Source Han Serif", font-weight:200;
31 font-family:"Source Han Serif", font-weight:300;
32 font-family:"Source Han Serif", font-weight:400;
33 font-family:"Source Han Serif JP", font-weight:500;
34 font-family:"Source Han Serif", font-weight:600;
35 font-family:"Source Han Serif", font-weight:700;
36 font-family:"Ume Mincho S3"
37 font-family:"MS Mincho"

38 font-family:"Hiragino Mincho ProN W3"
39 font-family:"Hiragino Mincho ProN W6"
3A font-family:"游明朝体+36ポかな", font-weight:400;
3B font-family:"游明朝体+36ポかな", font-weight:600;
3C font-family:"游明朝体+36ポかな", font-weight:700;
3D
3E font-family:"BIZ UDMincho"
3F font-family:"IPAMincho"

◀️前の3ページへ◀️ ▶️次の5ページへ▶️

Ⅴ.font-size:8個(3bit)とline-height:8個(3bit)

◀️前の4ページへ◀️ ⏪先頭0ページへ⏪

 Copyright ©︎ 2025-2025 Appli Ponto. All rights reserved.

faviconこたんさいと広告

a


ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6
ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6
ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6
ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6
ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6
ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6
ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6
ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6
ヒラギノ明朝 ProN W3
ヒラギノ明朝 ProN W6