Fix Sinhala keyboard for tablet device
This CL introduces fontDefault flag to keyLabelFlags of Key attribute to reset font specification to keyTypeface attribute. This is a followup of I065824f3fa. Bug: 6911143 Change-Id: I33bd4a23aaea73e2b17175ddd39053ec915d5451
This commit is contained in:
parent
59016206ab
commit
649de3f544
4 changed files with 18 additions and 7 deletions
|
@ -298,6 +298,7 @@
|
||||||
<flag name="alignLeftOfCenter" value="0x08" />
|
<flag name="alignLeftOfCenter" value="0x08" />
|
||||||
<flag name="fontNormal" value="0x10" />
|
<flag name="fontNormal" value="0x10" />
|
||||||
<flag name="fontMonoSpace" value="0x20" />
|
<flag name="fontMonoSpace" value="0x20" />
|
||||||
|
<flag name="fontDefault" value="0x30" />
|
||||||
<flag name="followKeyLargeLetterRatio" value="0x40" />
|
<flag name="followKeyLargeLetterRatio" value="0x40" />
|
||||||
<flag name="followKeyLetterRatio" value="0x80" />
|
<flag name="followKeyLetterRatio" value="0x80" />
|
||||||
<flag name="followKeyLabelRatio" value="0xC0" />
|
<flag name="followKeyLabelRatio" value="0xC0" />
|
||||||
|
|
|
@ -23,8 +23,10 @@
|
||||||
>
|
>
|
||||||
<Key
|
<Key
|
||||||
latin:keySpec="!"
|
latin:keySpec="!"
|
||||||
latin:moreKeys="!text/morekeys_exclamation" />
|
latin:moreKeys="!text/morekeys_exclamation"
|
||||||
|
latin:keyLabelFlags="fontDefault" />
|
||||||
<Key
|
<Key
|
||||||
latin:keySpec="\?"
|
latin:keySpec="\?"
|
||||||
latin:moreKeys="!text/morekeys_question" />
|
latin:moreKeys="!text/morekeys_question"
|
||||||
|
latin:keyLabelFlags="fontDefault" />
|
||||||
</merge>
|
</merge>
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
latin:keyboardLayout="@xml/key_styles_common" />
|
latin:keyboardLayout="@xml/key_styles_common" />
|
||||||
<Row
|
<Row
|
||||||
latin:keyWidth="8.182%p"
|
latin:keyWidth="8.182%p"
|
||||||
|
latin:keyLabelFlags="fontNormal|autoXScale"
|
||||||
>
|
>
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/rowkeys_sinhala1" />
|
latin:keyboardLayout="@xml/rowkeys_sinhala1" />
|
||||||
|
@ -34,6 +35,7 @@
|
||||||
</Row>
|
</Row>
|
||||||
<Row
|
<Row
|
||||||
latin:keyWidth="8.182%p"
|
latin:keyWidth="8.182%p"
|
||||||
|
latin:keyLabelFlags="fontNormal|autoXScale"
|
||||||
>
|
>
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/rowkeys_sinhala2" />
|
latin:keyboardLayout="@xml/rowkeys_sinhala2" />
|
||||||
|
@ -43,6 +45,7 @@
|
||||||
</Row>
|
</Row>
|
||||||
<Row
|
<Row
|
||||||
latin:keyWidth="8.182%p"
|
latin:keyWidth="8.182%p"
|
||||||
|
latin:keyLabelFlags="fontNormal|autoXScale"
|
||||||
>
|
>
|
||||||
<Key
|
<Key
|
||||||
latin:keyStyle="shiftKeyStyle"
|
latin:keyStyle="shiftKeyStyle"
|
||||||
|
|
|
@ -62,8 +62,11 @@ public class Key implements Comparable<Key> {
|
||||||
private static final int LABEL_FLAGS_ALIGN_RIGHT = 0x02;
|
private static final int LABEL_FLAGS_ALIGN_RIGHT = 0x02;
|
||||||
private static final int LABEL_FLAGS_ALIGN_BUTTOM = 0x04;
|
private static final int LABEL_FLAGS_ALIGN_BUTTOM = 0x04;
|
||||||
private static final int LABEL_FLAGS_ALIGN_LEFT_OF_CENTER = 0x08;
|
private static final int LABEL_FLAGS_ALIGN_LEFT_OF_CENTER = 0x08;
|
||||||
|
// Font typeface specification.
|
||||||
|
private static final int LABEL_FLAGS_FONT_MASK = 0x30;
|
||||||
private static final int LABEL_FLAGS_FONT_NORMAL = 0x10;
|
private static final int LABEL_FLAGS_FONT_NORMAL = 0x10;
|
||||||
private static final int LABEL_FLAGS_FONT_MONO_SPACE = 0x20;
|
private static final int LABEL_FLAGS_FONT_MONO_SPACE = 0x20;
|
||||||
|
private static final int LABEL_FLAGS_FONT_DEFAULT = 0x30;
|
||||||
// Start of key text ratio enum values
|
// Start of key text ratio enum values
|
||||||
private static final int LABEL_FLAGS_FOLLOW_KEY_TEXT_RATIO_MASK = 0x1C0;
|
private static final int LABEL_FLAGS_FOLLOW_KEY_TEXT_RATIO_MASK = 0x1C0;
|
||||||
private static final int LABEL_FLAGS_FOLLOW_KEY_LARGE_LETTER_RATIO = 0x40;
|
private static final int LABEL_FLAGS_FOLLOW_KEY_LARGE_LETTER_RATIO = 0x40;
|
||||||
|
@ -567,15 +570,17 @@ public class Key implements Comparable<Key> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final Typeface selectTypeface(final KeyDrawParams params) {
|
public final Typeface selectTypeface(final KeyDrawParams params) {
|
||||||
// TODO: Handle "bold" here too?
|
switch (mLabelFlags & LABEL_FLAGS_FONT_MASK) {
|
||||||
if ((mLabelFlags & LABEL_FLAGS_FONT_NORMAL) != 0) {
|
case LABEL_FLAGS_FONT_NORMAL:
|
||||||
return Typeface.DEFAULT;
|
return Typeface.DEFAULT;
|
||||||
}
|
case LABEL_FLAGS_FONT_MONO_SPACE:
|
||||||
if ((mLabelFlags & LABEL_FLAGS_FONT_MONO_SPACE) != 0) {
|
|
||||||
return Typeface.MONOSPACE;
|
return Typeface.MONOSPACE;
|
||||||
}
|
case LABEL_FLAGS_FONT_DEFAULT:
|
||||||
|
default:
|
||||||
|
// The type-face is specified by keyTypeface attribute.
|
||||||
return params.mTypeface;
|
return params.mTypeface;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public final int selectTextSize(final KeyDrawParams params) {
|
public final int selectTextSize(final KeyDrawParams params) {
|
||||||
switch (mLabelFlags & LABEL_FLAGS_FOLLOW_KEY_TEXT_RATIO_MASK) {
|
switch (mLabelFlags & LABEL_FLAGS_FOLLOW_KEY_TEXT_RATIO_MASK) {
|
||||||
|
|
Loading…
Reference in a new issue