#!/usr/bin/perl
#
#  hexkinya - generate Kinya syllables for Plane 15 CSUR range.
#
#  Author: Andrew Miller, 2014
#
#  LICENSE:
#
#     This program is free software: you can redistribute it and/or modify
#     it under the terms of the GNU General Public License as published by
#     the Free Software Foundation, either version 2 of the License, or
#     (at your option) any later version.
#
#     This program is distributed in the hope that it will be useful,
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#     GNU General Public License for more details.
#
#     You should have received a copy of the GNU General Public License
#     along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

@init = (
'7E414949490000000000000000000000', # U+E150 - Kinya K
'7E414141410000000000000000000000', # U+E151 - Kinya G
'7E010909090000000000000000000000', # U+E152 - Kinya H
'7E010101010000000000000000000000', # U+E153 - Kinya X
'414B5D69410000000000000000000000', # U+E154 - Kinya S
'43454951610000000000000000000000', # U+E155 - Kinya Z
'3E087F08080000000000000000000000', # U+E156 - Kinya T
'08087F08080000000000000000000000', # U+E157 - Kinya D
'25555555250000000000000000000000', # U+E158 - Kinya TH
'39454545390000000000000000000000', # U+E159 - Kinya DH
'494949413F0000000000000000000000', # U+E15A - Kinya P
'414141413F0000000000000000000000', # U+E15B - Kinya B
'090909017F0000000000000000000000', # U+E15C - Kinya F
'010101017F0000000000000000000000', # U+E15D - Kinya V
'41417F41410000000000000000000000', # U+E15E - Kinya R
'7E0101017F0000000000000000000000', # U+E15F - Kinya Y
'7E4141417F0000000000000000000000', # U+E160 - Kinya N
'23150911210000000000000000000000', # U+E161 - Kinya L
'7F010F01010000000000000000000000', # U+E162 - Kinya M
'01097F01010000000000000000000000', # U+E163 - Kinya W
'02040810200000000000000000000000'  # U+E164 - Kinya VOWEL CARRIER
);

@medi = (
'0000000000007F400000000000000000', # U+E165 - Kinya A
'0000000000003F402000000000000000', # U+E166 - Kinya O
'00000000000000407F00000000000000', # U+E167 - Kinya IE
'00000000000020403F00000000000000', # U+E168 - Kinya U
'0000000000007F010000000000000000', # U+E169 - Kinya E
'0000000000007E010200000000000000', # U+E16A - Kinya OE
'00000000000000017F00000000000000', # U+E16B - Kinya I
'00000000000002017E00000000000000'  # U+E16C - Kinya UE
);

@fina = (
'000000000000000000007E4149494900', # U+E150 - Kinya K
'000000000000000000007E4141414100', # U+E151 - Kinya G
'000000000000000000007E0109090900', # U+E152 - Kinya H
'000000000000000000007E0101010100', # U+E153 - Kinya X
'00000000000000000000414B5D694100', # U+E154 - Kinya S
'00000000000000000000434549516100', # U+E155 - Kinya Z
'000000000000000000003E087F080800', # U+E156 - Kinya T
'0000000000000000000008087F080800', # U+E157 - Kinya D
'00000000000000000000255555552500', # U+E158 - Kinya TH
'00000000000000000000394545453900', # U+E159 - Kinya DH
'00000000000000000000494949413F00', # U+E15A - Kinya P
'00000000000000000000414141413F00', # U+E15B - Kinya B
'00000000000000000000090909017F00', # U+E15C - Kinya F
'00000000000000000000010101017F00', # U+E15D - Kinya V
'0000000000000000000041417F414100', # U+E15E - Kinya R
'000000000000000000007E0101017F00', # U+E15F - Kinya Y
'000000000000000000007E4141417F00', # U+E160 - Kinya N
'00000000000000000000231509112100', # U+E161 - Kinya L
'00000000000000000000404078407F00', # U+E162 - Kinya M  rotated 180 degrees
'0000000000000000000001097F010100', # U+E163 - Kinya W
'00000000000000000000020408102000', # U+E164 - Kinya VOWEL CARRIER
'00000000000000000000000000000000'  # U+E16E - Kinya ALTERNATE SPACE
);

for ($i = 0; $i < 21 ; $i++) {
	for ($m = 0; $m < 8 ; $m++) {
		for ($f = 0; $f < 22 ; $f++) {
			$c = ($i * 176) + ($m * 22) + $f + 0xF0000;
			printf ("%06X:%s%s%s\n", $c, substr ($init[$i], 0, 10), substr ($medi[$m], 10, 10), substr ($fina[$f], 20, 12));
		}
	}
}
