mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 14:08:32 +00:00
vim-patch:8.0.0406: arabic shaping code is verbose
Problem: The arabic shaping code is verbose.
Solution: Shorten the code without changing the functionality.
7f73b54631
This commit is contained in:
@@ -432,7 +432,6 @@ static int chg_c_a2s(int cur_c)
|
|||||||
case a_HEH: return a_s_HEH;
|
case a_HEH: return a_s_HEH;
|
||||||
case a_YEH: return a_s_YEH;
|
case a_YEH: return a_s_YEH;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -478,176 +477,57 @@ static int chg_c_a2i(int cur_c)
|
|||||||
case a_HEH: return a_i_HEH;
|
case a_HEH: return a_i_HEH;
|
||||||
case a_YEH: return a_i_YEH;
|
case a_YEH: return a_i_YEH;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change shape - from ISO-8859-6/Isolated to Medial
|
// Change shape - from ISO-8859-6/Isolated to Medial
|
||||||
static int chg_c_a2m(int cur_c)
|
static int chg_c_a2m(int cur_c)
|
||||||
{
|
{
|
||||||
int tempc;
|
|
||||||
|
|
||||||
switch (cur_c) {
|
switch (cur_c) {
|
||||||
case a_HAMZA: // exception
|
case a_HAMZA: return a_s_HAMZA; // exception
|
||||||
tempc = a_s_HAMZA;
|
case a_ALEF_MADDA: return a_f_ALEF_MADDA; // exception
|
||||||
break;
|
case a_ALEF_HAMZA_ABOVE: return a_f_ALEF_HAMZA_ABOVE; // exception
|
||||||
|
case a_WAW_HAMZA: return a_f_WAW_HAMZA; // exception
|
||||||
case a_ALEF_MADDA: // exception
|
case a_ALEF_HAMZA_BELOW: return a_f_ALEF_HAMZA_BELOW; // exception
|
||||||
tempc = a_f_ALEF_MADDA;
|
case a_YEH_HAMZA: return a_m_YEH_HAMZA;
|
||||||
break;
|
case a_ALEF: return a_f_ALEF; // exception
|
||||||
|
case a_BEH: return a_m_BEH;
|
||||||
case a_ALEF_HAMZA_ABOVE: // exception
|
case a_TEH_MARBUTA: return a_f_TEH_MARBUTA; // exception
|
||||||
tempc = a_f_ALEF_HAMZA_ABOVE;
|
case a_TEH: return a_m_TEH;
|
||||||
break;
|
case a_THEH: return a_m_THEH;
|
||||||
|
case a_JEEM: return a_m_JEEM;
|
||||||
case a_WAW_HAMZA: // exception
|
case a_HAH: return a_m_HAH;
|
||||||
tempc = a_f_WAW_HAMZA;
|
case a_KHAH: return a_m_KHAH;
|
||||||
break;
|
case a_DAL: return a_f_DAL; // exception
|
||||||
|
case a_THAL: return a_f_THAL; // exception
|
||||||
case a_ALEF_HAMZA_BELOW: // exception
|
case a_REH: return a_f_REH; // exception
|
||||||
tempc = a_f_ALEF_HAMZA_BELOW;
|
case a_ZAIN: return a_f_ZAIN; // exception
|
||||||
break;
|
case a_SEEN: return a_m_SEEN;
|
||||||
|
case a_SHEEN: return a_m_SHEEN;
|
||||||
case a_YEH_HAMZA:
|
case a_SAD: return a_m_SAD;
|
||||||
tempc = a_m_YEH_HAMZA;
|
case a_DAD: return a_m_DAD;
|
||||||
break;
|
case a_TAH: return a_m_TAH;
|
||||||
|
case a_ZAH: return a_m_ZAH;
|
||||||
case a_ALEF: // exception
|
case a_AIN: return a_m_AIN;
|
||||||
tempc = a_f_ALEF;
|
case a_GHAIN: return a_m_GHAIN;
|
||||||
break;
|
case a_TATWEEL: return cur_c; // exception
|
||||||
|
case a_FEH: return a_m_FEH;
|
||||||
case a_BEH:
|
case a_QAF: return a_m_QAF;
|
||||||
tempc = a_m_BEH;
|
case a_KAF: return a_m_KAF;
|
||||||
break;
|
case a_LAM: return a_m_LAM;
|
||||||
|
case a_MEEM: return a_m_MEEM;
|
||||||
case a_TEH_MARBUTA: // exception
|
case a_NOON: return a_m_NOON;
|
||||||
tempc = a_f_TEH_MARBUTA;
|
case a_HEH: return a_m_HEH;
|
||||||
break;
|
case a_WAW: return a_f_WAW; // exception
|
||||||
|
case a_ALEF_MAKSURA: return a_f_ALEF_MAKSURA; // exception
|
||||||
case a_TEH:
|
case a_YEH: return a_m_YEH;
|
||||||
tempc = a_m_TEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_THEH:
|
|
||||||
tempc = a_m_THEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_JEEM:
|
|
||||||
tempc = a_m_JEEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_HAH:
|
|
||||||
tempc = a_m_HAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_KHAH:
|
|
||||||
tempc = a_m_KHAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_DAL: // exception
|
|
||||||
tempc = a_f_DAL;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_THAL: // exception
|
|
||||||
tempc = a_f_THAL;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_REH: // exception
|
|
||||||
tempc = a_f_REH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ZAIN: // exception
|
|
||||||
tempc = a_f_ZAIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_SEEN:
|
|
||||||
tempc = a_m_SEEN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_SHEEN:
|
|
||||||
tempc = a_m_SHEEN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_SAD:
|
|
||||||
tempc = a_m_SAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_DAD:
|
|
||||||
tempc = a_m_DAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_TAH:
|
|
||||||
tempc = a_m_TAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ZAH:
|
|
||||||
tempc = a_m_ZAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_AIN:
|
|
||||||
tempc = a_m_AIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_GHAIN:
|
|
||||||
tempc = a_m_GHAIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_TATWEEL: // exception
|
|
||||||
tempc = cur_c;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_FEH:
|
|
||||||
tempc = a_m_FEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_QAF:
|
|
||||||
tempc = a_m_QAF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_KAF:
|
|
||||||
tempc = a_m_KAF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_LAM:
|
|
||||||
tempc = a_m_LAM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_MEEM:
|
|
||||||
tempc = a_m_MEEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_NOON:
|
|
||||||
tempc = a_m_NOON;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_HEH:
|
|
||||||
tempc = a_m_HEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_WAW: // exception
|
|
||||||
tempc = a_f_WAW;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ALEF_MAKSURA: // exception
|
|
||||||
tempc = a_f_ALEF_MAKSURA;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_YEH:
|
|
||||||
tempc = a_m_YEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
tempc = 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
return tempc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change shape - from ISO-8859-6/Isolated to final
|
// Change shape - from ISO-8859-6/Isolated to final
|
||||||
static int chg_c_a2f(int cur_c)
|
static int chg_c_a2f(int cur_c)
|
||||||
{
|
{
|
||||||
int tempc;
|
|
||||||
|
|
||||||
// NOTE: these encodings need to be accounted for
|
// NOTE: these encodings need to be accounted for
|
||||||
//
|
//
|
||||||
// a_f_ALEF_MADDA;
|
// a_f_ALEF_MADDA;
|
||||||
@@ -658,280 +538,87 @@ static int chg_c_a2f(int cur_c)
|
|||||||
// a_f_LAM_ALEF_HAMZA_BELOW;
|
// a_f_LAM_ALEF_HAMZA_BELOW;
|
||||||
|
|
||||||
switch (cur_c) {
|
switch (cur_c) {
|
||||||
case a_HAMZA: // exception
|
case a_HAMZA: return a_s_HAMZA; // exception
|
||||||
tempc = a_s_HAMZA;
|
case a_ALEF_MADDA: return a_f_ALEF_MADDA;
|
||||||
break;
|
case a_ALEF_HAMZA_ABOVE: return a_f_ALEF_HAMZA_ABOVE;
|
||||||
|
case a_WAW_HAMZA: return a_f_WAW_HAMZA;
|
||||||
case a_ALEF_MADDA:
|
case a_ALEF_HAMZA_BELOW: return a_f_ALEF_HAMZA_BELOW;
|
||||||
tempc = a_f_ALEF_MADDA;
|
case a_YEH_HAMZA: return a_f_YEH_HAMZA;
|
||||||
break;
|
case a_ALEF: return a_f_ALEF;
|
||||||
|
case a_BEH: return a_f_BEH;
|
||||||
case a_ALEF_HAMZA_ABOVE:
|
case a_TEH_MARBUTA: return a_f_TEH_MARBUTA;
|
||||||
tempc = a_f_ALEF_HAMZA_ABOVE;
|
case a_TEH: return a_f_TEH;
|
||||||
break;
|
case a_THEH: return a_f_THEH;
|
||||||
|
case a_JEEM: return a_f_JEEM;
|
||||||
case a_WAW_HAMZA:
|
case a_HAH: return a_f_HAH;
|
||||||
tempc = a_f_WAW_HAMZA;
|
case a_KHAH: return a_f_KHAH;
|
||||||
break;
|
case a_DAL: return a_f_DAL;
|
||||||
|
case a_THAL: return a_f_THAL;
|
||||||
case a_ALEF_HAMZA_BELOW:
|
case a_REH: return a_f_REH;
|
||||||
tempc = a_f_ALEF_HAMZA_BELOW;
|
case a_ZAIN: return a_f_ZAIN;
|
||||||
break;
|
case a_SEEN: return a_f_SEEN;
|
||||||
|
case a_SHEEN: return a_f_SHEEN;
|
||||||
case a_YEH_HAMZA:
|
case a_SAD: return a_f_SAD;
|
||||||
tempc = a_f_YEH_HAMZA;
|
case a_DAD: return a_f_DAD;
|
||||||
break;
|
case a_TAH: return a_f_TAH;
|
||||||
|
case a_ZAH: return a_f_ZAH;
|
||||||
case a_ALEF:
|
case a_AIN: return a_f_AIN;
|
||||||
tempc = a_f_ALEF;
|
case a_GHAIN: return a_f_GHAIN;
|
||||||
break;
|
case a_TATWEEL: return cur_c; // exception
|
||||||
|
case a_FEH: return a_f_FEH;
|
||||||
case a_BEH:
|
case a_QAF: return a_f_QAF;
|
||||||
tempc = a_f_BEH;
|
case a_KAF: return a_f_KAF;
|
||||||
break;
|
case a_LAM: return a_f_LAM;
|
||||||
|
case a_MEEM: return a_f_MEEM;
|
||||||
case a_TEH_MARBUTA:
|
case a_NOON: return a_f_NOON;
|
||||||
tempc = a_f_TEH_MARBUTA;
|
case a_HEH: return a_f_HEH;
|
||||||
break;
|
case a_WAW: return a_f_WAW;
|
||||||
|
case a_ALEF_MAKSURA: return a_f_ALEF_MAKSURA;
|
||||||
case a_TEH:
|
case a_YEH: return a_f_YEH;
|
||||||
tempc = a_f_TEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_THEH:
|
|
||||||
tempc = a_f_THEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_JEEM:
|
|
||||||
tempc = a_f_JEEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_HAH:
|
|
||||||
tempc = a_f_HAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_KHAH:
|
|
||||||
tempc = a_f_KHAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_DAL:
|
|
||||||
tempc = a_f_DAL;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_THAL:
|
|
||||||
tempc = a_f_THAL;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_REH:
|
|
||||||
tempc = a_f_REH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ZAIN:
|
|
||||||
tempc = a_f_ZAIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_SEEN:
|
|
||||||
tempc = a_f_SEEN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_SHEEN:
|
|
||||||
tempc = a_f_SHEEN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_SAD:
|
|
||||||
tempc = a_f_SAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_DAD:
|
|
||||||
tempc = a_f_DAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_TAH:
|
|
||||||
tempc = a_f_TAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ZAH:
|
|
||||||
tempc = a_f_ZAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_AIN:
|
|
||||||
tempc = a_f_AIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_GHAIN:
|
|
||||||
tempc = a_f_GHAIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_TATWEEL: // exception
|
|
||||||
tempc = cur_c;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_FEH:
|
|
||||||
tempc = a_f_FEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_QAF:
|
|
||||||
tempc = a_f_QAF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_KAF:
|
|
||||||
tempc = a_f_KAF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_LAM:
|
|
||||||
tempc = a_f_LAM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_MEEM:
|
|
||||||
tempc = a_f_MEEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_NOON:
|
|
||||||
tempc = a_f_NOON;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_HEH:
|
|
||||||
tempc = a_f_HEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_WAW:
|
|
||||||
tempc = a_f_WAW;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ALEF_MAKSURA:
|
|
||||||
tempc = a_f_ALEF_MAKSURA;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_YEH:
|
|
||||||
tempc = a_f_YEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
tempc = 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
return tempc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change shape - from Initial to Medial
|
// Change shape - from Initial to Medial
|
||||||
static int chg_c_i2m(int cur_c)
|
static int chg_c_i2m(int cur_c)
|
||||||
{
|
{
|
||||||
int tempc;
|
|
||||||
|
|
||||||
switch (cur_c) {
|
switch (cur_c) {
|
||||||
case a_i_YEH_HAMZA:
|
case a_i_YEH_HAMZA: return a_m_YEH_HAMZA;
|
||||||
tempc = a_m_YEH_HAMZA;
|
case a_i_BEH: return a_m_BEH;
|
||||||
break;
|
case a_i_TEH: return a_m_TEH;
|
||||||
|
case a_i_THEH: return a_m_THEH;
|
||||||
case a_i_BEH:
|
case a_i_JEEM: return a_m_JEEM;
|
||||||
tempc = a_m_BEH;
|
case a_i_HAH: return a_m_HAH;
|
||||||
break;
|
case a_i_KHAH: return a_m_KHAH;
|
||||||
|
case a_i_SEEN: return a_m_SEEN;
|
||||||
case a_i_TEH:
|
case a_i_SHEEN: return a_m_SHEEN;
|
||||||
tempc = a_m_TEH;
|
case a_i_SAD: return a_m_SAD;
|
||||||
break;
|
case a_i_DAD: return a_m_DAD;
|
||||||
|
case a_i_TAH: return a_m_TAH;
|
||||||
case a_i_THEH:
|
case a_i_ZAH: return a_m_ZAH;
|
||||||
tempc = a_m_THEH;
|
case a_i_AIN: return a_m_AIN;
|
||||||
break;
|
case a_i_GHAIN: return a_m_GHAIN;
|
||||||
|
case a_i_FEH: return a_m_FEH;
|
||||||
case a_i_JEEM:
|
case a_i_QAF: return a_m_QAF;
|
||||||
tempc = a_m_JEEM;
|
case a_i_KAF: return a_m_KAF;
|
||||||
break;
|
case a_i_LAM: return a_m_LAM;
|
||||||
|
case a_i_MEEM: return a_m_MEEM;
|
||||||
case a_i_HAH:
|
case a_i_NOON: return a_m_NOON;
|
||||||
tempc = a_m_HAH;
|
case a_i_HEH: return a_m_HEH;
|
||||||
break;
|
case a_i_YEH: return a_m_YEH;
|
||||||
|
|
||||||
case a_i_KHAH:
|
|
||||||
tempc = a_m_KHAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_SEEN:
|
|
||||||
tempc = a_m_SEEN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_SHEEN:
|
|
||||||
tempc = a_m_SHEEN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_SAD:
|
|
||||||
tempc = a_m_SAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_DAD:
|
|
||||||
tempc = a_m_DAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_TAH:
|
|
||||||
tempc = a_m_TAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_ZAH:
|
|
||||||
tempc = a_m_ZAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_AIN:
|
|
||||||
tempc = a_m_AIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_GHAIN:
|
|
||||||
tempc = a_m_GHAIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_FEH:
|
|
||||||
tempc = a_m_FEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_QAF:
|
|
||||||
tempc = a_m_QAF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_KAF:
|
|
||||||
tempc = a_m_KAF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_LAM:
|
|
||||||
tempc = a_m_LAM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_MEEM:
|
|
||||||
tempc = a_m_MEEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_NOON:
|
|
||||||
tempc = a_m_NOON;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_HEH:
|
|
||||||
tempc = a_m_HEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_i_YEH:
|
|
||||||
tempc = a_m_YEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
tempc = 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
return tempc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change shape - from Final to Medial
|
// Change shape - from Final to Medial
|
||||||
static int chg_c_f2m(int cur_c)
|
static int chg_c_f2m(int cur_c)
|
||||||
{
|
{
|
||||||
int tempc;
|
|
||||||
|
|
||||||
switch (cur_c) {
|
switch (cur_c) {
|
||||||
// NOTE: these encodings are multi-positional, no ?
|
// NOTE: these encodings are multi-positional, no ?
|
||||||
// case a_f_ALEF_MADDA:
|
// case a_f_ALEF_MADDA:
|
||||||
// case a_f_ALEF_HAMZA_ABOVE:
|
// case a_f_ALEF_HAMZA_ABOVE:
|
||||||
// case a_f_ALEF_HAMZA_BELOW:
|
// case a_f_ALEF_HAMZA_BELOW:
|
||||||
case a_f_YEH_HAMZA:
|
case a_f_YEH_HAMZA: return a_m_YEH_HAMZA;
|
||||||
tempc = a_m_YEH_HAMZA;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_WAW_HAMZA: // exceptions
|
case a_f_WAW_HAMZA: // exceptions
|
||||||
case a_f_ALEF:
|
case a_f_ALEF:
|
||||||
case a_f_TEH_MARBUTA:
|
case a_f_TEH_MARBUTA:
|
||||||
@@ -941,165 +628,60 @@ static int chg_c_f2m(int cur_c)
|
|||||||
case a_f_ZAIN:
|
case a_f_ZAIN:
|
||||||
case a_f_WAW:
|
case a_f_WAW:
|
||||||
case a_f_ALEF_MAKSURA:
|
case a_f_ALEF_MAKSURA:
|
||||||
tempc = cur_c;
|
return cur_c;
|
||||||
break;
|
case a_f_BEH: return a_m_BEH;
|
||||||
|
case a_f_TEH: return a_m_TEH;
|
||||||
case a_f_BEH:
|
case a_f_THEH: return a_m_THEH;
|
||||||
tempc = a_m_BEH;
|
case a_f_JEEM: return a_m_JEEM;
|
||||||
break;
|
case a_f_HAH: return a_m_HAH;
|
||||||
|
case a_f_KHAH: return a_m_KHAH;
|
||||||
case a_f_TEH:
|
case a_f_SEEN: return a_m_SEEN;
|
||||||
tempc = a_m_TEH;
|
case a_f_SHEEN: return a_m_SHEEN;
|
||||||
break;
|
case a_f_SAD: return a_m_SAD;
|
||||||
|
case a_f_DAD: return a_m_DAD;
|
||||||
case a_f_THEH:
|
case a_f_TAH: return a_m_TAH;
|
||||||
tempc = a_m_THEH;
|
case a_f_ZAH: return a_m_ZAH;
|
||||||
break;
|
case a_f_AIN: return a_m_AIN;
|
||||||
|
case a_f_GHAIN: return a_m_GHAIN;
|
||||||
case a_f_JEEM:
|
case a_f_FEH: return a_m_FEH;
|
||||||
tempc = a_m_JEEM;
|
case a_f_QAF: return a_m_QAF;
|
||||||
break;
|
case a_f_KAF: return a_m_KAF;
|
||||||
|
case a_f_LAM: return a_m_LAM;
|
||||||
case a_f_HAH:
|
case a_f_MEEM: return a_m_MEEM;
|
||||||
tempc = a_m_HAH;
|
case a_f_NOON: return a_m_NOON;
|
||||||
break;
|
case a_f_HEH: return a_m_HEH;
|
||||||
|
case a_f_YEH: return a_m_YEH;
|
||||||
case a_f_KHAH:
|
|
||||||
tempc = a_m_KHAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_SEEN:
|
|
||||||
tempc = a_m_SEEN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_SHEEN:
|
|
||||||
tempc = a_m_SHEEN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_SAD:
|
|
||||||
tempc = a_m_SAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_DAD:
|
|
||||||
tempc = a_m_DAD;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_TAH:
|
|
||||||
tempc = a_m_TAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_ZAH:
|
|
||||||
tempc = a_m_ZAH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_AIN:
|
|
||||||
tempc = a_m_AIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_GHAIN:
|
|
||||||
tempc = a_m_GHAIN;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_FEH:
|
|
||||||
tempc = a_m_FEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_QAF:
|
|
||||||
tempc = a_m_QAF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_KAF:
|
|
||||||
tempc = a_m_KAF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_LAM:
|
|
||||||
tempc = a_m_LAM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_MEEM:
|
|
||||||
tempc = a_m_MEEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_NOON:
|
|
||||||
tempc = a_m_NOON;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_HEH:
|
|
||||||
tempc = a_m_HEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_f_YEH:
|
|
||||||
tempc = a_m_YEH;
|
|
||||||
break;
|
|
||||||
|
|
||||||
// NOTE: these encodings are multi-positional, no ?
|
// NOTE: these encodings are multi-positional, no ?
|
||||||
// case a_f_LAM_ALEF_MADDA_ABOVE:
|
// case a_f_LAM_ALEF_MADDA_ABOVE:
|
||||||
// case a_f_LAM_ALEF_HAMZA_ABOVE:
|
// case a_f_LAM_ALEF_HAMZA_ABOVE:
|
||||||
// case a_f_LAM_ALEF_HAMZA_BELOW:
|
// case a_f_LAM_ALEF_HAMZA_BELOW:
|
||||||
// case a_f_LAM_ALEF:
|
// case a_f_LAM_ALEF:
|
||||||
default:
|
|
||||||
tempc = 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
return tempc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change shape - from Combination (2 char) to an Isolated.
|
// Change shape - from Combination (2 char) to an Isolated.
|
||||||
static int chg_c_laa2i(int hid_c)
|
static int chg_c_laa2i(int hid_c)
|
||||||
{
|
{
|
||||||
int tempc;
|
|
||||||
|
|
||||||
switch (hid_c) {
|
switch (hid_c) {
|
||||||
case a_ALEF_MADDA:
|
case a_ALEF_MADDA: return a_s_LAM_ALEF_MADDA_ABOVE;
|
||||||
tempc = a_s_LAM_ALEF_MADDA_ABOVE;
|
case a_ALEF_HAMZA_ABOVE: return a_s_LAM_ALEF_HAMZA_ABOVE;
|
||||||
break;
|
case a_ALEF_HAMZA_BELOW: return a_s_LAM_ALEF_HAMZA_BELOW;
|
||||||
|
case a_ALEF: return a_s_LAM_ALEF;
|
||||||
case a_ALEF_HAMZA_ABOVE:
|
|
||||||
tempc = a_s_LAM_ALEF_HAMZA_ABOVE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ALEF_HAMZA_BELOW:
|
|
||||||
tempc = a_s_LAM_ALEF_HAMZA_BELOW;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ALEF:
|
|
||||||
tempc = a_s_LAM_ALEF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
tempc = 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
return tempc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Change shape - from Combination-Isolated to Final.
|
// Change shape - from Combination-Isolated to Final.
|
||||||
static int chg_c_laa2f(int hid_c)
|
static int chg_c_laa2f(int hid_c)
|
||||||
{
|
{
|
||||||
int tempc;
|
|
||||||
|
|
||||||
switch (hid_c) {
|
switch (hid_c) {
|
||||||
case a_ALEF_MADDA:
|
case a_ALEF_MADDA: return a_f_LAM_ALEF_MADDA_ABOVE;
|
||||||
tempc = a_f_LAM_ALEF_MADDA_ABOVE;
|
case a_ALEF_HAMZA_ABOVE: return a_f_LAM_ALEF_HAMZA_ABOVE;
|
||||||
break;
|
case a_ALEF_HAMZA_BELOW: return a_f_LAM_ALEF_HAMZA_BELOW;
|
||||||
|
case a_ALEF: return a_f_LAM_ALEF;
|
||||||
case a_ALEF_HAMZA_ABOVE:
|
|
||||||
tempc = a_f_LAM_ALEF_HAMZA_ABOVE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ALEF_HAMZA_BELOW:
|
|
||||||
tempc = a_f_LAM_ALEF_HAMZA_BELOW;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case a_ALEF:
|
|
||||||
tempc = a_f_LAM_ALEF;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
tempc = 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
return tempc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do "half-shaping" on character "c". Return zero if no shaping.
|
// Do "half-shaping" on character "c". Return zero if no shaping.
|
||||||
|
Reference in New Issue
Block a user