点字(指点字)のプログラムを作成しようと思い、点字の資料を探してみましたが、画像では結構見つかるもののデータ化されているものが見あたりませんでした。
そこで、こちらのサイトを参考にデータ化しました。
まだ作りはじめたばかりで足りない部分や間違った部分もあるかと思いますので、随時GitHubで修正を行っていく予定です
brille6data.h
# ifndef __BRAILLE6DATA_H
# define __BRAILLE6DATA_H
# include <avr/pgmspace.h>
typedef struct FBraille
{
char keyJ[];
char keyR[];
uint16_t code;
} FBraille;
uint16_t BrailleToFinger(uint16_t _braille){
uint16_t finger = 0;
// (142536 = ) 543210 > 135420
finger |= (((_braille>>(0+0))&1) << (0+0)); // 6>6
finger |= (((_braille>>(1+0))&1) << (5+0)); // 3>3
finger |= (((_braille>>(2+0))&1) << (1+0)); // 5>5
finger |= (((_braille>>(3+0))&1) << (4+0)); // 2>2
finger |= (((_braille>>(4+0))&1) << (2+0)); // 4>4
finger |= (((_braille>>(5+0))&1) << (3+0)); // 1>1
finger |= (((_braille>>(0+6))&1) << (0+6)); // 6>6
finger |= (((_braille>>(1+6))&1) << (5+6)); // 3>3
finger |= (((_braille>>(2+6))&1) << (1+6)); // 5>5
finger |= (((_braille>>(3+6))&1) << (4+6)); // 2>2
finger |= (((_braille>>(4+6))&1) << (2+6)); // 4>4
finger |= (((_braille>>(5+6))&1) << (3+6)); // 1>1
return finger;
}
const PROGMEM FBraille Braille[] = {
{"あ", "a", ((B100<<3) + B000)},
{"い", "i", (B101<<3) + B000},
{"う", "i", (B110<<3) + B000},
{"え", "i", (B111<<3) + B000},
{"お", "i", (B011<<3) + B000},
{"か", "ka", (B100<<3) + B001},
{"き", "ki", (B101<<3) + B001},
{"く", "ku", (B110<<3) + B001},
{"け", "ke", (B111<<3) + B001},
{"こ", "ko", (B011<<3) + B001},
{"さ", "sa", (B100<<3) + B101},
{"し", "si", (B101<<3) + B101},
{"す", "su", (B110<<3) + B101},
{"せ", "se", (B111<<3) + B101},
{"そ", "so", (B011<<3) + B101},
{"た", "ta", (B100<<3) + B110},
{"ち", "ti", (B101<<3) + B110},
{"つ", "tu", (B110<<3) + B110},
{"て", "te", (B111<<3) + B110},
{"と", "to", (B011<<3) + B110},
{"な", "na", (B100<<3) + B010},
{"に", "ni", (B101<<3) + B010},
{"ぬ", "nu", (B110<<3) + B010},
{"ね", "ne", (B111<<3) + B010},
{"の", "no", (B011<<3) + B010},
{"は", "ha", (B100<<3) + B011},
{"ひ", "hi", (B101<<3) + B011},
{"ふ", "hu", (B110<<3) + B011},
{"へ", "he", (B111<<3) + B011},
{"ほ", "ho", (B011<<3) + B011},
{"ま", "ma", (B100<<3) + B111},
{"み", "mi", (B101<<3) + B111},
{"む", "mu", (B110<<3) + B111},
{"め", "me", (B111<<3) + B111},
{"も", "mo", (B011<<3) + B111},
{"や", "ya", (B010<<3) + B100},
{"ゆ", "yu", (B010<<3) + B011},
{"よ", "yo", (B010<<3) + B110},
{"ら", "ra", (B100<<3) + B100},
{"り", "ri", (B101<<3) + B100},
{"る", "ru", (B110<<3) + B100},
{"れ", "re", (B111<<3) + B100},
{"ろ", "ro", (B011<<3) + B100},
{"わ", "wa", (B000<<3) + B010},
{"を", "wo", (B000<<3) + B101},
{"ん", "nn", (B000<<3) + B111},
{"っ", "xtu", B001000},
{"ー", "-", B001100},
{"が", "ga", (B000100<<6) + (B100<<3) + B001},
{"ぎ", "gi", (B000100<<6) + (B101<<3) + B001},
{"ぐ", "gu", (B000100<<6) + (B110<<3) + B001},
{"げ", "ge", (B000100<<6) + (B111<<3) + B001},
{"ご", "go", (B000100<<6) + (B011<<3) + B001},
{"ざ", "za", (B000100<<6) + (B100<<3) + B101},
{"じ", "zi", (B000100<<6) + (B101<<3) + B101},
{"ず", "zu", (B000100<<6) + (B110<<3) + B101},
{"ぜ", "ze", (B000100<<6) + (B111<<3) + B101},
{"ぞ", "zo", (B000100<<6) + (B011<<3) + B101},
{"だ", "da", (B000100<<6) + (B100<<3) + B110},
{"ぢ", "di", (B000100<<6) + (B101<<3) + B110},
{"づ", "du", (B000100<<6) + (B110<<3) + B110},
{"で", "de", (B000100<<6) + (B111<<3) + B110},
{"ど", "do", (B000100<<6) + (B011<<3) + B110},
{"ば", "ba", (B000100<<6) + (B100<<3) + B011},
{"び", "bi", (B000100<<6) + (B101<<3) + B011},
{"ぶ", "bu", (B000100<<6) + (B110<<3) + B011},
{"べ", "be", (B000100<<6) + (B111<<3) + B011},
{"ぼ", "bo", (B000100<<6) + (B011<<3) + B011},
{"ぱ", "pa", (B000001<<6) + (B100<<3) + B011},
{"ぴ", "pi", (B000001<<6) + (B101<<3) + B011},
{"ぷ", "pu", (B000001<<6) + (B110<<3) + B011},
{"ぺ", "pe", (B000001<<6) + (B111<<3) + B011},
{"ぽ", "po", (B000001<<6) + (B011<<3) + B011},
{"きゃ", "kya", (B010000<<6) + (B100<<3)+ B010},
{"きゅ", "kyu", (B010000<<6) + (B110<<3)+ B010},
{"きょ", "kyo", (B010000<<6) + (B011<<3)+ B010},
{"しゃ", "sya", (B010000<<6) + (B100<<3)+ B101},
{"しゅ", "syu", (B010000<<6) + (B110<<3)+ B101},
{"しょ", "syo", (B010000<<6) + (B011<<3)+ B101},
{"ちゃ", "tya", (B010000<<6) + (B100<<3)+ B110},
{"ちゅ", "tyu", (B010000<<6) + (B110<<3)+ B110},
{"ちょ", "tyo", (B010000<<6) + (B011<<3)+ B110},
{"にゃ", "nya", (B010000<<6) + (B100<<3)+ B010},
{"にゅ", "nyu", (B010000<<6) + (B110<<3)+ B010},
{"にょ", "nyo", (B010000<<6) + (B011<<3)+ B010},
{"ひゃ", "hya", (B010000<<6) + (B100<<3)+ B011},
{"ひゅ", "hyu", (B010000<<6) + (B110<<3)+ B011},
{"ひょ", "hyo", (B010000<<6) + (B011<<3)+ B011},
{"みゃ", "mya", (B010000<<6) + (B100<<3)+ B111},
{"みゅ", "myu", (B010000<<6) + (B110<<3)+ B111},
{"みょ", "myo", (B010000<<6) + (B011<<3)+ B111},
{"りゃ", "rya", (B010000<<6) + (B100<<3)+ B100},
{"りゅ", "ryu", (B010000<<6) + (B110<<3)+ B100},
{"りょ", "ryo", (B010000<<6) + (B011<<3)+ B100},
{"ぎゃ", "gya", (B010100<<6) + (B100<<3)+ B001},
{"ぎゅ", "gyu", (B010100<<6) + (B110<<3)+ B001},
{"ぎょ", "gyo", (B010100<<6) + (B011<<3)+ B001},
{"じゃ", "ja", (B010100<<6) + (B100<<3)+ B101},
{"じゅ", "ju", (B010100<<6) + (B110<<3)+ B101},
{"じょ", "jo", (B010100<<6) + (B011<<3)+ B101},
{"びゃ", "bya", (B010100<<6) + (B100<<3)+ B011},
{"びゅ", "byu", (B010100<<6) + (B110<<3)+ B011},
{"びょ", "byo", (B010100<<6) + (B011<<3)+ B011},
{"ぴゃ", "pya", (B010001<<6) + (B100<<3)+ B011},
{"ぴゅ", "pyu", (B010001<<6) + (B110<<3)+ B011},
{"ぴょ", "pyo", (B010001<<6) + (B011<<3)+ B011},
{"いぇ", "ye", (B010000<<6)+ (B111<<3)+ B000},
{"しぇ", "sxe", (B010000<<6)+ (B111<<3)+ B101},
{"じぇ", "je", (B010100<<6)+ (B111<<3)+ B101},
{"ちぇ", "cxe", (B010000<<6)+ (B111<<3)+ B110},
{"うぃ,ゐ", "wi", (B001001<<6)+ (B101<<3)+ B000},
{"うぇ,ゑ", "we", (B001001<<6)+ (B110<<3)+ B000},
{"うぉ", "wo", (B001001<<6)+ (B011<<3)+ B000},
{"くぁ", "kxa", (B001001<<6)+ (B100<<3)+ B001},
{"くぃ", "kxi", (B001001<<6)+ (B101<<3)+ B001},
{"くぇ", "kxe", (B001001<<6)+ (B111<<3)+ B001},
{"くぉ", "kxo", (B001001<<6)+ (B011<<3)+ B001},
{"ぐぁ", "gxa", (B001101<<6)+ (B100<<3)+ B001},
{"つぁ", "txa", (B001001<<6)+ (B100<<3)+ B110},
{"つぃ", "txi", (B001001<<6)+ (B101<<3)+ B110},
{"つぇ", "txe", (B001001<<6)+ (B111<<3)+ B110},
{"つぉ", "txo", (B001001<<6)+ (B011<<3)+ B110},
{"ふぁ", "fa", (B001001<<6)+ (B100<<3)+ B011},
{"ふぃ", "fi", (B001001<<6)+ (B101<<3)+ B011},
{"ふぇ", "fe", (B001001<<6)+ (B111<<3)+ B011},
{"ふぉ", "fo", (B001001<<6)+ (B011<<3)+ B011},
{"ゔぁ", "va", (B001101<<6)+ (B100<<3)+ B011},
{"ゔぃ", "vi", (B001101<<6)+ (B101<<3)+ B011},
{"ゔぇ", "ve", (B001101<<6)+ (B111<<3)+ B011},
{"ゔぉ", "vo", (B001101<<6)+ (B011<<3)+ B011},
{"ゔ", "vu", (B000100<<6)+ (B110<<3)+ B000},
{"てぃ", "txi", (B010000<<6)+ (B101<<3)+ B110},
{"でぃ", "dxi", (B011000<<6)+ (B101<<3)+ B110},
{"とぅ", "txu", (B001001<<6)+ (B110<<3)+ B110},
{"どぅ", "dxu", (B010000<<6)+ (B110<<3)+ B110},
{"てゅ", "tyu", (B010001<<6)+ (B110<<3)+ B110},
{"でゅ", "dyu", (B010101<<6)+ (B110<<3)+ B110},
{"ふゅ", "gxa", (B010001<<6)+ (B110<<3)+ B110},
{"数", "NUM", B010111},
{"0", "0", B011100},
{"1", "1", B100000},
{"2", "2", B101000},
{"3", "3", B110000},
{"4", "4", B110100},
{"5", "5", B100100},
{"6", "6", B111000},
{"7", "7", B111100},
{"8", "8", B101100},
{"9", "9", B011000},
};
# endif //__BRAILLE6DATA_H