117 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						||
 * License (GPL):
 | 
						||
  
 | 
						||
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/>.
 | 
						||
 | 
						||
 * Author: © 2021 by Jos Boersema
 | 
						||
 *
 | 
						||
 */
 | 
						||
 | 
						||
#pragma once
 | 
						||
 | 
						||
/*        An amount of Unicode #defines
 | 
						||
 *        - hebrew
 | 
						||
 */
 | 
						||
 | 
						||
    // 
 | 
						||
#define HB_ALEF  0x05D0 // 'HB' for 'Hebrew', "ALEF" for Alef         : א
 | 
						||
#define HB_BET   0x05D1 //      "           , "BET" for Bet           : ב
 | 
						||
#define HB_GIMEL 0x05D2 //      "           , "GIMEL" for Gimel       : ג
 | 
						||
#define HB_DALET 0x05D3 //      "           , "DALET" for Daled       : ד
 | 
						||
#define HB_HE    0x05D4 //      "           , "HE" for He             : ה
 | 
						||
#define HB_VAV   0x05D5 //      "           , "VAV" for Vav           : ו
 | 
						||
#define HB_ZAYIN 0x05D6 //      "           , "ZAYIN" for Zayin       : ז
 | 
						||
#define HB_GET   0x05D7 //      "           , "HET" for Het           : ח
 | 
						||
#define HB_TET   0x05D8 //      "           , "TET" for Tet           : ט
 | 
						||
#define HB_YOD   0x05D9 //      "           , "YOD" for Yod           : י
 | 
						||
#define HB_KAFS  0x05DA //      "           , "KAFS" for Kaf sofiet   : ך
 | 
						||
#define HB_KAF   0x05DB //      "           , "KAF" for Kaf           : כ
 | 
						||
#define HB_LAMED 0x05DC //      "           , "LAMED" for Lamed       : ל
 | 
						||
#define HB_MEMS  0x05DD //      "           , "MEMS" for Mem sofiet   : ם
 | 
						||
#define HB_MEM   0x05DE //      "           , "MEM" for Mem           : מ
 | 
						||
#define HB_NUNS  0x05DF //      "           , "NUNS" for Nun sofiet   : ן
 | 
						||
#define HB_NUN   0x05E0 //      "           , "NUN" for Nun           : נ
 | 
						||
#define HB_SAMEG 0x05E1 //      "           , "SAMEG" for Sameg       : ס
 | 
						||
#define HB_AYIN  0x05E2 //      "           , "AYIN" for Ayin         : ע
 | 
						||
#define HB_PES   0x05E3 //      "           , "PES"  for Pe sofiet    : ף
 | 
						||
#define HB_PE    0x05E4 //      "           , "PE" for Pe             : פ
 | 
						||
#define HB_TSDIS 0x05E5 //      "           , "TSDIS" for Tsadi sofiet: ץ
 | 
						||
#define HB_TSADI 0x05E6 //      "           , "TSADI" for Tsadi       : צ
 | 
						||
#define HB_QOF   0x05E7 //      "           , "QOF" for Qof           : ק
 | 
						||
#define HB_RESH  0x05E8 //      "           , "RESH" for Resh         : ר
 | 
						||
#define HB_SHIN  0x05E9 //      "           , "SHIN" for Shin         : ש
 | 
						||
#define HB_TAV   0x05EA //      "           , "TAV" for Tav           : ת
 | 
						||
#define HB_MAQAF 0x05be //      "           , "MAQAF" for Maqaf       : ־
 | 
						||
 | 
						||
// Yiddish digraphs:
 | 
						||
//#define HB_D_VAV 0x05F0 //      "           , "D_VAV" for double Van  : װ
 | 
						||
//#define HB_VAVYD 0x05F1 //      "           , "VAVYD" for Vav Yod     : ױ
 | 
						||
//#define HB_D_YOD 0x05F2 //      "           , "D_YOD" for double Yod  : ײ
 | 
						||
 | 
						||
// special
 | 
						||
#define HB_RLM   0x200F //      "           , "RLM" for Right-Left-Mark: <non-printing>
 | 
						||
#define HB_LRM   0x200E //      "           , "LRM" for Left-Right-Mark: <non-printing>
 | 
						||
 | 
						||
 | 
						||
