Add the bar diacritic dead key

Allows to type many of the "with stroke" or "with bar" latin letters.
This commit is contained in:
Jules Aguillon 2022-11-05 19:26:49 +01:00
parent ebe66eb740
commit 1e067c9863
6 changed files with 45 additions and 0 deletions

View File

@ -26,6 +26,7 @@
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="17"/> <juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="17"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="18"/> <juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="18"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="19"/> <juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="19"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="20"/>
</PreferenceScreen> </PreferenceScreen>
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:title="@string/pref_category_typing"> <PreferenceCategory android:title="@string/pref_category_typing">

View File

@ -29,6 +29,7 @@ public class ExtraKeyCheckBoxPreference extends CheckBoxPreference
"accent_macron", "accent_macron",
"accent_ogonek", "accent_ogonek",
"accent_breve", "accent_breve",
"accent_bar",
"", "",
"ß", "ß",
"£", "£",

View File

@ -58,6 +58,7 @@ class KeyModifier
case ARROWS: return apply_map_char(k, map_char_arrows); case ARROWS: return apply_map_char(k, map_char_arrows);
case BOX: return apply_map_char(k, map_char_box); case BOX: return apply_map_char(k, map_char_box);
case SLASH: return apply_map_char(k, map_char_slash); case SLASH: return apply_map_char(k, map_char_slash);
case BAR: return apply_map_char(k, map_char_bar);
case ARROW_RIGHT: return apply_combining(k, "\u20D7"); case ARROW_RIGHT: return apply_combining(k, "\u20D7");
default: return k; default: return k;
} }
@ -519,4 +520,31 @@ class KeyModifier
} }
} }
}; };
private static final Map_char map_char_bar =
new Map_char() {
public char apply(char c)
{
switch (c)
{
case 'b': return 'ƀ';
case 'c': return 'ꞓ';
case 'd': return 'đ';
case 'g': return 'ǥ';
case 'i': return 'ɨ';
case 'j': return 'ɉ';
case 'k': return 'ꝁ';
case 'l': return 'ƚ';
case 'o': return 'ɵ';
case 'p': return 'ᵽ';
case 'q': return 'ꝗ';
case 'r': return 'ɍ';
case 't': return 'ŧ';
case 'u': return 'ʉ';
case 'y': return 'ɏ';
case 'z': return 'ƶ';
default: return c;
}
}
};
} }

View File

@ -47,6 +47,7 @@ final class KeyValue
SLASH, SLASH,
ARROW_RIGHT, ARROW_RIGHT,
BREVE, BREVE,
BAR,
FN, // Must be placed last to be applied first FN, // Must be placed last to be applied first
} }
@ -287,6 +288,7 @@ final class KeyValue
addDiacritic("accent_slash", 0x5C, Modifier.SLASH); addDiacritic("accent_slash", 0x5C, Modifier.SLASH);
addDiacritic("accent_arrow_right", 0x5D, Modifier.ARROW_RIGHT); addDiacritic("accent_arrow_right", 0x5D, Modifier.ARROW_RIGHT);
addDiacritic("accent_breve", 0x5E, Modifier.BREVE); addDiacritic("accent_breve", 0x5E, Modifier.BREVE);
addDiacritic("accent_bar", 0x5F, Modifier.BAR);
addModifierKey("superscript", "Sup", Modifier.SUPERSCRIPT, 0); addModifierKey("superscript", "Sup", Modifier.SUPERSCRIPT, 0);
addModifierKey("subscript", "Sub", Modifier.SUBSCRIPT, 0); addModifierKey("subscript", "Sub", Modifier.SUBSCRIPT, 0);
addModifierKey("ordinal", "Ord", Modifier.ORDINAL, 0); addModifierKey("ordinal", "Ord", Modifier.ORDINAL, 0);

13
srcs/special_font/5F.svg Normal file
View File

@ -0,0 +1,13 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-20 0 1256 2048">
<g transform="matrix(1 0 0 -1 0 1536)">
<path fill="currentColor"
d="M589 493v151v0h637v-151h-637zM931.256 1002.78l-69.3145 -69.3145q-112.472 86.3154 -249.792 98.0859v99.3945q176.555 -11.7715 319.106 -128.166v0v0zM516.679 1031.55q-133.396 -10.4619 -249.792 -100.701q0 1.30859 -71.9297 74.5449l2.61523 -2.61523
q142.555 116.396 319.106 128.166v-99.3945v0v0zM197.572 860.229q-90.2393 -103.315 -107.24 -245.866h-99.3936q17.001 181.786 137.32 319.104l-6.53906 5.23145l3.92285 -2.61523l41.8506 -43.1582q30.0791 -31.3867 30.0791 -32.6953v0v0zM1137.89 614.361h-99.3936
q-17.001 141.241 -107.238 248.482l69.3135 70.6211q120.317 -137.318 137.318 -319.104v0v0zM1137.89 517.58q-14.3857 -189.633 -129.474 -326.953l-69.3135 70.6221q86.3154 111.164 99.3936 256.331h99.3936v0v0zM189.726 263.87h0.000976562
q-86.3154 107.239 -99.3936 253.716h-99.3945q13.0781 -189.633 128.165 -326.953l-3.92285 -3.92383q-1.30762 0 74.5449 77.1611v0zM939.103 121.32q-146.476 -124.242 -326.951 -136.015v99.3945q139.935 11.7705 257.639 105.935zM516.679 -14.7002
q-180.478 11.7715 -326.953 136.014l69.3145 69.3145q117.703 -90.2383 257.641 -105.934v-99.3945h-0.000976562h-0.000976562z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.