Skip to content

Commit

Permalink
Showing 7 changed files with 16 additions and 15 deletions.
13 changes: 7 additions & 6 deletions src/org/jcodings/Config.java
Original file line number Diff line number Diff line change
@@ -20,11 +20,6 @@
package org.jcodings;

public interface Config {
final int ENC_CASE_FOLD_TURKISH_AZERI = (1<<20);
final int INTERNAL_ENC_CASE_FOLD_MULTI_CHAR = (1<<30);
final int ENC_CASE_FOLD_MIN = INTERNAL_ENC_CASE_FOLD_MULTI_CHAR;
final int ENC_CASE_FOLD_DEFAULT = ENC_CASE_FOLD_MIN;

/* work size */
final int ENC_CODE_TO_MBC_MAXLEN = 7;
final int ENC_MBC_CASE_FOLD_MAXLEN = 18;
@@ -38,6 +33,9 @@ public interface Config {

final boolean USE_UNICODE_PROPERTIES = true;

final int CodePointMaskWidth = 3;
final int CodePointMask = (1 << CodePointMaskWidth) - 1;

final int CASE_UPCASE = (1<<13); /* has/needs uppercase mapping */
final int CASE_DOWNCASE = (1<<14); /* has/needs lowercase mapping */
final int CASE_TITLECASE = (1<<15); /* has/needs (special) titlecase mapping */
@@ -53,5 +51,8 @@ public interface Config {
final int CASE_ASCII_ONLY = (1<<22); /* only modify ASCII range */
final int CASE_IS_TITLECASE = (1<<23); /* character itself is already titlecase */

final int INTERNAL_CASE_FOLD_MULTI_CHAR = (1<<30); /* better not change original value! */
final int INTERNAL_ENC_CASE_FOLD_MULTI_CHAR = (1<<30); /* better not change original value! */
final int ENC_CASE_FOLD_MIN = INTERNAL_ENC_CASE_FOLD_MULTI_CHAR;
final int ENC_CASE_FOLD_DEFAULT = ENC_CASE_FOLD_MIN;

}
2 changes: 1 addition & 1 deletion src/org/jcodings/specific/BaseUTF8Encoding.java
Original file line number Diff line number Diff line change
@@ -164,7 +164,7 @@ public int mbcCaseFold(int flag, byte[]bytes, IntHolder pp, int end, byte[]fold)
if (isMbcAscii(bytes[p])) {

if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI) {
if ((flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) != 0) {
if ((flag & Config.CASE_FOLD_TURKISH_AZERI) != 0) {
if (bytes[p] == (byte)0x49) {
fold[foldP++] = (byte)0xc4l;
fold[foldP] = (byte)0xb1;
2 changes: 1 addition & 1 deletion src/org/jcodings/specific/UTF16BEEncoding.java
Original file line number Diff line number Diff line change
@@ -106,7 +106,7 @@ public int mbcCaseFold(int flag, byte[]bytes, IntHolder pp, int end, byte[]fold)
p++;

if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI) {
if ((flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) != 0) {
if ((flag & Config.CASE_FOLD_TURKISH_AZERI) != 0) {
if (bytes[p] == (byte)0x49) {
fold[foldP++] = (byte)0x01;
fold[foldP] = (byte)0x31;
2 changes: 1 addition & 1 deletion src/org/jcodings/specific/UTF16LEEncoding.java
Original file line number Diff line number Diff line change
@@ -110,7 +110,7 @@ public int mbcCaseFold(int flag, byte[]bytes, IntHolder pp, int end, byte[]fold)
if (isAscii(bytes[p] & 0xff) && bytes[p + 1] == 0) {

if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI) {
if ((flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) != 0) {
if ((flag & Config.CASE_FOLD_TURKISH_AZERI) != 0) {
if (bytes[p] == (byte)0x49) {
fold[foldP++] = (byte)0x01;
fold[foldP] = (byte)0x31;
2 changes: 1 addition & 1 deletion src/org/jcodings/specific/UTF32BEEncoding.java
Original file line number Diff line number Diff line change
@@ -71,7 +71,7 @@ public int mbcCaseFold(int flag, byte[]bytes, IntHolder pp, int end, byte[]fold)
fold[foldP++] = 0;

if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI) {
if ((flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) != 0) {
if ((flag & Config.CASE_FOLD_TURKISH_AZERI) != 0) {
if (bytes[p + 3] == (byte)0x49) {
fold[foldP++] = (byte)0x01;
fold[foldP] = (byte)0x31;
2 changes: 1 addition & 1 deletion src/org/jcodings/specific/UTF32LEEncoding.java
Original file line number Diff line number Diff line change
@@ -68,7 +68,7 @@ public int mbcCaseFold(int flag, byte[]bytes, IntHolder pp, int end, byte[]fold)
int foldP = 0;
if (isAscii(bytes[p] & 0xff) && bytes[p + 1] == 0 && bytes[p + 2] == 0 && bytes[p + 3] == 0) {

if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI && (flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) != 0) {
if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI && (flag & Config.CASE_FOLD_TURKISH_AZERI) != 0) {
if (bytes[p] == (byte)0x49) {
fold[foldP++] = (byte)0x31;
fold[foldP] = (byte)0x01;
8 changes: 4 additions & 4 deletions src/org/jcodings/unicode/UnicodeEncoding.java
Original file line number Diff line number Diff line change
@@ -112,7 +112,7 @@ public int mbcCaseFold(int flag, byte[]bytes, IntHolder pp, int end, byte[]fold)
pp.value += len;

if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI) {
if ((flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) != 0) {
if ((flag & Config.CASE_FOLD_TURKISH_AZERI) != 0) {
if (code == 0x0049) {
return codeToMbc(0x0131, fold, foldP);
} else if (code == 0x0130) {
@@ -170,7 +170,7 @@ public void applyAllCaseFold(int flag, ApplyAllCaseFoldFunction fun, Object arg)
}
}

if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI && (flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) != 0) {
if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI && (flag & Config.CASE_FOLD_TURKISH_AZERI) != 0) {
code[0] = 0x0131;
fun.apply(0x0049, code, 1, arg);
code[0] = 0x0049;
@@ -217,7 +217,7 @@ public void applyAllCaseFold(int flag, ApplyAllCaseFoldFunction fun, Object arg)
}
}

if (!Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI || (flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) == 0) {
if (!Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI || (flag & Config.CASE_FOLD_TURKISH_AZERI) == 0) {
for (int i=0; i<CaseFold12.CaseUnfold_12_Locale.length; i+=2) {
int[]from = CaseFold12.CaseUnfold_12_Locale[i];
int[]to = CaseFold12.CaseUnfold_12_Locale[i + 1];
@@ -258,7 +258,7 @@ public void applyAllCaseFold(int flag, ApplyAllCaseFoldFunction fun, Object arg)
int len = length(bytes, p, end);

if (Config.USE_UNICODE_CASE_FOLD_TURKISH_AZERI) {
if ((flag & Config.ENC_CASE_FOLD_TURKISH_AZERI) != 0) {
if ((flag & Config.CASE_FOLD_TURKISH_AZERI) != 0) {
if (code == 0x0049) {
return new CaseFoldCodeItem[]{new CaseFoldCodeItem(len, 1, new int[]{0x0131})};
} else if(code == 0x0130) {

0 comments on commit 4d088b6

Please sign in to comment.