// The below are displacing symbols on other layers, some of which are quite obscure
 | 
						||
// and end up being unused. They are compiled based on a #define.
 | 
						||
// These where reported as symbols present on hebrew keyboards: 
 | 
						||
// U+05F3 : HEBREW PUNCTUATION GERESH
 | 
						||
// U+20AC : EURO SIGN
 | 
						||
// U+20AA : NEW SHEQEL SIGN {shekel}
 | 
						||
// U+00B0 : DEGREE SIGN
 | 
						||
// U+05AB : HEBREW ACCENT OLE
 | 
						||
// U+05BD : HEBREW POINT METEG {siluq}
 | 
						||
// U+00D7 : MULTIPLICATION SIGN {z notation Cartesian product}
 | 
						||
// U+200E : LEFT-TO-RIGHT MARK [LRM]
 | 
						||
// U+200F : RIGHT-TO-LEFT MARK [RLM]
 | 
						||
// U+05BE : HEBREW PUNCTUATION MAQAF
 | 
						||
// U+2013 : EN DASH
 | 
						||
// U+05C2 : HEBREW POINT SIN DOT
 | 
						||
// U+05C1 : HEBREW POINT SHIN DOT
 | 
						||
// U+05B8 : HEBREW POINT QAMATS
 | 
						||
// U+05F0 : HEBREW LIGATURE YIDDISH DOUBLE VAV {tsvey vovn}
 | 
						||
// U+05B9 : HEBREW POINT HOLAM
 | 
						||
// U+05B7 : HEBREW POINT PATAH
 | 
						||
// U+05B2 : HEBREW POINT HATAF PATAH
 | 
						||
// U+05F1 : HEBREW LIGATURE YIDDISH VAV YOD
 | 
						||
// U+05F2 : HEBREW LIGATURE YIDDISH DOUBLE YOD {tsvey yudn}
 | 
						||
// U+05B4 : HEBREW POINT HIRIQ
 | 
						||
// U+201D : RIGHT DOUBLE QUOTATION MARK {double comma quotation mark}
 | 
						||
// U+201E : DOUBLE LOW-9 QUOTATION MARK {low double comma quotation mark}
 | 
						||
// U+05F4 : HEBREW PUNCTUATION GERSHAYIM
 | 
						||
// U+05B6 : HEBREW POINT SEGOL
 | 
						||
// U+05B1 : HEBREW POINT HATAF SEGOL
 | 
						||
// U+05B5 : HEBREW POINT TSERE
 | 
						||
// U+2019 : RIGHT SINGLE QUOTATION MARK {single comma quotation mark}
 | 
						||
// U+201A : SINGLE LOW-9 QUOTATION MARK {low single comma quotation mark}
 | 
						||
// U+00F7 : DIVISION SIGN {obelus}
 | 
						||
// U+05BA : HEBREW POINT HOLAM HASER FOR VAV
 | 
						||
// U+200D : ZERO WIDTH JOINER [ZWJ]
 | 
						||
// U+201C : LEFT DOUBLE QUOTATION MARK {double turned comma quotation mark}
 | 
						||
// U+201D : RIGHT DOUBLE QUOTATION MARK {double comma quotation mark}
 | 
						||
// U+034F : COMBINING GRAPHEME JOINER [CGJ]
 | 
						||
// U+05C6 : HEBREW PUNCTUATION NUN HAFUKHA
 | 
						||
// U+200C : ZERO WIDTH NON-JOINER [ZWNJ]
 | 
						||
// U+2018 : LEFT SINGLE QUOTATION MARK {single turned comma quotation mark}
 | 
						||
// U+2019 : RIGHT SINGLE QUOTATION MARK {single comma quotation mark}
 | 
						||
// Note: many modifiers probably only work with a hebrew language setting on the computer
 | 
						||
//  operating system. As Unicode, it would print a disconnected diacretical symbol.
 | 
						||
 | 
						||
// Geresh
 | 
						||
#define HB_GERSH 0x05F3 //      "           , "GERSH" for Geresh      : 
 | 
						||
#define HB_GRSHM 0x05F4 //      "           , "GRSHM" for Gershayim   : 
 | 
						||
// Currency
 | 
						||
#define HB_SHEKL 0x20AA //      "           , "SHEKL" for shekel      :
 |