feat(jdk8): move files to new folder to avoid resources compiled.
This commit is contained in:
232
jdkSrc/jdk8/sun/text/CodePointIterator.java
Normal file
232
jdkSrc/jdk8/sun/text/CodePointIterator.java
Normal file
@@ -0,0 +1,232 @@
|
||||
/*
|
||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright IBM Corp. 2003 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation is
|
||||
* copyrighted and owned by IBM. These materials are provided
|
||||
* under terms of a License Agreement between IBM and Sun.
|
||||
* This technology is protected by multiple US and International
|
||||
* patents. This notice and attribution to IBM may not be removed.
|
||||
*/
|
||||
|
||||
package sun.text;
|
||||
|
||||
import java.text.CharacterIterator;
|
||||
|
||||
public abstract class CodePointIterator {
|
||||
public static final int DONE = -1;
|
||||
|
||||
public abstract void setToStart();
|
||||
public abstract void setToLimit();
|
||||
|
||||
public abstract int next();
|
||||
public abstract int prev();
|
||||
|
||||
public abstract int charIndex();
|
||||
|
||||
public static CodePointIterator create(char[] text) {
|
||||
return new CharArrayCodePointIterator(text);
|
||||
}
|
||||
|
||||
public static CodePointIterator create(char[] text, int start, int limit) {
|
||||
return new CharArrayCodePointIterator(text, start, limit);
|
||||
}
|
||||
|
||||
public static CodePointIterator create(CharSequence text) {
|
||||
return new CharSequenceCodePointIterator(text);
|
||||
}
|
||||
|
||||
public static CodePointIterator create(CharacterIterator iter) {
|
||||
return new CharacterIteratorCodePointIterator(iter);
|
||||
}
|
||||
}
|
||||
|
||||
final class CharArrayCodePointIterator extends CodePointIterator {
|
||||
private char[] text;
|
||||
private int start;
|
||||
private int limit;
|
||||
private int index;
|
||||
|
||||
public CharArrayCodePointIterator(char[] text) {
|
||||
this.text = text;
|
||||
this.limit = text.length;
|
||||
}
|
||||
|
||||
public CharArrayCodePointIterator(char[] text, int start, int limit) {
|
||||
if (start < 0 || limit < start || limit > text.length) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
|
||||
this.text = text;
|
||||
this.start = this.index = start;
|
||||
this.limit = limit;
|
||||
}
|
||||
|
||||
public void setToStart() {
|
||||
index = start;
|
||||
}
|
||||
|
||||
public void setToLimit() {
|
||||
index = limit;
|
||||
}
|
||||
|
||||
public int next() {
|
||||
if (index < limit) {
|
||||
char cp1 = text[index++];
|
||||
if (Character.isHighSurrogate(cp1) && index < limit) {
|
||||
char cp2 = text[index];
|
||||
if (Character.isLowSurrogate(cp2)) {
|
||||
++index;
|
||||
return Character.toCodePoint(cp1, cp2);
|
||||
}
|
||||
}
|
||||
return cp1;
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
public int prev() {
|
||||
if (index > start) {
|
||||
char cp2 = text[--index];
|
||||
if (Character.isLowSurrogate(cp2) && index > start) {
|
||||
char cp1 = text[index - 1];
|
||||
if (Character.isHighSurrogate(cp1)) {
|
||||
--index;
|
||||
return Character.toCodePoint(cp1, cp2);
|
||||
}
|
||||
}
|
||||
return cp2;
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
public int charIndex() {
|
||||
return index;
|
||||
}
|
||||
}
|
||||
|
||||
final class CharSequenceCodePointIterator extends CodePointIterator {
|
||||
private CharSequence text;
|
||||
private int index;
|
||||
|
||||
public CharSequenceCodePointIterator(CharSequence text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public void setToStart() {
|
||||
index = 0;
|
||||
}
|
||||
|
||||
public void setToLimit() {
|
||||
index = text.length();
|
||||
}
|
||||
|
||||
public int next() {
|
||||
if (index < text.length()) {
|
||||
char cp1 = text.charAt(index++);
|
||||
if (Character.isHighSurrogate(cp1) && index < text.length()) {
|
||||
char cp2 = text.charAt(index+1);
|
||||
if (Character.isLowSurrogate(cp2)) {
|
||||
++index;
|
||||
return Character.toCodePoint(cp1, cp2);
|
||||
}
|
||||
}
|
||||
return cp1;
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
public int prev() {
|
||||
if (index > 0) {
|
||||
char cp2 = text.charAt(--index);
|
||||
if (Character.isLowSurrogate(cp2) && index > 0) {
|
||||
char cp1 = text.charAt(index - 1);
|
||||
if (Character.isHighSurrogate(cp1)) {
|
||||
--index;
|
||||
return Character.toCodePoint(cp1, cp2);
|
||||
}
|
||||
}
|
||||
return cp2;
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
public int charIndex() {
|
||||
return index;
|
||||
}
|
||||
}
|
||||
|
||||
// note this has different iteration semantics than CharacterIterator
|
||||
final class CharacterIteratorCodePointIterator extends CodePointIterator {
|
||||
private CharacterIterator iter;
|
||||
|
||||
public CharacterIteratorCodePointIterator(CharacterIterator iter) {
|
||||
this.iter = iter;
|
||||
}
|
||||
|
||||
public void setToStart() {
|
||||
iter.setIndex(iter.getBeginIndex());
|
||||
}
|
||||
|
||||
public void setToLimit() {
|
||||
iter.setIndex(iter.getEndIndex());
|
||||
}
|
||||
|
||||
public int next() {
|
||||
char cp1 = iter.current();
|
||||
if (cp1 != CharacterIterator.DONE) {
|
||||
char cp2 = iter.next();
|
||||
if (Character.isHighSurrogate(cp1) && cp2 != CharacterIterator.DONE) {
|
||||
if (Character.isLowSurrogate(cp2)) {
|
||||
iter.next();
|
||||
return Character.toCodePoint(cp1, cp2);
|
||||
}
|
||||
}
|
||||
return cp1;
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
public int prev() {
|
||||
char cp2 = iter.previous();
|
||||
if (cp2 != CharacterIterator.DONE) {
|
||||
if (Character.isLowSurrogate(cp2)) {
|
||||
char cp1 = iter.previous();
|
||||
if (Character.isHighSurrogate(cp1)) {
|
||||
return Character.toCodePoint(cp1, cp2);
|
||||
}
|
||||
iter.next();
|
||||
}
|
||||
return cp2;
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
public int charIndex() {
|
||||
return iter.getIndex();
|
||||
}
|
||||
}
|
||||
65
jdkSrc/jdk8/sun/text/CollatorUtilities.java
Normal file
65
jdkSrc/jdk8/sun/text/CollatorUtilities.java
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.text;
|
||||
|
||||
import sun.text.normalizer.NormalizerBase;
|
||||
|
||||
public class CollatorUtilities {
|
||||
|
||||
public static int toLegacyMode(NormalizerBase.Mode mode) {
|
||||
// find the index of the legacy mode in the table;
|
||||
// if it's not there, default to Collator.NO_DECOMPOSITION (0)
|
||||
int legacyMode = legacyModeMap.length;
|
||||
while (legacyMode > 0) {
|
||||
--legacyMode;
|
||||
if (legacyModeMap[legacyMode] == mode) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return legacyMode;
|
||||
}
|
||||
|
||||
public static NormalizerBase.Mode toNormalizerMode(int mode) {
|
||||
NormalizerBase.Mode normalizerMode;
|
||||
|
||||
try {
|
||||
normalizerMode = legacyModeMap[mode];
|
||||
}
|
||||
catch(ArrayIndexOutOfBoundsException e) {
|
||||
normalizerMode = NormalizerBase.NONE;
|
||||
}
|
||||
return normalizerMode;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static NormalizerBase.Mode[] legacyModeMap = {
|
||||
NormalizerBase.NONE, // Collator.NO_DECOMPOSITION
|
||||
NormalizerBase.NFD, // Collator.CANONICAL_DECOMPOSITION
|
||||
NormalizerBase.NFKD, // Collator.FULL_DECOMPOSITION
|
||||
};
|
||||
|
||||
}
|
||||
352
jdkSrc/jdk8/sun/text/CompactByteArray.java
Normal file
352
jdkSrc/jdk8/sun/text/CompactByteArray.java
Normal file
@@ -0,0 +1,352 @@
|
||||
/*
|
||||
* Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation is copyrighted
|
||||
* and owned by Taligent, Inc., a wholly-owned subsidiary of IBM. These
|
||||
* materials are provided under terms of a License Agreement between Taligent
|
||||
* and Sun. This technology is protected by multiple US and International
|
||||
* patents. This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text;
|
||||
|
||||
|
||||
/**
|
||||
* class CompactATypeArray : use only on primitive data types
|
||||
* Provides a compact way to store information that is indexed by Unicode
|
||||
* values, such as character properties, types, keyboard values, etc.This
|
||||
* is very useful when you have a block of Unicode data that contains
|
||||
* significant values while the rest of the Unicode data is unused in the
|
||||
* application or when you have a lot of redundance, such as where all 21,000
|
||||
* Han ideographs have the same value. However, lookup is much faster than a
|
||||
* hash table.
|
||||
* A compact array of any primitive data type serves two purposes:
|
||||
* <UL type = round>
|
||||
* <LI>Fast access of the indexed values.
|
||||
* <LI>Smaller memory footprint.
|
||||
* </UL>
|
||||
* A compact array is composed of a index array and value array. The index
|
||||
* array contains the indicies of Unicode characters to the value array.
|
||||
*
|
||||
* @see CompactIntArray
|
||||
* @see CompactShortArray
|
||||
* @author Helena Shih
|
||||
*/
|
||||
public final class CompactByteArray implements Cloneable {
|
||||
|
||||
/**
|
||||
* The total number of Unicode characters.
|
||||
*/
|
||||
public static final int UNICODECOUNT =65536;
|
||||
|
||||
/**
|
||||
* Constructor for CompactByteArray.
|
||||
* @param defaultValue the default value of the compact array.
|
||||
*/
|
||||
public CompactByteArray(byte defaultValue)
|
||||
{
|
||||
int i;
|
||||
values = new byte[UNICODECOUNT];
|
||||
indices = new short[INDEXCOUNT];
|
||||
hashes = new int[INDEXCOUNT];
|
||||
for (i = 0; i < UNICODECOUNT; ++i) {
|
||||
values[i] = defaultValue;
|
||||
}
|
||||
for (i = 0; i < INDEXCOUNT; ++i) {
|
||||
indices[i] = (short)(i<<BLOCKSHIFT);
|
||||
hashes[i] = 0;
|
||||
}
|
||||
isCompact = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor for CompactByteArray.
|
||||
* @param indexArray the indicies of the compact array.
|
||||
* @param newValues the values of the compact array.
|
||||
* @exception IllegalArgumentException If index is out of range.
|
||||
*/
|
||||
public CompactByteArray(short indexArray[],
|
||||
byte newValues[])
|
||||
{
|
||||
int i;
|
||||
if (indexArray.length != INDEXCOUNT)
|
||||
throw new IllegalArgumentException("Index out of bounds!");
|
||||
for (i = 0; i < INDEXCOUNT; ++i) {
|
||||
short index = indexArray[i];
|
||||
if ((index < 0) || (index >= newValues.length+BLOCKCOUNT))
|
||||
throw new IllegalArgumentException("Index out of bounds!");
|
||||
}
|
||||
indices = indexArray;
|
||||
values = newValues;
|
||||
isCompact = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the mapped value of a Unicode character.
|
||||
* @param index the character to get the mapped value with
|
||||
* @return the mapped value of the given character
|
||||
*/
|
||||
public byte elementAt(char index)
|
||||
{
|
||||
return (values[(indices[index >> BLOCKSHIFT] & 0xFFFF)
|
||||
+ (index & BLOCKMASK)]);
|
||||
}
|
||||
/**
|
||||
* Set a new value for a Unicode character.
|
||||
* Set automatically expands the array if it is compacted.
|
||||
* @param index the character to set the mapped value with
|
||||
* @param value the new mapped value
|
||||
*/
|
||||
public void setElementAt(char index, byte value)
|
||||
{
|
||||
if (isCompact)
|
||||
expand();
|
||||
values[(int)index] = value;
|
||||
touchBlock(index >> BLOCKSHIFT, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set new values for a range of Unicode character.
|
||||
* @param start the starting offset o of the range
|
||||
* @param end the ending offset of the range
|
||||
* @param value the new mapped value
|
||||
*/
|
||||
public void setElementAt(char start, char end, byte value)
|
||||
{
|
||||
int i;
|
||||
if (isCompact) {
|
||||
expand();
|
||||
}
|
||||
for (i = start; i <= end; ++i) {
|
||||
values[i] = value;
|
||||
touchBlock(i >> BLOCKSHIFT, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*Compact the array.
|
||||
*/
|
||||
public void compact()
|
||||
{
|
||||
if (!isCompact) {
|
||||
int limitCompacted = 0;
|
||||
int iBlockStart = 0;
|
||||
short iUntouched = -1;
|
||||
|
||||
for (int i = 0; i < indices.length; ++i, iBlockStart += BLOCKCOUNT) {
|
||||
indices[i] = -1;
|
||||
boolean touched = blockTouched(i);
|
||||
if (!touched && iUntouched != -1) {
|
||||
// If no values in this block were set, we can just set its
|
||||
// index to be the same as some other block with no values
|
||||
// set, assuming we've seen one yet.
|
||||
indices[i] = iUntouched;
|
||||
} else {
|
||||
int jBlockStart = 0;
|
||||
int j = 0;
|
||||
for (j = 0; j < limitCompacted;
|
||||
++j, jBlockStart += BLOCKCOUNT) {
|
||||
if (hashes[i] == hashes[j] &&
|
||||
arrayRegionMatches(values, iBlockStart,
|
||||
values, jBlockStart, BLOCKCOUNT)) {
|
||||
indices[i] = (short)jBlockStart;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (indices[i] == -1) {
|
||||
// we didn't match, so copy & update
|
||||
System.arraycopy(values, iBlockStart,
|
||||
values, jBlockStart, BLOCKCOUNT);
|
||||
indices[i] = (short)jBlockStart;
|
||||
hashes[j] = hashes[i];
|
||||
++limitCompacted;
|
||||
|
||||
if (!touched) {
|
||||
// If this is the first untouched block we've seen,
|
||||
// remember its index.
|
||||
iUntouched = (short)jBlockStart;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// we are done compacting, so now make the array shorter
|
||||
int newSize = limitCompacted*BLOCKCOUNT;
|
||||
byte[] result = new byte[newSize];
|
||||
System.arraycopy(values, 0, result, 0, newSize);
|
||||
values = result;
|
||||
isCompact = true;
|
||||
hashes = null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience utility to compare two arrays of doubles.
|
||||
* @param len the length to compare.
|
||||
* The start indices and start+len must be valid.
|
||||
*/
|
||||
final static boolean arrayRegionMatches(byte[] source, int sourceStart,
|
||||
byte[] target, int targetStart,
|
||||
int len)
|
||||
{
|
||||
int sourceEnd = sourceStart + len;
|
||||
int delta = targetStart - sourceStart;
|
||||
for (int i = sourceStart; i < sourceEnd; i++) {
|
||||
if (source[i] != target[i + delta])
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remember that a specified block was "touched", i.e. had a value set.
|
||||
* Untouched blocks can be skipped when compacting the array
|
||||
*/
|
||||
private final void touchBlock(int i, int value) {
|
||||
hashes[i] = (hashes[i] + (value<<1)) | 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Query whether a specified block was "touched", i.e. had a value set.
|
||||
* Untouched blocks can be skipped when compacting the array
|
||||
*/
|
||||
private final boolean blockTouched(int i) {
|
||||
return hashes[i] != 0;
|
||||
}
|
||||
|
||||
/** For internal use only. Do not modify the result, the behavior of
|
||||
* modified results are undefined.
|
||||
*/
|
||||
public short getIndexArray()[]
|
||||
{
|
||||
return indices;
|
||||
}
|
||||
|
||||
/** For internal use only. Do not modify the result, the behavior of
|
||||
* modified results are undefined.
|
||||
*/
|
||||
public byte getStringArray()[]
|
||||
{
|
||||
return values;
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides Cloneable
|
||||
*/
|
||||
public Object clone()
|
||||
{
|
||||
try {
|
||||
CompactByteArray other = (CompactByteArray) super.clone();
|
||||
other.values = values.clone();
|
||||
other.indices = indices.clone();
|
||||
if (hashes != null) other.hashes = hashes.clone();
|
||||
return other;
|
||||
} catch (CloneNotSupportedException e) {
|
||||
throw new InternalError(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the equality of two compact array objects.
|
||||
* @param obj the compact array object to be compared with this.
|
||||
* @return true if the current compact array object is the same
|
||||
* as the compact array object obj; false otherwise.
|
||||
*/
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == null) return false;
|
||||
if (this == obj) // quick check
|
||||
return true;
|
||||
if (getClass() != obj.getClass()) // same class?
|
||||
return false;
|
||||
CompactByteArray other = (CompactByteArray) obj;
|
||||
for (int i = 0; i < UNICODECOUNT; i++) {
|
||||
// could be sped up later
|
||||
if (elementAt((char)i) != other.elementAt((char)i))
|
||||
return false;
|
||||
}
|
||||
return true; // we made it through the guantlet.
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates the hash code for the compact array object
|
||||
*/
|
||||
|
||||
public int hashCode() {
|
||||
int result = 0;
|
||||
int increment = Math.min(3, values.length/16);
|
||||
for (int i = 0; i < values.length; i+= increment) {
|
||||
result = result * 37 + values[i];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// package private
|
||||
// --------------------------------------------------------------
|
||||
/**
|
||||
* Expanding takes the array back to a 65536 element array.
|
||||
*/
|
||||
private void expand()
|
||||
{
|
||||
int i;
|
||||
if (isCompact) {
|
||||
byte[] tempArray;
|
||||
hashes = new int[INDEXCOUNT];
|
||||
tempArray = new byte[UNICODECOUNT];
|
||||
for (i = 0; i < UNICODECOUNT; ++i) {
|
||||
byte value = elementAt((char)i);
|
||||
tempArray[i] = value;
|
||||
touchBlock(i >> BLOCKSHIFT, value);
|
||||
}
|
||||
for (i = 0; i < INDEXCOUNT; ++i) {
|
||||
indices[i] = (short)(i<<BLOCKSHIFT);
|
||||
}
|
||||
values = null;
|
||||
values = tempArray;
|
||||
isCompact = false;
|
||||
}
|
||||
}
|
||||
|
||||
private byte[] getArray()
|
||||
{
|
||||
return values;
|
||||
}
|
||||
|
||||
private static final int BLOCKSHIFT =7;
|
||||
private static final int BLOCKCOUNT =(1<<BLOCKSHIFT);
|
||||
private static final int INDEXSHIFT =(16-BLOCKSHIFT);
|
||||
private static final int INDEXCOUNT =(1<<INDEXSHIFT);
|
||||
private static final int BLOCKMASK = BLOCKCOUNT - 1;
|
||||
|
||||
private byte[] values; // char -> short (char parameterized short)
|
||||
private short indices[];
|
||||
private boolean isCompact;
|
||||
private int[] hashes;
|
||||
};
|
||||
83
jdkSrc/jdk8/sun/text/ComposedCharIter.java
Normal file
83
jdkSrc/jdk8/sun/text/ComposedCharIter.java
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.text;
|
||||
|
||||
import sun.text.normalizer.NormalizerBase;
|
||||
import sun.text.normalizer.NormalizerImpl;
|
||||
|
||||
public final class ComposedCharIter {
|
||||
/**
|
||||
* Constant that indicates the iteration has completed.
|
||||
* {@link #next} returns this value when there are no more composed characters
|
||||
* over which to iterate.
|
||||
*/
|
||||
public static final int DONE = NormalizerBase.DONE;
|
||||
|
||||
//cache the decomps mapping, so the seconde composedcharIter does
|
||||
//not need to get the data again.
|
||||
private static int chars[];
|
||||
private static String decomps[];
|
||||
private static int decompNum;
|
||||
|
||||
static {
|
||||
int maxNum = 2000; //TBD: Unicode 4.0 only has 1926 canoDecomp...
|
||||
chars = new int[maxNum];
|
||||
decomps = new String[maxNum];
|
||||
decompNum = NormalizerImpl.getDecompose(chars, decomps);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a new <tt>ComposedCharIter</tt>. The iterator will return
|
||||
* all Unicode characters with canonical decompositions, excluding Korean
|
||||
* Hangul characters.
|
||||
*/
|
||||
public ComposedCharIter() { }
|
||||
|
||||
/**
|
||||
* Returns the next precomposed Unicode character.
|
||||
* Repeated calls to <tt>next</tt> return all of the precomposed characters defined
|
||||
* by Unicode, in ascending order. After all precomposed characters have
|
||||
* been returned, {@link #hasNext} will return <tt>false</tt> and further calls
|
||||
* to <tt>next</tt> will return {@link #DONE}.
|
||||
*/
|
||||
public int next() {
|
||||
if (curChar == decompNum - 1) {
|
||||
return DONE;
|
||||
}
|
||||
return chars[++curChar];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Unicode decomposition of the current character.
|
||||
* This method returns the decomposition of the precomposed character most
|
||||
* recently returned by {@link #next}. The resulting decomposition is
|
||||
* affected by the settings of the options passed to the constructor.
|
||||
*/
|
||||
public String decomposition() {
|
||||
return decomps[curChar];
|
||||
}
|
||||
private int curChar = -1;
|
||||
}
|
||||
271
jdkSrc/jdk8/sun/text/IntHashtable.java
Normal file
271
jdkSrc/jdk8/sun/text/IntHashtable.java
Normal file
@@ -0,0 +1,271 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996,1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996, 1997 - All Rights Reserved
|
||||
*/
|
||||
|
||||
package sun.text;
|
||||
|
||||
/** Simple internal class for doing hash mapping. Much, much faster than the
|
||||
* standard Hashtable for integer to integer mappings,
|
||||
* and doesn't require object creation.<br>
|
||||
* If a key is not found, the defaultValue is returned.
|
||||
* Note: the keys are limited to values above Integer.MIN_VALUE+1.<br>
|
||||
*/
|
||||
public final class IntHashtable {
|
||||
|
||||
public IntHashtable () {
|
||||
initialize(3);
|
||||
}
|
||||
|
||||
public IntHashtable (int initialSize) {
|
||||
initialize(leastGreaterPrimeIndex((int)(initialSize/HIGH_WATER_FACTOR)));
|
||||
}
|
||||
|
||||
public int size() {
|
||||
return count;
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
return count == 0;
|
||||
}
|
||||
|
||||
public void put(int key, int value) {
|
||||
if (count > highWaterMark) {
|
||||
rehash();
|
||||
}
|
||||
int index = find(key);
|
||||
if (keyList[index] <= MAX_UNUSED) { // deleted or empty
|
||||
keyList[index] = key;
|
||||
++count;
|
||||
}
|
||||
values[index] = value; // reset value
|
||||
}
|
||||
|
||||
public int get(int key) {
|
||||
return values[find(key)];
|
||||
}
|
||||
|
||||
public void remove(int key) {
|
||||
int index = find(key);
|
||||
if (keyList[index] > MAX_UNUSED) { // neither deleted nor empty
|
||||
keyList[index] = DELETED; // set to deleted
|
||||
values[index] = defaultValue; // set to default
|
||||
--count;
|
||||
if (count < lowWaterMark) {
|
||||
rehash();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getDefaultValue() {
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
public void setDefaultValue(int newValue) {
|
||||
defaultValue = newValue;
|
||||
rehash();
|
||||
}
|
||||
|
||||
public boolean equals (Object that) {
|
||||
if (that.getClass() != this.getClass()) return false;
|
||||
|
||||
IntHashtable other = (IntHashtable) that;
|
||||
if (other.size() != count || other.defaultValue != defaultValue) {
|
||||
return false;
|
||||
}
|
||||
for (int i = 0; i < keyList.length; ++i) {
|
||||
int key = keyList[i];
|
||||
if (key > MAX_UNUSED && other.get(key) != values[i])
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
// NOTE: This function isn't actually used anywhere in this package, but it's here
|
||||
// in case this class is ever used to make sure we uphold the invariants about
|
||||
// hashCode() and equals()
|
||||
|
||||
// WARNING: This function hasn't undergone rigorous testing to make sure it actually
|
||||
// gives good distribution. We've eyeballed the results, and they appear okay, but
|
||||
// you copy this algorithm (or these seed and multiplier values) at your own risk.
|
||||
// --rtg 8/17/99
|
||||
|
||||
int result = 465; // an arbitrary seed value
|
||||
int scrambler = 1362796821; // an arbitrary multiplier.
|
||||
for (int i = 0; i < keyList.length; ++i) {
|
||||
// this line just scrambles the bits as each value is added into the
|
||||
// has value. This helps to make sure we affect all the bits and that
|
||||
// the same values in a different order will produce a different hash value
|
||||
result = result * scrambler + 1;
|
||||
result += keyList[i];
|
||||
}
|
||||
for (int i = 0; i < values.length; ++i) {
|
||||
result = result * scrambler + 1;
|
||||
result += values[i];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public Object clone ()
|
||||
throws CloneNotSupportedException {
|
||||
IntHashtable result = (IntHashtable) super.clone();
|
||||
values = values.clone();
|
||||
keyList = keyList.clone();
|
||||
return result;
|
||||
}
|
||||
|
||||
// =======================PRIVATES============================
|
||||
private int defaultValue = 0;
|
||||
|
||||
// the tables have to have prime-number lengths. Rather than compute
|
||||
// primes, we just keep a table, with the current index we are using.
|
||||
private int primeIndex;
|
||||
|
||||
// highWaterFactor determines the maximum number of elements before
|
||||
// a rehash. Can be tuned for different performance/storage characteristics.
|
||||
private static final float HIGH_WATER_FACTOR = 0.4F;
|
||||
private int highWaterMark;
|
||||
|
||||
// lowWaterFactor determines the minimum number of elements before
|
||||
// a rehash. Can be tuned for different performance/storage characteristics.
|
||||
private static final float LOW_WATER_FACTOR = 0.0F;
|
||||
private int lowWaterMark;
|
||||
|
||||
private int count;
|
||||
|
||||
// we use two arrays to minimize allocations
|
||||
private int[] values;
|
||||
private int[] keyList;
|
||||
|
||||
private static final int EMPTY = Integer.MIN_VALUE;
|
||||
private static final int DELETED = EMPTY + 1;
|
||||
private static final int MAX_UNUSED = DELETED;
|
||||
|
||||
private void initialize (int primeIndex) {
|
||||
if (primeIndex < 0) {
|
||||
primeIndex = 0;
|
||||
} else if (primeIndex >= PRIMES.length) {
|
||||
System.out.println("TOO BIG");
|
||||
primeIndex = PRIMES.length - 1;
|
||||
// throw new java.util.IllegalArgumentError();
|
||||
}
|
||||
this.primeIndex = primeIndex;
|
||||
int initialSize = PRIMES[primeIndex];
|
||||
values = new int[initialSize];
|
||||
keyList = new int[initialSize];
|
||||
for (int i = 0; i < initialSize; ++i) {
|
||||
keyList[i] = EMPTY;
|
||||
values[i] = defaultValue;
|
||||
}
|
||||
count = 0;
|
||||
lowWaterMark = (int)(initialSize * LOW_WATER_FACTOR);
|
||||
highWaterMark = (int)(initialSize * HIGH_WATER_FACTOR);
|
||||
}
|
||||
|
||||
private void rehash() {
|
||||
int[] oldValues = values;
|
||||
int[] oldkeyList = keyList;
|
||||
int newPrimeIndex = primeIndex;
|
||||
if (count > highWaterMark) {
|
||||
++newPrimeIndex;
|
||||
} else if (count < lowWaterMark) {
|
||||
newPrimeIndex -= 2;
|
||||
}
|
||||
initialize(newPrimeIndex);
|
||||
for (int i = oldValues.length - 1; i >= 0; --i) {
|
||||
int key = oldkeyList[i];
|
||||
if (key > MAX_UNUSED) {
|
||||
putInternal(key, oldValues[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void putInternal (int key, int value) {
|
||||
int index = find(key);
|
||||
if (keyList[index] < MAX_UNUSED) { // deleted or empty
|
||||
keyList[index] = key;
|
||||
++count;
|
||||
}
|
||||
values[index] = value; // reset value
|
||||
}
|
||||
|
||||
private int find (int key) {
|
||||
if (key <= MAX_UNUSED)
|
||||
throw new IllegalArgumentException("key can't be less than 0xFFFFFFFE");
|
||||
int firstDeleted = -1; // assume invalid index
|
||||
int index = (key ^ 0x4000000) % keyList.length;
|
||||
if (index < 0) index = -index; // positive only
|
||||
int jump = 0; // lazy evaluate
|
||||
while (true) {
|
||||
int tableHash = keyList[index];
|
||||
if (tableHash == key) { // quick check
|
||||
return index;
|
||||
} else if (tableHash > MAX_UNUSED) { // neither correct nor unused
|
||||
// ignore
|
||||
} else if (tableHash == EMPTY) { // empty, end o' the line
|
||||
if (firstDeleted >= 0) {
|
||||
index = firstDeleted; // reset if had deleted slot
|
||||
}
|
||||
return index;
|
||||
} else if (firstDeleted < 0) { // remember first deleted
|
||||
firstDeleted = index;
|
||||
}
|
||||
if (jump == 0) { // lazy compute jump
|
||||
jump = (key % (keyList.length - 1));
|
||||
if (jump < 0) jump = -jump;
|
||||
++jump;
|
||||
}
|
||||
|
||||
index = (index + jump) % keyList.length;
|
||||
if (index == firstDeleted) {
|
||||
// We've searched all entries for the given key.
|
||||
return index;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static int leastGreaterPrimeIndex(int source) {
|
||||
int i;
|
||||
for (i = 0; i < PRIMES.length; ++i) {
|
||||
if (source < PRIMES[i]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return (i == 0) ? 0 : (i - 1);
|
||||
}
|
||||
|
||||
// This list is the result of buildList below. Can be tuned for different
|
||||
// performance/storage characteristics.
|
||||
private static final int[] PRIMES = {
|
||||
17, 37, 67, 131, 257,
|
||||
521, 1031, 2053, 4099, 8209, 16411, 32771, 65537,
|
||||
131101, 262147, 524309, 1048583, 2097169, 4194319, 8388617, 16777259,
|
||||
33554467, 67108879, 134217757, 268435459, 536870923, 1073741827, 2147483647
|
||||
};
|
||||
}
|
||||
98
jdkSrc/jdk8/sun/text/Normalizer.java
Normal file
98
jdkSrc/jdk8/sun/text/Normalizer.java
Normal file
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.text;
|
||||
|
||||
import sun.text.normalizer.NormalizerBase;
|
||||
import sun.text.normalizer.NormalizerImpl;
|
||||
|
||||
/**
|
||||
* This Normalizer is for Unicode 3.2 support for IDNA only.
|
||||
* Developers should not use this class.
|
||||
*
|
||||
* @ since 1.6
|
||||
*/
|
||||
public final class Normalizer {
|
||||
|
||||
private Normalizer() {};
|
||||
|
||||
/**
|
||||
* Option to select Unicode 3.2 (without corrigendum 4 corrections) for
|
||||
* normalization.
|
||||
*/
|
||||
public static final int UNICODE_3_2 = NormalizerBase.UNICODE_3_2_0_ORIGINAL;
|
||||
|
||||
/**
|
||||
* Normalize a sequence of char values.
|
||||
* The sequence will be normalized according to the specified normalization
|
||||
* from.
|
||||
* @param src The sequence of char values to normalize.
|
||||
* @param form The normalization form; one of
|
||||
* {@link java.text.Normalizer.Form#NFC},
|
||||
* {@link java.text.Normalizer.Form#NFD},
|
||||
* {@link java.text.Normalizer.Form#NFKC},
|
||||
* {@link java.text.Normalizer.Form#NFKD}
|
||||
* @param option The normalization option;
|
||||
* {@link sun.text.Normalizer#UNICODE_3_2}
|
||||
* @return The normalized String
|
||||
* @throws NullPointerException If <code>src</code> or <code>form</code>
|
||||
* is null.
|
||||
*/
|
||||
public static String normalize(CharSequence src,
|
||||
java.text.Normalizer.Form form,
|
||||
int option) {
|
||||
return NormalizerBase.normalize(src.toString(), form, option);
|
||||
};
|
||||
|
||||
/**
|
||||
* Determines if the given sequence of char values is normalized.
|
||||
* @param src The sequence of char values to be checked.
|
||||
* @param form The normalization form; one of
|
||||
* {@link java.text.Normalizer.Form#NFC},
|
||||
* {@link java.text.Normalizer.Form#NFD},
|
||||
* {@link java.text.Normalizer.Form#NFKC},
|
||||
* {@link java.text.Normalizer.Form#NFKD}
|
||||
* @param option The normalization option;
|
||||
* {@link sun.text.Normalizer#UNICODE_3_2}
|
||||
* @return true if the sequence of char values is normalized;
|
||||
* false otherwise.
|
||||
* @throws NullPointerException If <code>src</code> or <code>form</code>
|
||||
* is null.
|
||||
*/
|
||||
public static boolean isNormalized(CharSequence src,
|
||||
java.text.Normalizer.Form form,
|
||||
int option) {
|
||||
return NormalizerBase.isNormalized(src.toString(), form, option);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the combining class of the given character
|
||||
* @param ch character to retrieve combining class of
|
||||
* @return combining class of the given character
|
||||
*/
|
||||
public static final int getCombiningClass(int ch) {
|
||||
return NormalizerImpl.getCombiningClass(ch);
|
||||
}
|
||||
}
|
||||
99
jdkSrc/jdk8/sun/text/SupplementaryCharacterData.java
Normal file
99
jdkSrc/jdk8/sun/text/SupplementaryCharacterData.java
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.text;
|
||||
|
||||
/**
|
||||
* SupplementaryCharacterData is an SMI-private class which was written for
|
||||
* RuleBasedBreakIterator and BreakDictionary.
|
||||
*/
|
||||
public final class SupplementaryCharacterData implements Cloneable {
|
||||
|
||||
/**
|
||||
* A token used as a character-category value to identify ignore characters
|
||||
*/
|
||||
private static final byte IGNORE = -1;
|
||||
|
||||
/**
|
||||
* An array for supplementary characters and values.
|
||||
* Lower one byte is used to keep a byte-value.
|
||||
* Upper three bytes are used to keep the first supplementary character
|
||||
* which has the value. The value is also valid for the following
|
||||
* supplementary characters until the next supplementary character in
|
||||
* the array <code>dataTable</code>.
|
||||
* For example, if the value of <code>dataTable[2]</code> is
|
||||
* <code>0x01000123</code> and the value of <code>dataTable[3]</code> is
|
||||
* <code>0x01000567</code>, supplementary characters from
|
||||
* <code>0x10001</code> to <code>0x10004</code> has the value
|
||||
* <code>0x23</code>. And, <code>getValue(0x10003)</code> returns the value.
|
||||
*/
|
||||
private int[] dataTable;
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new SupplementaryCharacterData object with the given table.
|
||||
*/
|
||||
public SupplementaryCharacterData(int[] table) {
|
||||
dataTable = table;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a corresponding value for the given supplementary code-point.
|
||||
*/
|
||||
public int getValue(int index) {
|
||||
// Index should be a valid supplementary character.
|
||||
assert index >= Character.MIN_SUPPLEMENTARY_CODE_POINT &&
|
||||
index <= Character.MAX_CODE_POINT :
|
||||
"Invalid code point:" + Integer.toHexString(index);
|
||||
|
||||
int i = 0;
|
||||
int j = dataTable.length - 1;
|
||||
int k;
|
||||
|
||||
for (;;) {
|
||||
k = (i + j) / 2;
|
||||
|
||||
int start = dataTable[k] >> 8;
|
||||
int end = dataTable[k+1] >> 8;
|
||||
|
||||
if (index < start) {
|
||||
j = k;
|
||||
} else if (index > (end-1)) {
|
||||
i = k;
|
||||
} else {
|
||||
int v = dataTable[k] & 0xFF;
|
||||
return (v == 0xFF) ? IGNORE : v;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the data array.
|
||||
*/
|
||||
public int[] getArray() {
|
||||
return dataTable;
|
||||
}
|
||||
|
||||
}
|
||||
205
jdkSrc/jdk8/sun/text/UCompactIntArray.java
Normal file
205
jdkSrc/jdk8/sun/text/UCompactIntArray.java
Normal file
@@ -0,0 +1,205 @@
|
||||
/*
|
||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
package sun.text;
|
||||
|
||||
public final class UCompactIntArray implements Cloneable {
|
||||
/**
|
||||
* Default constructor for UCompactIntArray, the default value of the
|
||||
* compact array is 0.
|
||||
*/
|
||||
public UCompactIntArray() {
|
||||
values = new int[16][];
|
||||
indices = new short[16][];
|
||||
blockTouched = new boolean[16][];
|
||||
planeTouched = new boolean[16];
|
||||
}
|
||||
|
||||
public UCompactIntArray(int defaultValue) {
|
||||
this();
|
||||
this.defaultValue = defaultValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the mapped value of a Unicode character.
|
||||
* @param index the character to get the mapped value with
|
||||
* @return the mapped value of the given character
|
||||
*/
|
||||
public int elementAt(int index) {
|
||||
int plane = (index & PLANEMASK) >> PLANESHIFT;
|
||||
if (!planeTouched[plane]) {
|
||||
return defaultValue;
|
||||
}
|
||||
index &= CODEPOINTMASK;
|
||||
return values[plane][(indices[plane][index >> BLOCKSHIFT] & 0xFFFF)
|
||||
+ (index & BLOCKMASK)];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set a new value for a Unicode character.
|
||||
* Set automatically expands the array if it is compacted.
|
||||
* @param index the character to set the mapped value with
|
||||
* @param value the new mapped value
|
||||
*/
|
||||
public void setElementAt(int index, int value) {
|
||||
if (isCompact) {
|
||||
expand();
|
||||
}
|
||||
int plane = (index & PLANEMASK) >> PLANESHIFT;
|
||||
if (!planeTouched[plane]) {
|
||||
initPlane(plane);
|
||||
}
|
||||
index &= CODEPOINTMASK;
|
||||
values[plane][index] = value;
|
||||
blockTouched[plane][index >> BLOCKSHIFT] = true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compact the array.
|
||||
*/
|
||||
public void compact() {
|
||||
if (isCompact) {
|
||||
return;
|
||||
}
|
||||
for (int plane = 0; plane < PLANECOUNT; plane++) {
|
||||
if (!planeTouched[plane]) {
|
||||
continue;
|
||||
}
|
||||
int limitCompacted = 0;
|
||||
int iBlockStart = 0;
|
||||
short iUntouched = -1;
|
||||
|
||||
for (int i = 0; i < indices[plane].length; ++i, iBlockStart += BLOCKCOUNT) {
|
||||
indices[plane][i] = -1;
|
||||
if (!blockTouched[plane][i] && iUntouched != -1) {
|
||||
// If no values in this block were set, we can just set its
|
||||
// index to be the same as some other block with no values
|
||||
// set, assuming we've seen one yet.
|
||||
indices[plane][i] = iUntouched;
|
||||
} else {
|
||||
int jBlockStart = limitCompacted * BLOCKCOUNT;
|
||||
if (i > limitCompacted) {
|
||||
System.arraycopy(values[plane], iBlockStart,
|
||||
values[plane], jBlockStart, BLOCKCOUNT);
|
||||
}
|
||||
if (!blockTouched[plane][i]) {
|
||||
// If this is the first untouched block we've seen, remember it.
|
||||
iUntouched = (short)jBlockStart;
|
||||
}
|
||||
indices[plane][i] = (short)jBlockStart;
|
||||
limitCompacted++;
|
||||
}
|
||||
}
|
||||
|
||||
// we are done compacting, so now make the array shorter
|
||||
int newSize = limitCompacted * BLOCKCOUNT;
|
||||
int[] result = new int[newSize];
|
||||
System.arraycopy(values[plane], 0, result, 0, newSize);
|
||||
values[plane] = result;
|
||||
blockTouched[plane] = null;
|
||||
}
|
||||
isCompact = true;
|
||||
}
|
||||
|
||||
|
||||
// --------------------------------------------------------------
|
||||
// private
|
||||
// --------------------------------------------------------------
|
||||
/**
|
||||
* Expanded takes the array back to a 0x10ffff element array
|
||||
*/
|
||||
private void expand() {
|
||||
int i;
|
||||
if (isCompact) {
|
||||
int[] tempArray;
|
||||
for (int plane = 0; plane < PLANECOUNT; plane++) {
|
||||
if (!planeTouched[plane]) {
|
||||
continue;
|
||||
}
|
||||
blockTouched[plane] = new boolean[INDEXCOUNT];
|
||||
tempArray = new int[UNICODECOUNT];
|
||||
for (i = 0; i < UNICODECOUNT; ++i) {
|
||||
tempArray[i] = values[plane][indices[plane][i >> BLOCKSHIFT]
|
||||
& 0xffff + (i & BLOCKMASK)];
|
||||
blockTouched[plane][i >> BLOCKSHIFT] = true;
|
||||
}
|
||||
for (i = 0; i < INDEXCOUNT; ++i) {
|
||||
indices[plane][i] = (short)(i<<BLOCKSHIFT);
|
||||
}
|
||||
values[plane] = tempArray;
|
||||
}
|
||||
isCompact = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void initPlane(int plane) {
|
||||
values[plane] = new int[UNICODECOUNT];
|
||||
indices[plane] = new short[INDEXCOUNT];
|
||||
blockTouched[plane] = new boolean[INDEXCOUNT];
|
||||
planeTouched[plane] = true;
|
||||
|
||||
if (planeTouched[0] && plane != 0) {
|
||||
System.arraycopy(indices[0], 0, indices[plane], 0, INDEXCOUNT);
|
||||
} else {
|
||||
for (int i = 0; i < INDEXCOUNT; ++i) {
|
||||
indices[plane][i] = (short)(i<<BLOCKSHIFT);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < UNICODECOUNT; ++i) {
|
||||
values[plane][i] = defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
public int getKSize() {
|
||||
int size = 0;
|
||||
for (int plane = 0; plane < PLANECOUNT; plane++) {
|
||||
if (planeTouched[plane]) {
|
||||
size += (values[plane].length * 4 + indices[plane].length * 2);
|
||||
}
|
||||
}
|
||||
return size / 1024;
|
||||
}
|
||||
|
||||
private static final int PLANEMASK = 0x30000;
|
||||
private static final int PLANESHIFT = 16;
|
||||
private static final int PLANECOUNT = 0x10;
|
||||
private static final int CODEPOINTMASK = 0xffff;
|
||||
|
||||
private static final int UNICODECOUNT = 0x10000;
|
||||
private static final int BLOCKSHIFT = 7;
|
||||
private static final int BLOCKCOUNT = (1<<BLOCKSHIFT);
|
||||
private static final int INDEXSHIFT = (16-BLOCKSHIFT);
|
||||
private static final int INDEXCOUNT = (1<<INDEXSHIFT);
|
||||
private static final int BLOCKMASK = BLOCKCOUNT - 1;
|
||||
|
||||
private int defaultValue;
|
||||
private int values[][];
|
||||
private short indices[][];
|
||||
private boolean isCompact;
|
||||
private boolean[][] blockTouched;
|
||||
private boolean[] planeTouched;
|
||||
};
|
||||
3550
jdkSrc/jdk8/sun/text/bidi/BidiBase.java
Normal file
3550
jdkSrc/jdk8/sun/text/bidi/BidiBase.java
Normal file
File diff suppressed because it is too large
Load Diff
849
jdkSrc/jdk8/sun/text/bidi/BidiLine.java
Normal file
849
jdkSrc/jdk8/sun/text/bidi/BidiLine.java
Normal file
@@ -0,0 +1,849 @@
|
||||
/*
|
||||
* Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
/* Written by Simon Montagu, Matitiahu Allouche
|
||||
* (ported from C code written by Markus W. Scherer)
|
||||
*/
|
||||
|
||||
package sun.text.bidi;
|
||||
|
||||
import java.text.Bidi;
|
||||
import java.util.Arrays;
|
||||
|
||||
public final class BidiLine {
|
||||
|
||||
/*
|
||||
* General remarks about the functions in this file:
|
||||
*
|
||||
* These functions deal with the aspects of potentially mixed-directional
|
||||
* text in a single paragraph or in a line of a single paragraph
|
||||
* which has already been processed according to
|
||||
* the Unicode 3.0 Bidi algorithm as defined in
|
||||
* http://www.unicode.org/unicode/reports/tr9/ , version 13,
|
||||
* also described in The Unicode Standard, Version 4.0.1 .
|
||||
*
|
||||
* This means that there is a Bidi object with a levels
|
||||
* and a dirProps array.
|
||||
* paraLevel and direction are also set.
|
||||
* Only if the length of the text is zero, then levels==dirProps==NULL.
|
||||
*
|
||||
* The overall directionality of the paragraph
|
||||
* or line is used to bypass the reordering steps if possible.
|
||||
* Even purely RTL text does not need reordering there because
|
||||
* the getLogical/VisualIndex() methods can compute the
|
||||
* index on the fly in such a case.
|
||||
*
|
||||
* The implementation of the access to same-level-runs and of the reordering
|
||||
* do attempt to provide better performance and less memory usage compared to
|
||||
* a direct implementation of especially rule (L2) with an array of
|
||||
* one (32-bit) integer per text character.
|
||||
*
|
||||
* Here, the levels array is scanned as soon as necessary, and a vector of
|
||||
* same-level-runs is created. Reordering then is done on this vector.
|
||||
* For each run of text positions that were resolved to the same level,
|
||||
* only 8 bytes are stored: the first text position of the run and the visual
|
||||
* position behind the run after reordering.
|
||||
* One sign bit is used to hold the directionality of the run.
|
||||
* This is inefficient if there are many very short runs. If the average run
|
||||
* length is <2, then this uses more memory.
|
||||
*
|
||||
* In a further attempt to save memory, the levels array is never changed
|
||||
* after all the resolution rules (Xn, Wn, Nn, In).
|
||||
* Many methods have to consider the field trailingWSStart:
|
||||
* if it is less than length, then there is an implicit trailing run
|
||||
* at the paraLevel,
|
||||
* which is not reflected in the levels array.
|
||||
* This allows a line Bidi object to use the same levels array as
|
||||
* its paragraph parent object.
|
||||
*
|
||||
* When a Bidi object is created for a line of a paragraph, then the
|
||||
* paragraph's levels and dirProps arrays are reused by way of setting
|
||||
* a pointer into them, not by copying. This again saves memory and forbids to
|
||||
* change the now shared levels for (L1).
|
||||
*/
|
||||
|
||||
/* handle trailing WS (L1) -------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* setTrailingWSStart() sets the start index for a trailing
|
||||
* run of WS in the line. This is necessary because we do not modify
|
||||
* the paragraph's levels array that we just point into.
|
||||
* Using trailingWSStart is another form of performing (L1).
|
||||
*
|
||||
* To make subsequent operations easier, we also include the run
|
||||
* before the WS if it is at the paraLevel - we merge the two here.
|
||||
*
|
||||
* This method is called only from setLine(), so paraLevel is
|
||||
* set correctly for the line even when contextual multiple paragraphs.
|
||||
*/
|
||||
|
||||
static void setTrailingWSStart(BidiBase bidiBase)
|
||||
{
|
||||
byte[] dirProps = bidiBase.dirProps;
|
||||
byte[] levels = bidiBase.levels;
|
||||
int start = bidiBase.length;
|
||||
byte paraLevel = bidiBase.paraLevel;
|
||||
|
||||
/* If the line is terminated by a block separator, all preceding WS etc...
|
||||
are already set to paragraph level.
|
||||
Setting trailingWSStart to pBidi->length will avoid changing the
|
||||
level of B chars from 0 to paraLevel in getLevels when
|
||||
orderParagraphsLTR==TRUE
|
||||
*/
|
||||
if (BidiBase.NoContextRTL(dirProps[start - 1]) == BidiBase.B) {
|
||||
bidiBase.trailingWSStart = start; /* currently == bidiBase.length */
|
||||
return;
|
||||
}
|
||||
/* go backwards across all WS, BN, explicit codes */
|
||||
while (start > 0 &&
|
||||
(BidiBase.DirPropFlagNC(dirProps[start - 1]) & BidiBase.MASK_WS) != 0) {
|
||||
--start;
|
||||
}
|
||||
|
||||
/* if the WS run can be merged with the previous run then do so here */
|
||||
while (start > 0 && levels[start - 1] == paraLevel) {
|
||||
--start;
|
||||
}
|
||||
|
||||
bidiBase.trailingWSStart=start;
|
||||
}
|
||||
|
||||
public static Bidi setLine(Bidi bidi, BidiBase paraBidi,
|
||||
Bidi newBidi, BidiBase newBidiBase,
|
||||
int start, int limit) {
|
||||
int length;
|
||||
|
||||
BidiBase lineBidi = newBidiBase;
|
||||
|
||||
/* set the values in lineBidi from its paraBidi parent */
|
||||
/* class members are already initialized to 0 */
|
||||
// lineBidi.paraBidi = null; /* mark unfinished setLine */
|
||||
// lineBidi.flags = 0;
|
||||
// lineBidi.controlCount = 0;
|
||||
|
||||
length = lineBidi.length = lineBidi.originalLength =
|
||||
lineBidi.resultLength = limit - start;
|
||||
|
||||
lineBidi.text = new char[length];
|
||||
System.arraycopy(paraBidi.text, start, lineBidi.text, 0, length);
|
||||
lineBidi.paraLevel = paraBidi.GetParaLevelAt(start);
|
||||
lineBidi.paraCount = paraBidi.paraCount;
|
||||
lineBidi.runs = new BidiRun[0];
|
||||
if (paraBidi.controlCount > 0) {
|
||||
int j;
|
||||
for (j = start; j < limit; j++) {
|
||||
if (BidiBase.IsBidiControlChar(paraBidi.text[j])) {
|
||||
lineBidi.controlCount++;
|
||||
}
|
||||
}
|
||||
lineBidi.resultLength -= lineBidi.controlCount;
|
||||
}
|
||||
/* copy proper subset of DirProps */
|
||||
lineBidi.getDirPropsMemory(length);
|
||||
lineBidi.dirProps = lineBidi.dirPropsMemory;
|
||||
System.arraycopy(paraBidi.dirProps, start, lineBidi.dirProps, 0,
|
||||
length);
|
||||
/* copy proper subset of Levels */
|
||||
lineBidi.getLevelsMemory(length);
|
||||
lineBidi.levels = lineBidi.levelsMemory;
|
||||
System.arraycopy(paraBidi.levels, start, lineBidi.levels, 0,
|
||||
length);
|
||||
lineBidi.runCount = -1;
|
||||
|
||||
if (paraBidi.direction != BidiBase.MIXED) {
|
||||
/* the parent is already trivial */
|
||||
lineBidi.direction = paraBidi.direction;
|
||||
|
||||
/*
|
||||
* The parent's levels are all either
|
||||
* implicitly or explicitly ==paraLevel;
|
||||
* do the same here.
|
||||
*/
|
||||
if (paraBidi.trailingWSStart <= start) {
|
||||
lineBidi.trailingWSStart = 0;
|
||||
} else if (paraBidi.trailingWSStart < limit) {
|
||||
lineBidi.trailingWSStart = paraBidi.trailingWSStart - start;
|
||||
} else {
|
||||
lineBidi.trailingWSStart = length;
|
||||
}
|
||||
} else {
|
||||
byte[] levels = lineBidi.levels;
|
||||
int i, trailingWSStart;
|
||||
byte level;
|
||||
|
||||
setTrailingWSStart(lineBidi);
|
||||
trailingWSStart = lineBidi.trailingWSStart;
|
||||
|
||||
/* recalculate lineBidi.direction */
|
||||
if (trailingWSStart == 0) {
|
||||
/* all levels are at paraLevel */
|
||||
lineBidi.direction = (byte)(lineBidi.paraLevel & 1);
|
||||
} else {
|
||||
/* get the level of the first character */
|
||||
level = (byte)(levels[0] & 1);
|
||||
|
||||
/* if there is anything of a different level, then the line
|
||||
is mixed */
|
||||
if (trailingWSStart < length &&
|
||||
(lineBidi.paraLevel & 1) != level) {
|
||||
/* the trailing WS is at paraLevel, which differs from
|
||||
levels[0] */
|
||||
lineBidi.direction = BidiBase.MIXED;
|
||||
} else {
|
||||
/* see if levels[1..trailingWSStart-1] have the same
|
||||
direction as levels[0] and paraLevel */
|
||||
for (i = 1; ; i++) {
|
||||
if (i == trailingWSStart) {
|
||||
/* the direction values match those in level */
|
||||
lineBidi.direction = level;
|
||||
break;
|
||||
} else if ((levels[i] & 1) != level) {
|
||||
lineBidi.direction = BidiBase.MIXED;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
switch(lineBidi.direction) {
|
||||
case Bidi.DIRECTION_LEFT_TO_RIGHT:
|
||||
/* make sure paraLevel is even */
|
||||
lineBidi.paraLevel = (byte)
|
||||
((lineBidi.paraLevel + 1) & ~1);
|
||||
|
||||
/* all levels are implicitly at paraLevel (important for
|
||||
getLevels()) */
|
||||
lineBidi.trailingWSStart = 0;
|
||||
break;
|
||||
case Bidi.DIRECTION_RIGHT_TO_LEFT:
|
||||
/* make sure paraLevel is odd */
|
||||
lineBidi.paraLevel |= 1;
|
||||
|
||||
/* all levels are implicitly at paraLevel (important for
|
||||
getLevels()) */
|
||||
lineBidi.trailingWSStart = 0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
newBidiBase.paraBidi = paraBidi; /* mark successful setLine */
|
||||
return newBidi;
|
||||
}
|
||||
|
||||
static byte getLevelAt(BidiBase bidiBase, int charIndex)
|
||||
{
|
||||
/* return paraLevel if in the trailing WS run, otherwise the real level */
|
||||
if (bidiBase.direction != BidiBase.MIXED || charIndex >= bidiBase.trailingWSStart) {
|
||||
return bidiBase.GetParaLevelAt(charIndex);
|
||||
} else {
|
||||
return bidiBase.levels[charIndex];
|
||||
}
|
||||
}
|
||||
|
||||
static byte[] getLevels(BidiBase bidiBase)
|
||||
{
|
||||
int start = bidiBase.trailingWSStart;
|
||||
int length = bidiBase.length;
|
||||
|
||||
if (start != length) {
|
||||
/* the current levels array does not reflect the WS run */
|
||||
/*
|
||||
* After the previous if(), we know that the levels array
|
||||
* has an implicit trailing WS run and therefore does not fully
|
||||
* reflect itself all the levels.
|
||||
* This must be a Bidi object for a line, and
|
||||
* we need to create a new levels array.
|
||||
*/
|
||||
/* bidiBase.paraLevel is ok even if contextual multiple paragraphs,
|
||||
since bidiBase is a line object */
|
||||
Arrays.fill(bidiBase.levels, start, length, bidiBase.paraLevel);
|
||||
|
||||
/* this new levels array is set for the line and reflects the WS run */
|
||||
bidiBase.trailingWSStart = length;
|
||||
}
|
||||
if (length < bidiBase.levels.length) {
|
||||
byte[] levels = new byte[length];
|
||||
System.arraycopy(bidiBase.levels, 0, levels, 0, length);
|
||||
return levels;
|
||||
}
|
||||
return bidiBase.levels;
|
||||
}
|
||||
|
||||
static BidiRun getLogicalRun(BidiBase bidiBase, int logicalPosition)
|
||||
{
|
||||
/* this is done based on runs rather than on levels since levels have
|
||||
a special interpretation when REORDER_RUNS_ONLY
|
||||
*/
|
||||
BidiRun newRun = new BidiRun(), iRun;
|
||||
getRuns(bidiBase);
|
||||
int runCount = bidiBase.runCount;
|
||||
int visualStart = 0, logicalLimit = 0;
|
||||
iRun = bidiBase.runs[0];
|
||||
|
||||
for (int i = 0; i < runCount; i++) {
|
||||
iRun = bidiBase.runs[i];
|
||||
logicalLimit = iRun.start + iRun.limit - visualStart;
|
||||
if ((logicalPosition >= iRun.start) &&
|
||||
(logicalPosition < logicalLimit)) {
|
||||
break;
|
||||
}
|
||||
visualStart = iRun.limit;
|
||||
}
|
||||
newRun.start = iRun.start;
|
||||
newRun.limit = logicalLimit;
|
||||
newRun.level = iRun.level;
|
||||
return newRun;
|
||||
}
|
||||
|
||||
/* in trivial cases there is only one trivial run; called by getRuns() */
|
||||
private static void getSingleRun(BidiBase bidiBase, byte level) {
|
||||
/* simple, single-run case */
|
||||
bidiBase.runs = bidiBase.simpleRuns;
|
||||
bidiBase.runCount = 1;
|
||||
|
||||
/* fill and reorder the single run */
|
||||
bidiBase.runs[0] = new BidiRun(0, bidiBase.length, level);
|
||||
}
|
||||
|
||||
/* reorder the runs array (L2) ---------------------------------------------- */
|
||||
|
||||
/*
|
||||
* Reorder the same-level runs in the runs array.
|
||||
* Here, runCount>1 and maxLevel>=minLevel>=paraLevel.
|
||||
* All the visualStart fields=logical start before reordering.
|
||||
* The "odd" bits are not set yet.
|
||||
*
|
||||
* Reordering with this data structure lends itself to some handy shortcuts:
|
||||
*
|
||||
* Since each run is moved but not modified, and since at the initial maxLevel
|
||||
* each sequence of same-level runs consists of only one run each, we
|
||||
* don't need to do anything there and can predecrement maxLevel.
|
||||
* In many simple cases, the reordering is thus done entirely in the
|
||||
* index mapping.
|
||||
* Also, reordering occurs only down to the lowest odd level that occurs,
|
||||
* which is minLevel|1. However, if the lowest level itself is odd, then
|
||||
* in the last reordering the sequence of the runs at this level or higher
|
||||
* will be all runs, and we don't need the elaborate loop to search for them.
|
||||
* This is covered by ++minLevel instead of minLevel|=1 followed
|
||||
* by an extra reorder-all after the reorder-some loop.
|
||||
* About a trailing WS run:
|
||||
* Such a run would need special treatment because its level is not
|
||||
* reflected in levels[] if this is not a paragraph object.
|
||||
* Instead, all characters from trailingWSStart on are implicitly at
|
||||
* paraLevel.
|
||||
* However, for all maxLevel>paraLevel, this run will never be reordered
|
||||
* and does not need to be taken into account. maxLevel==paraLevel is only reordered
|
||||
* if minLevel==paraLevel is odd, which is done in the extra segment.
|
||||
* This means that for the main reordering loop we don't need to consider
|
||||
* this run and can --runCount. If it is later part of the all-runs
|
||||
* reordering, then runCount is adjusted accordingly.
|
||||
*/
|
||||
private static void reorderLine(BidiBase bidiBase, byte minLevel, byte maxLevel) {
|
||||
|
||||
/* nothing to do? */
|
||||
if (maxLevel<=(minLevel|1)) {
|
||||
return;
|
||||
}
|
||||
|
||||
BidiRun[] runs;
|
||||
BidiRun tempRun;
|
||||
byte[] levels;
|
||||
int firstRun, endRun, limitRun, runCount;
|
||||
|
||||
/*
|
||||
* Reorder only down to the lowest odd level
|
||||
* and reorder at an odd minLevel in a separate, simpler loop.
|
||||
* See comments above for why minLevel is always incremented.
|
||||
*/
|
||||
++minLevel;
|
||||
|
||||
runs = bidiBase.runs;
|
||||
levels = bidiBase.levels;
|
||||
runCount = bidiBase.runCount;
|
||||
|
||||
/* do not include the WS run at paraLevel<=old minLevel except in the simple loop */
|
||||
if (bidiBase.trailingWSStart < bidiBase.length) {
|
||||
--runCount;
|
||||
}
|
||||
|
||||
while (--maxLevel >= minLevel) {
|
||||
firstRun = 0;
|
||||
|
||||
/* loop for all sequences of runs */
|
||||
for ( ; ; ) {
|
||||
/* look for a sequence of runs that are all at >=maxLevel */
|
||||
/* look for the first run of such a sequence */
|
||||
while (firstRun < runCount && levels[runs[firstRun].start] < maxLevel) {
|
||||
++firstRun;
|
||||
}
|
||||
if (firstRun >= runCount) {
|
||||
break; /* no more such runs */
|
||||
}
|
||||
|
||||
/* look for the limit run of such a sequence (the run behind it) */
|
||||
for (limitRun = firstRun; ++limitRun < runCount &&
|
||||
levels[runs[limitRun].start]>=maxLevel; ) {}
|
||||
|
||||
/* Swap the entire sequence of runs from firstRun to limitRun-1. */
|
||||
endRun = limitRun - 1;
|
||||
while (firstRun < endRun) {
|
||||
tempRun = runs[firstRun];
|
||||
runs[firstRun] = runs[endRun];
|
||||
runs[endRun] = tempRun;
|
||||
++firstRun;
|
||||
--endRun;
|
||||
}
|
||||
|
||||
if (limitRun == runCount) {
|
||||
break; /* no more such runs */
|
||||
} else {
|
||||
firstRun = limitRun + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* now do maxLevel==old minLevel (==odd!), see above */
|
||||
if ((minLevel & 1) == 0) {
|
||||
firstRun = 0;
|
||||
|
||||
/* include the trailing WS run in this complete reordering */
|
||||
if (bidiBase.trailingWSStart == bidiBase.length) {
|
||||
--runCount;
|
||||
}
|
||||
|
||||
/* Swap the entire sequence of all runs. (endRun==runCount) */
|
||||
while (firstRun < runCount) {
|
||||
tempRun = runs[firstRun];
|
||||
runs[firstRun] = runs[runCount];
|
||||
runs[runCount] = tempRun;
|
||||
++firstRun;
|
||||
--runCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* compute the runs array --------------------------------------------------- */
|
||||
|
||||
static int getRunFromLogicalIndex(BidiBase bidiBase, int logicalIndex) {
|
||||
BidiRun[] runs = bidiBase.runs;
|
||||
int runCount = bidiBase.runCount, visualStart = 0, i, length, logicalStart;
|
||||
|
||||
for (i = 0; i < runCount; i++) {
|
||||
length = runs[i].limit - visualStart;
|
||||
logicalStart = runs[i].start;
|
||||
if ((logicalIndex >= logicalStart) && (logicalIndex < (logicalStart+length))) {
|
||||
return i;
|
||||
}
|
||||
visualStart += length;
|
||||
}
|
||||
/* we should never get here */
|
||||
throw new IllegalStateException("Internal ICU error in getRunFromLogicalIndex");
|
||||
}
|
||||
|
||||
/*
|
||||
* Compute the runs array from the levels array.
|
||||
* After getRuns() returns true, runCount is guaranteed to be >0
|
||||
* and the runs are reordered.
|
||||
* Odd-level runs have visualStart on their visual right edge and
|
||||
* they progress visually to the left.
|
||||
* If option OPTION_INSERT_MARKS is set, insertRemove will contain the
|
||||
* sum of appropriate LRM/RLM_BEFORE/AFTER flags.
|
||||
* If option OPTION_REMOVE_CONTROLS is set, insertRemove will contain the
|
||||
* negative number of BiDi control characters within this run.
|
||||
*/
|
||||
static void getRuns(BidiBase bidiBase) {
|
||||
/*
|
||||
* This method returns immediately if the runs are already set. This
|
||||
* includes the case of length==0 (handled in setPara)..
|
||||
*/
|
||||
if (bidiBase.runCount >= 0) {
|
||||
return;
|
||||
}
|
||||
if (bidiBase.direction != BidiBase.MIXED) {
|
||||
/* simple, single-run case - this covers length==0 */
|
||||
/* bidiBase.paraLevel is ok even for contextual multiple paragraphs */
|
||||
getSingleRun(bidiBase, bidiBase.paraLevel);
|
||||
} else /* BidiBase.MIXED, length>0 */ {
|
||||
/* mixed directionality */
|
||||
int length = bidiBase.length, limit;
|
||||
byte[] levels = bidiBase.levels;
|
||||
int i, runCount;
|
||||
byte level = BidiBase.INTERNAL_LEVEL_DEFAULT_LTR; /* initialize with no valid level */
|
||||
/*
|
||||
* If there are WS characters at the end of the line
|
||||
* and the run preceding them has a level different from
|
||||
* paraLevel, then they will form their own run at paraLevel (L1).
|
||||
* Count them separately.
|
||||
* We need some special treatment for this in order to not
|
||||
* modify the levels array which a line Bidi object shares
|
||||
* with its paragraph parent and its other line siblings.
|
||||
* In other words, for the trailing WS, it may be
|
||||
* levels[]!=paraLevel but we have to treat it like it were so.
|
||||
*/
|
||||
limit = bidiBase.trailingWSStart;
|
||||
/* count the runs, there is at least one non-WS run, and limit>0 */
|
||||
runCount = 0;
|
||||
for (i = 0; i < limit; ++i) {
|
||||
/* increment runCount at the start of each run */
|
||||
if (levels[i] != level) {
|
||||
++runCount;
|
||||
level = levels[i];
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* We don't need to see if the last run can be merged with a trailing
|
||||
* WS run because setTrailingWSStart() would have done that.
|
||||
*/
|
||||
if (runCount == 1 && limit == length) {
|
||||
/* There is only one non-WS run and no trailing WS-run. */
|
||||
getSingleRun(bidiBase, levels[0]);
|
||||
} else /* runCount>1 || limit<length */ {
|
||||
/* allocate and set the runs */
|
||||
BidiRun[] runs;
|
||||
int runIndex, start;
|
||||
byte minLevel = BidiBase.MAX_EXPLICIT_LEVEL + 1;
|
||||
byte maxLevel=0;
|
||||
|
||||
/* now, count a (non-mergeable) WS run */
|
||||
if (limit < length) {
|
||||
++runCount;
|
||||
}
|
||||
|
||||
/* runCount > 1 */
|
||||
bidiBase.getRunsMemory(runCount);
|
||||
runs = bidiBase.runsMemory;
|
||||
|
||||
/* set the runs */
|
||||
/* FOOD FOR THOUGHT: this could be optimized, e.g.:
|
||||
* 464->444, 484->444, 575->555, 595->555
|
||||
* However, that would take longer. Check also how it would
|
||||
* interact with BiDi control removal and inserting Marks.
|
||||
*/
|
||||
runIndex = 0;
|
||||
|
||||
/* search for the run limits and initialize visualLimit values with the run lengths */
|
||||
i = 0;
|
||||
do {
|
||||
/* prepare this run */
|
||||
start = i;
|
||||
level = levels[i];
|
||||
if (level < minLevel) {
|
||||
minLevel = level;
|
||||
}
|
||||
if (level > maxLevel) {
|
||||
maxLevel = level;
|
||||
}
|
||||
|
||||
/* look for the run limit */
|
||||
while (++i < limit && levels[i] == level) {}
|
||||
|
||||
/* i is another run limit */
|
||||
runs[runIndex] = new BidiRun(start, i - start, level);
|
||||
++runIndex;
|
||||
} while (i < limit);
|
||||
|
||||
if (limit < length) {
|
||||
/* there is a separate WS run */
|
||||
runs[runIndex] = new BidiRun(limit, length - limit, bidiBase.paraLevel);
|
||||
/* For the trailing WS run, bidiBase.paraLevel is ok even
|
||||
if contextual multiple paragraphs. */
|
||||
if (bidiBase.paraLevel < minLevel) {
|
||||
minLevel = bidiBase.paraLevel;
|
||||
}
|
||||
}
|
||||
|
||||
/* set the object fields */
|
||||
bidiBase.runs = runs;
|
||||
bidiBase.runCount = runCount;
|
||||
|
||||
reorderLine(bidiBase, minLevel, maxLevel);
|
||||
|
||||
/* now add the direction flags and adjust the visualLimit's to be just that */
|
||||
/* this loop will also handle the trailing WS run */
|
||||
limit = 0;
|
||||
for (i = 0; i < runCount; ++i) {
|
||||
runs[i].level = levels[runs[i].start];
|
||||
limit = (runs[i].limit += limit);
|
||||
}
|
||||
|
||||
/* Set the embedding level for the trailing WS run. */
|
||||
/* For a RTL paragraph, it will be the *first* run in visual order. */
|
||||
/* For the trailing WS run, bidiBase.paraLevel is ok even if
|
||||
contextual multiple paragraphs. */
|
||||
if (runIndex < runCount) {
|
||||
int trailingRun = ((bidiBase.paraLevel & 1) != 0)? 0 : runIndex;
|
||||
runs[trailingRun].level = bidiBase.paraLevel;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* handle insert LRM/RLM BEFORE/AFTER run */
|
||||
if (bidiBase.insertPoints.size > 0) {
|
||||
BidiBase.Point point;
|
||||
int runIndex, ip;
|
||||
for (ip = 0; ip < bidiBase.insertPoints.size; ip++) {
|
||||
point = bidiBase.insertPoints.points[ip];
|
||||
runIndex = getRunFromLogicalIndex(bidiBase, point.pos);
|
||||
bidiBase.runs[runIndex].insertRemove |= point.flag;
|
||||
}
|
||||
}
|
||||
|
||||
/* handle remove BiDi control characters */
|
||||
if (bidiBase.controlCount > 0) {
|
||||
int runIndex, ic;
|
||||
char c;
|
||||
for (ic = 0; ic < bidiBase.length; ic++) {
|
||||
c = bidiBase.text[ic];
|
||||
if (BidiBase.IsBidiControlChar(c)) {
|
||||
runIndex = getRunFromLogicalIndex(bidiBase, ic);
|
||||
bidiBase.runs[runIndex].insertRemove--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int[] prepareReorder(byte[] levels, byte[] pMinLevel, byte[] pMaxLevel)
|
||||
{
|
||||
int start;
|
||||
byte level, minLevel, maxLevel;
|
||||
|
||||
if (levels == null || levels.length <= 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* determine minLevel and maxLevel */
|
||||
minLevel = BidiBase.MAX_EXPLICIT_LEVEL + 1;
|
||||
maxLevel = 0;
|
||||
for (start = levels.length; start>0; ) {
|
||||
level = levels[--start];
|
||||
if (level > BidiBase.MAX_EXPLICIT_LEVEL + 1) {
|
||||
return null;
|
||||
}
|
||||
if (level < minLevel) {
|
||||
minLevel = level;
|
||||
}
|
||||
if (level > maxLevel) {
|
||||
maxLevel = level;
|
||||
}
|
||||
}
|
||||
pMinLevel[0] = minLevel;
|
||||
pMaxLevel[0] = maxLevel;
|
||||
|
||||
/* initialize the index map */
|
||||
int[] indexMap = new int[levels.length];
|
||||
for (start = levels.length; start > 0; ) {
|
||||
--start;
|
||||
indexMap[start] = start;
|
||||
}
|
||||
|
||||
return indexMap;
|
||||
}
|
||||
|
||||
static int[] reorderVisual(byte[] levels)
|
||||
{
|
||||
byte[] aMinLevel = new byte[1];
|
||||
byte[] aMaxLevel = new byte[1];
|
||||
int start, end, limit, temp;
|
||||
byte minLevel, maxLevel;
|
||||
|
||||
int[] indexMap = prepareReorder(levels, aMinLevel, aMaxLevel);
|
||||
if (indexMap == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
minLevel = aMinLevel[0];
|
||||
maxLevel = aMaxLevel[0];
|
||||
|
||||
/* nothing to do? */
|
||||
if (minLevel == maxLevel && (minLevel & 1) == 0) {
|
||||
return indexMap;
|
||||
}
|
||||
|
||||
/* reorder only down to the lowest odd level */
|
||||
minLevel |= 1;
|
||||
|
||||
/* loop maxLevel..minLevel */
|
||||
do {
|
||||
start = 0;
|
||||
|
||||
/* loop for all sequences of levels to reorder at the current maxLevel */
|
||||
for ( ; ; ) {
|
||||
/* look for a sequence of levels that are all at >=maxLevel */
|
||||
/* look for the first index of such a sequence */
|
||||
while (start < levels.length && levels[start] < maxLevel) {
|
||||
++start;
|
||||
}
|
||||
if (start >= levels.length) {
|
||||
break; /* no more such runs */
|
||||
}
|
||||
|
||||
/* look for the limit of such a sequence (the index behind it) */
|
||||
for (limit = start; ++limit < levels.length && levels[limit] >= maxLevel; ) {}
|
||||
|
||||
/*
|
||||
* Swap the entire interval of indexes from start to limit-1.
|
||||
* We don't need to swap the levels for the purpose of this
|
||||
* algorithm: the sequence of levels that we look at does not
|
||||
* move anyway.
|
||||
*/
|
||||
end = limit - 1;
|
||||
while (start < end) {
|
||||
temp = indexMap[start];
|
||||
indexMap[start] = indexMap[end];
|
||||
indexMap[end] = temp;
|
||||
|
||||
++start;
|
||||
--end;
|
||||
}
|
||||
|
||||
if (limit == levels.length) {
|
||||
break; /* no more such sequences */
|
||||
} else {
|
||||
start = limit + 1;
|
||||
}
|
||||
}
|
||||
} while (--maxLevel >= minLevel);
|
||||
|
||||
return indexMap;
|
||||
}
|
||||
|
||||
static int[] getVisualMap(BidiBase bidiBase)
|
||||
{
|
||||
/* fill a visual-to-logical index map using the runs[] */
|
||||
BidiRun[] runs = bidiBase.runs;
|
||||
int logicalStart, visualStart, visualLimit;
|
||||
int allocLength = bidiBase.length > bidiBase.resultLength ? bidiBase.length
|
||||
: bidiBase.resultLength;
|
||||
int[] indexMap = new int[allocLength];
|
||||
|
||||
visualStart = 0;
|
||||
int idx = 0;
|
||||
for (int j = 0; j < bidiBase.runCount; ++j) {
|
||||
logicalStart = runs[j].start;
|
||||
visualLimit = runs[j].limit;
|
||||
if (runs[j].isEvenRun()) {
|
||||
do { /* LTR */
|
||||
indexMap[idx++] = logicalStart++;
|
||||
} while (++visualStart < visualLimit);
|
||||
} else {
|
||||
logicalStart += visualLimit - visualStart; /* logicalLimit */
|
||||
do { /* RTL */
|
||||
indexMap[idx++] = --logicalStart;
|
||||
} while (++visualStart < visualLimit);
|
||||
}
|
||||
/* visualStart==visualLimit; */
|
||||
}
|
||||
|
||||
if (bidiBase.insertPoints.size > 0) {
|
||||
int markFound = 0, runCount = bidiBase.runCount;
|
||||
int insertRemove, i, j, k;
|
||||
runs = bidiBase.runs;
|
||||
/* count all inserted marks */
|
||||
for (i = 0; i < runCount; i++) {
|
||||
insertRemove = runs[i].insertRemove;
|
||||
if ((insertRemove & (BidiBase.LRM_BEFORE|BidiBase.RLM_BEFORE)) > 0) {
|
||||
markFound++;
|
||||
}
|
||||
if ((insertRemove & (BidiBase.LRM_AFTER|BidiBase.RLM_AFTER)) > 0) {
|
||||
markFound++;
|
||||
}
|
||||
}
|
||||
/* move back indexes by number of preceding marks */
|
||||
k = bidiBase.resultLength;
|
||||
for (i = runCount - 1; i >= 0 && markFound > 0; i--) {
|
||||
insertRemove = runs[i].insertRemove;
|
||||
if ((insertRemove & (BidiBase.LRM_AFTER|BidiBase.RLM_AFTER)) > 0) {
|
||||
indexMap[--k] = BidiBase.MAP_NOWHERE;
|
||||
markFound--;
|
||||
}
|
||||
visualStart = i > 0 ? runs[i-1].limit : 0;
|
||||
for (j = runs[i].limit - 1; j >= visualStart && markFound > 0; j--) {
|
||||
indexMap[--k] = indexMap[j];
|
||||
}
|
||||
if ((insertRemove & (BidiBase.LRM_BEFORE|BidiBase.RLM_BEFORE)) > 0) {
|
||||
indexMap[--k] = BidiBase.MAP_NOWHERE;
|
||||
markFound--;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (bidiBase.controlCount > 0) {
|
||||
int runCount = bidiBase.runCount, logicalEnd;
|
||||
int insertRemove, length, i, j, k, m;
|
||||
char uchar;
|
||||
boolean evenRun;
|
||||
runs = bidiBase.runs;
|
||||
visualStart = 0;
|
||||
/* move forward indexes by number of preceding controls */
|
||||
k = 0;
|
||||
for (i = 0; i < runCount; i++, visualStart += length) {
|
||||
length = runs[i].limit - visualStart;
|
||||
insertRemove = runs[i].insertRemove;
|
||||
/* if no control found yet, nothing to do in this run */
|
||||
if ((insertRemove == 0) && (k == visualStart)) {
|
||||
k += length;
|
||||
continue;
|
||||
}
|
||||
/* if no control in this run */
|
||||
if (insertRemove == 0) {
|
||||
visualLimit = runs[i].limit;
|
||||
for (j = visualStart; j < visualLimit; j++) {
|
||||
indexMap[k++] = indexMap[j];
|
||||
}
|
||||
continue;
|
||||
}
|
||||
logicalStart = runs[i].start;
|
||||
evenRun = runs[i].isEvenRun();
|
||||
logicalEnd = logicalStart + length - 1;
|
||||
for (j = 0; j < length; j++) {
|
||||
m = evenRun ? logicalStart + j : logicalEnd - j;
|
||||
uchar = bidiBase.text[m];
|
||||
if (!BidiBase.IsBidiControlChar(uchar)) {
|
||||
indexMap[k++] = m;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (allocLength == bidiBase.resultLength) {
|
||||
return indexMap;
|
||||
}
|
||||
int[] newMap = new int[bidiBase.resultLength];
|
||||
System.arraycopy(indexMap, 0, newMap, 0, bidiBase.resultLength);
|
||||
return newMap;
|
||||
}
|
||||
|
||||
}
|
||||
124
jdkSrc/jdk8/sun/text/bidi/BidiRun.java
Normal file
124
jdkSrc/jdk8/sun/text/bidi/BidiRun.java
Normal file
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
/* Written by Simon Montagu, Matitiahu Allouche
|
||||
* (ported from C code written by Markus W. Scherer)
|
||||
*/
|
||||
|
||||
package sun.text.bidi;
|
||||
|
||||
/**
|
||||
* A BidiRun represents a sequence of characters at the same embedding level.
|
||||
* The Bidi algorithm decomposes a piece of text into sequences of characters
|
||||
* at the same embedding level, each such sequence is called a <quote>run</quote>.
|
||||
*
|
||||
* <p>A BidiRun represents such a run by storing its essential properties,
|
||||
* but does not duplicate the characters which form the run.
|
||||
*
|
||||
* <p>The "limit" of the run is the position just after the
|
||||
* last character, i.e., one more than that position.
|
||||
*
|
||||
* <p>This class has no public constructor, and its members cannot be
|
||||
* modified by users.
|
||||
*
|
||||
* @see com.ibm.icu.text.Bidi
|
||||
*/
|
||||
public class BidiRun {
|
||||
|
||||
int start; /* first logical position of the run */
|
||||
int limit; /* last visual position of the run +1 */
|
||||
int insertRemove; /* if >0, flags for inserting LRM/RLM before/after run,
|
||||
if <0, count of bidi controls within run */
|
||||
byte level;
|
||||
|
||||
/*
|
||||
* Default constructor
|
||||
*
|
||||
* Note that members start and limit of a run instance have different
|
||||
* meanings depending whether the run is part of the runs array of a Bidi
|
||||
* object, or if it is a reference returned by getVisualRun() or
|
||||
* getLogicalRun().
|
||||
* For a member of the runs array of a Bidi object,
|
||||
* - start is the first logical position of the run in the source text.
|
||||
* - limit is one after the last visual position of the run.
|
||||
* For a reference returned by getLogicalRun() or getVisualRun(),
|
||||
* - start is the first logical position of the run in the source text.
|
||||
* - limit is one after the last logical position of the run.
|
||||
*/
|
||||
BidiRun()
|
||||
{
|
||||
this(0, 0, (byte)0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Constructor
|
||||
*/
|
||||
BidiRun(int start, int limit, byte embeddingLevel)
|
||||
{
|
||||
this.start = start;
|
||||
this.limit = limit;
|
||||
this.level = embeddingLevel;
|
||||
}
|
||||
|
||||
/*
|
||||
* Copy the content of a BidiRun instance
|
||||
*/
|
||||
void copyFrom(BidiRun run)
|
||||
{
|
||||
this.start = run.start;
|
||||
this.limit = run.limit;
|
||||
this.level = run.level;
|
||||
this.insertRemove = run.insertRemove;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get level of run
|
||||
*/
|
||||
public byte getEmbeddingLevel()
|
||||
{
|
||||
return level;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if run level is even
|
||||
* @return true if the embedding level of this run is even, i.e. it is a
|
||||
* left-to-right run.
|
||||
*/
|
||||
boolean isEvenRun()
|
||||
{
|
||||
return (level & 1) == 0;
|
||||
}
|
||||
|
||||
}
|
||||
349
jdkSrc/jdk8/sun/text/normalizer/CharTrie.java
Normal file
349
jdkSrc/jdk8/sun/text/normalizer/CharTrie.java
Normal file
@@ -0,0 +1,349 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Trie implementation which stores data in char, 16 bits.
|
||||
* @author synwee
|
||||
* @see com.ibm.icu.impl.Trie
|
||||
* @since release 2.1, Jan 01 2002
|
||||
*/
|
||||
|
||||
// note that i need to handle the block calculations later, since chartrie
|
||||
// in icu4c uses the same index array.
|
||||
public class CharTrie extends Trie
|
||||
{
|
||||
// public constructors ---------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Creates a new Trie with the settings for the trie data.</p>
|
||||
* <p>Unserialize the 32-bit-aligned input stream and use the data for the
|
||||
* trie.</p>
|
||||
* @param inputStream file input stream to a ICU data file, containing
|
||||
* the trie
|
||||
* @param dataManipulate object which provides methods to parse the char
|
||||
* data
|
||||
* @throws IOException thrown when data reading fails
|
||||
* @draft 2.1
|
||||
*/
|
||||
public CharTrie(InputStream inputStream,
|
||||
DataManipulate dataManipulate) throws IOException
|
||||
{
|
||||
super(inputStream, dataManipulate);
|
||||
|
||||
if (!isCharTrie()) {
|
||||
throw new IllegalArgumentException(
|
||||
"Data given does not belong to a char trie.");
|
||||
}
|
||||
m_friendAgent_ = new FriendAgent();
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a dummy CharTrie.
|
||||
* A dummy trie is an empty runtime trie, used when a real data trie cannot
|
||||
* be loaded.
|
||||
*
|
||||
* The trie always returns the initialValue,
|
||||
* or the leadUnitValue for lead surrogate code points.
|
||||
* The Latin-1 part is always set up to be linear.
|
||||
*
|
||||
* @param initialValue the initial value that is set for all code points
|
||||
* @param leadUnitValue the value for lead surrogate code _units_ that do not
|
||||
* have associated supplementary data
|
||||
* @param dataManipulate object which provides methods to parse the char data
|
||||
*/
|
||||
public CharTrie(int initialValue, int leadUnitValue, DataManipulate dataManipulate) {
|
||||
super(new char[BMP_INDEX_LENGTH+SURROGATE_BLOCK_COUNT], HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_, dataManipulate);
|
||||
|
||||
int dataLength, latin1Length, i, limit;
|
||||
char block;
|
||||
|
||||
/* calculate the actual size of the dummy trie data */
|
||||
|
||||
/* max(Latin-1, block 0) */
|
||||
dataLength=latin1Length= INDEX_STAGE_1_SHIFT_<=8 ? 256 : DATA_BLOCK_LENGTH;
|
||||
if(leadUnitValue!=initialValue) {
|
||||
dataLength+=DATA_BLOCK_LENGTH;
|
||||
}
|
||||
m_data_=new char[dataLength];
|
||||
m_dataLength_=dataLength;
|
||||
|
||||
m_initialValue_=(char)initialValue;
|
||||
|
||||
/* fill the index and data arrays */
|
||||
|
||||
/* indexes are preset to 0 (block 0) */
|
||||
|
||||
/* Latin-1 data */
|
||||
for(i=0; i<latin1Length; ++i) {
|
||||
m_data_[i]=(char)initialValue;
|
||||
}
|
||||
|
||||
if(leadUnitValue!=initialValue) {
|
||||
/* indexes for lead surrogate code units to the block after Latin-1 */
|
||||
block=(char)(latin1Length>>INDEX_STAGE_2_SHIFT_);
|
||||
i=0xd800>>INDEX_STAGE_1_SHIFT_;
|
||||
limit=0xdc00>>INDEX_STAGE_1_SHIFT_;
|
||||
for(; i<limit; ++i) {
|
||||
m_index_[i]=block;
|
||||
}
|
||||
|
||||
/* data for lead surrogate code units */
|
||||
limit=latin1Length+DATA_BLOCK_LENGTH;
|
||||
for(i=latin1Length; i<limit; ++i) {
|
||||
m_data_[i]=(char)leadUnitValue;
|
||||
}
|
||||
}
|
||||
|
||||
m_friendAgent_ = new FriendAgent();
|
||||
}
|
||||
|
||||
/**
|
||||
* Java friend implementation
|
||||
*/
|
||||
public class FriendAgent
|
||||
{
|
||||
/**
|
||||
* Gives out the index array of the trie
|
||||
* @return index array of trie
|
||||
*/
|
||||
public char[] getPrivateIndex()
|
||||
{
|
||||
return m_index_;
|
||||
}
|
||||
/**
|
||||
* Gives out the data array of the trie
|
||||
* @return data array of trie
|
||||
*/
|
||||
public char[] getPrivateData()
|
||||
{
|
||||
return m_data_;
|
||||
}
|
||||
/**
|
||||
* Gives out the data offset in the trie
|
||||
* @return data offset in the trie
|
||||
*/
|
||||
public int getPrivateInitialValue()
|
||||
{
|
||||
return m_initialValue_;
|
||||
}
|
||||
}
|
||||
|
||||
// public methods --------------------------------------------------
|
||||
|
||||
/**
|
||||
* Java friend implementation
|
||||
* To store the index and data array into the argument.
|
||||
* @param friend java friend UCharacterProperty object to store the array
|
||||
*/
|
||||
public void putIndexData(UCharacterProperty friend)
|
||||
{
|
||||
friend.setIndexData(m_friendAgent_);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value associated with the codepoint.
|
||||
* If no value is associated with the codepoint, a default value will be
|
||||
* returned.
|
||||
* @param ch codepoint
|
||||
* @return offset to data
|
||||
* @draft 2.1
|
||||
*/
|
||||
public final char getCodePointValue(int ch)
|
||||
{
|
||||
int offset;
|
||||
|
||||
// fastpath for U+0000..U+D7FF
|
||||
if(0 <= ch && ch < UTF16.LEAD_SURROGATE_MIN_VALUE) {
|
||||
// copy of getRawOffset()
|
||||
offset = (m_index_[ch >> INDEX_STAGE_1_SHIFT_] << INDEX_STAGE_2_SHIFT_)
|
||||
+ (ch & INDEX_STAGE_3_MASK_);
|
||||
return m_data_[offset];
|
||||
}
|
||||
|
||||
// handle U+D800..U+10FFFF
|
||||
offset = getCodePointOffset(ch);
|
||||
|
||||
// return -1 if there is an error, in this case we return the default
|
||||
// value: m_initialValue_
|
||||
return (offset >= 0) ? m_data_[offset] : m_initialValue_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value to the data which this lead surrogate character points
|
||||
* to.
|
||||
* Returned data may contain folding offset information for the next
|
||||
* trailing surrogate character.
|
||||
* This method does not guarantee correct results for trail surrogates.
|
||||
* @param ch lead surrogate character
|
||||
* @return data value
|
||||
* @draft 2.1
|
||||
*/
|
||||
public final char getLeadValue(char ch)
|
||||
{
|
||||
return m_data_[getLeadOffset(ch)];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value associated with a pair of surrogates.
|
||||
* @param lead a lead surrogate
|
||||
* @param trail a trail surrogate
|
||||
* @draft 2.1
|
||||
*/
|
||||
public final char getSurrogateValue(char lead, char trail)
|
||||
{
|
||||
int offset = getSurrogateOffset(lead, trail);
|
||||
if (offset > 0) {
|
||||
return m_data_[offset];
|
||||
}
|
||||
return m_initialValue_;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Get a value from a folding offset (from the value of a lead surrogate)
|
||||
* and a trail surrogate.</p>
|
||||
* <p>If the
|
||||
* @param leadvalue value associated with the lead surrogate which contains
|
||||
* the folding offset
|
||||
* @param trail surrogate
|
||||
* @return trie data value associated with the trail character
|
||||
* @draft 2.1
|
||||
*/
|
||||
public final char getTrailValue(int leadvalue, char trail)
|
||||
{
|
||||
if (m_dataManipulate_ == null) {
|
||||
throw new NullPointerException(
|
||||
"The field DataManipulate in this Trie is null");
|
||||
}
|
||||
int offset = m_dataManipulate_.getFoldingOffset(leadvalue);
|
||||
if (offset > 0) {
|
||||
return m_data_[getRawOffset(offset,
|
||||
(char)(trail & SURROGATE_MASK_))];
|
||||
}
|
||||
return m_initialValue_;
|
||||
}
|
||||
|
||||
// protected methods -----------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Parses the input stream and stores its trie content into a index and
|
||||
* data array</p>
|
||||
* @param inputStream data input stream containing trie data
|
||||
* @exception IOException thrown when data reading fails
|
||||
*/
|
||||
protected final void unserialize(InputStream inputStream)
|
||||
throws IOException
|
||||
{
|
||||
DataInputStream input = new DataInputStream(inputStream);
|
||||
int indexDataLength = m_dataOffset_ + m_dataLength_;
|
||||
m_index_ = new char[indexDataLength];
|
||||
for (int i = 0; i < indexDataLength; i ++) {
|
||||
m_index_[i] = input.readChar();
|
||||
}
|
||||
m_data_ = m_index_;
|
||||
m_initialValue_ = m_data_[m_dataOffset_];
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the offset to the data which the surrogate pair points to.
|
||||
* @param lead lead surrogate
|
||||
* @param trail trailing surrogate
|
||||
* @return offset to data
|
||||
* @draft 2.1
|
||||
*/
|
||||
protected final int getSurrogateOffset(char lead, char trail)
|
||||
{
|
||||
if (m_dataManipulate_ == null) {
|
||||
throw new NullPointerException(
|
||||
"The field DataManipulate in this Trie is null");
|
||||
}
|
||||
|
||||
// get fold position for the next trail surrogate
|
||||
int offset = m_dataManipulate_.getFoldingOffset(getLeadValue(lead));
|
||||
|
||||
// get the real data from the folded lead/trail units
|
||||
if (offset > 0) {
|
||||
return getRawOffset(offset, (char)(trail & SURROGATE_MASK_));
|
||||
}
|
||||
|
||||
// return -1 if there is an error, in this case we return the default
|
||||
// value: m_initialValue_
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value at the argument index.
|
||||
* For use internally in TrieIterator.
|
||||
* @param index value at index will be retrieved
|
||||
* @return 32 bit value
|
||||
* @see com.ibm.icu.impl.TrieIterator
|
||||
* @draft 2.1
|
||||
*/
|
||||
protected final int getValue(int index)
|
||||
{
|
||||
return m_data_[index];
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the default initial value
|
||||
* @return 32 bit value
|
||||
* @draft 2.1
|
||||
*/
|
||||
protected final int getInitialValue()
|
||||
{
|
||||
return m_initialValue_;
|
||||
}
|
||||
|
||||
// private data members --------------------------------------------
|
||||
|
||||
/**
|
||||
* Default value
|
||||
*/
|
||||
private char m_initialValue_;
|
||||
/**
|
||||
* Array of char data
|
||||
*/
|
||||
private char m_data_[];
|
||||
/**
|
||||
* Agent for friends
|
||||
*/
|
||||
private FriendAgent m_friendAgent_;
|
||||
}
|
||||
146
jdkSrc/jdk8/sun/text/normalizer/CharacterIteratorWrapper.java
Normal file
146
jdkSrc/jdk8/sun/text/normalizer/CharacterIteratorWrapper.java
Normal file
@@ -0,0 +1,146 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.text.CharacterIterator;
|
||||
|
||||
/**
|
||||
* This class is a wrapper around CharacterIterator and implements the
|
||||
* UCharacterIterator protocol
|
||||
* @author ram
|
||||
*/
|
||||
|
||||
public class CharacterIteratorWrapper extends UCharacterIterator {
|
||||
|
||||
private CharacterIterator iterator;
|
||||
|
||||
public CharacterIteratorWrapper(CharacterIterator iter){
|
||||
if(iter==null){
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
iterator = iter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see UCharacterIterator#current()
|
||||
*/
|
||||
public int current() {
|
||||
int c = iterator.current();
|
||||
if(c==CharacterIterator.DONE){
|
||||
return DONE;
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see UCharacterIterator#getLength()
|
||||
*/
|
||||
public int getLength() {
|
||||
return (iterator.getEndIndex() - iterator.getBeginIndex());
|
||||
}
|
||||
|
||||
/**
|
||||
* @see UCharacterIterator#getIndex()
|
||||
*/
|
||||
public int getIndex() {
|
||||
return iterator.getIndex();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see UCharacterIterator#next()
|
||||
*/
|
||||
public int next() {
|
||||
int i = iterator.current();
|
||||
iterator.next();
|
||||
if(i==CharacterIterator.DONE){
|
||||
return DONE;
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see UCharacterIterator#previous()
|
||||
*/
|
||||
public int previous() {
|
||||
int i = iterator.previous();
|
||||
if(i==CharacterIterator.DONE){
|
||||
return DONE;
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see UCharacterIterator#setIndex(int)
|
||||
*/
|
||||
public void setIndex(int index) {
|
||||
iterator.setIndex(index);
|
||||
}
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* @see UCharacterIterator#getText(char[])
|
||||
*/
|
||||
public int getText(char[] fillIn, int offset){
|
||||
int length =iterator.getEndIndex() - iterator.getBeginIndex();
|
||||
int currentIndex = iterator.getIndex();
|
||||
if(offset < 0 || offset + length > fillIn.length){
|
||||
throw new IndexOutOfBoundsException(Integer.toString(length));
|
||||
}
|
||||
|
||||
for (char ch = iterator.first(); ch != CharacterIterator.DONE; ch = iterator.next()) {
|
||||
fillIn[offset++] = ch;
|
||||
}
|
||||
iterator.setIndex(currentIndex);
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a clone of this iterator. Clones the underlying character iterator.
|
||||
* @see UCharacterIterator#clone()
|
||||
*/
|
||||
public Object clone(){
|
||||
try {
|
||||
CharacterIteratorWrapper result = (CharacterIteratorWrapper) super.clone();
|
||||
result.iterator = (CharacterIterator)this.iterator.clone();
|
||||
return result;
|
||||
} catch (CloneNotSupportedException e) {
|
||||
return null; // only invoked if bad underlying character iterator
|
||||
}
|
||||
}
|
||||
}
|
||||
189
jdkSrc/jdk8/sun/text/normalizer/ICUBinary.java
Normal file
189
jdkSrc/jdk8/sun/text/normalizer/ICUBinary.java
Normal file
@@ -0,0 +1,189 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
public final class ICUBinary
|
||||
{
|
||||
// public inner interface ------------------------------------------------
|
||||
|
||||
/**
|
||||
* Special interface for data authentication
|
||||
*/
|
||||
public static interface Authenticate
|
||||
{
|
||||
/**
|
||||
* Method used in ICUBinary.readHeader() to provide data format
|
||||
* authentication.
|
||||
* @param version version of the current data
|
||||
* @return true if dataformat is an acceptable version, false otherwise
|
||||
*/
|
||||
public boolean isDataVersionAcceptable(byte version[]);
|
||||
}
|
||||
|
||||
// public methods --------------------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>ICU data header reader method.
|
||||
* Takes a ICU generated big-endian input stream, parse the ICU standard
|
||||
* file header and authenticates them.</p>
|
||||
* <p>Header format:
|
||||
* <ul>
|
||||
* <li> Header size (char)
|
||||
* <li> Magic number 1 (byte)
|
||||
* <li> Magic number 2 (byte)
|
||||
* <li> Rest of the header size (char)
|
||||
* <li> Reserved word (char)
|
||||
* <li> Big endian indicator (byte)
|
||||
* <li> Character set family indicator (byte)
|
||||
* <li> Size of a char (byte) for c++ and c use
|
||||
* <li> Reserved byte (byte)
|
||||
* <li> Data format identifier (4 bytes), each ICU data has its own
|
||||
* identifier to distinguish them. [0] major [1] minor
|
||||
* [2] milli [3] micro
|
||||
* <li> Data version (4 bytes), the change version of the ICU data
|
||||
* [0] major [1] minor [2] milli [3] micro
|
||||
* <li> Unicode version (4 bytes) this ICU is based on.
|
||||
* </ul>
|
||||
* </p>
|
||||
* <p>
|
||||
* Example of use:<br>
|
||||
* <pre>
|
||||
* try {
|
||||
* FileInputStream input = new FileInputStream(filename);
|
||||
* If (Utility.readICUDataHeader(input, dataformat, dataversion,
|
||||
* unicode) {
|
||||
* System.out.println("Verified file header, this is a ICU data file");
|
||||
* }
|
||||
* } catch (IOException e) {
|
||||
* System.out.println("This is not a ICU data file");
|
||||
* }
|
||||
* </pre>
|
||||
* </p>
|
||||
* @param inputStream input stream that contains the ICU data header
|
||||
* @param dataFormatIDExpected Data format expected. An array of 4 bytes
|
||||
* information about the data format.
|
||||
* E.g. data format ID 1.2.3.4. will became an array of
|
||||
* {1, 2, 3, 4}
|
||||
* @param authenticate user defined extra data authentication. This value
|
||||
* can be null, if no extra authentication is needed.
|
||||
* @exception IOException thrown if there is a read error or
|
||||
* when header authentication fails.
|
||||
* @draft 2.1
|
||||
*/
|
||||
public static final byte[] readHeader(InputStream inputStream,
|
||||
byte dataFormatIDExpected[],
|
||||
Authenticate authenticate)
|
||||
throws IOException
|
||||
{
|
||||
DataInputStream input = new DataInputStream(inputStream);
|
||||
char headersize = input.readChar();
|
||||
int readcount = 2;
|
||||
//reading the header format
|
||||
byte magic1 = input.readByte();
|
||||
readcount ++;
|
||||
byte magic2 = input.readByte();
|
||||
readcount ++;
|
||||
if (magic1 != MAGIC1 || magic2 != MAGIC2) {
|
||||
throw new IOException(MAGIC_NUMBER_AUTHENTICATION_FAILED_);
|
||||
}
|
||||
|
||||
input.readChar(); // reading size
|
||||
readcount += 2;
|
||||
input.readChar(); // reading reserved word
|
||||
readcount += 2;
|
||||
byte bigendian = input.readByte();
|
||||
readcount ++;
|
||||
byte charset = input.readByte();
|
||||
readcount ++;
|
||||
byte charsize = input.readByte();
|
||||
readcount ++;
|
||||
input.readByte(); // reading reserved byte
|
||||
readcount ++;
|
||||
|
||||
byte dataFormatID[] = new byte[4];
|
||||
input.readFully(dataFormatID);
|
||||
readcount += 4;
|
||||
byte dataVersion[] = new byte[4];
|
||||
input.readFully(dataVersion);
|
||||
readcount += 4;
|
||||
byte unicodeVersion[] = new byte[4];
|
||||
input.readFully(unicodeVersion);
|
||||
readcount += 4;
|
||||
if (headersize < readcount) {
|
||||
throw new IOException("Internal Error: Header size error");
|
||||
}
|
||||
input.skipBytes(headersize - readcount);
|
||||
|
||||
if (bigendian != BIG_ENDIAN_ || charset != CHAR_SET_
|
||||
|| charsize != CHAR_SIZE_
|
||||
|| !Arrays.equals(dataFormatIDExpected, dataFormatID)
|
||||
|| (authenticate != null
|
||||
&& !authenticate.isDataVersionAcceptable(dataVersion))) {
|
||||
throw new IOException(HEADER_AUTHENTICATION_FAILED_);
|
||||
}
|
||||
return unicodeVersion;
|
||||
}
|
||||
|
||||
// private variables -------------------------------------------------
|
||||
|
||||
/**
|
||||
* Magic numbers to authenticate the data file
|
||||
*/
|
||||
private static final byte MAGIC1 = (byte)0xda;
|
||||
private static final byte MAGIC2 = (byte)0x27;
|
||||
|
||||
/**
|
||||
* File format authentication values
|
||||
*/
|
||||
private static final byte BIG_ENDIAN_ = 1;
|
||||
private static final byte CHAR_SET_ = 0;
|
||||
private static final byte CHAR_SIZE_ = 2;
|
||||
|
||||
/**
|
||||
* Error messages
|
||||
*/
|
||||
private static final String MAGIC_NUMBER_AUTHENTICATION_FAILED_ =
|
||||
"ICU data file error: Not an ICU data file";
|
||||
private static final String HEADER_AUTHENTICATION_FAILED_ =
|
||||
"ICU data file error: Header authentication failed, please check if you have a valid ICU data file";
|
||||
}
|
||||
83
jdkSrc/jdk8/sun/text/normalizer/ICUData.java
Normal file
83
jdkSrc/jdk8/sun/text/normalizer/ICUData.java
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.util.MissingResourceException;
|
||||
|
||||
/**
|
||||
* Provides access to ICU data files as InputStreams. Implements security checking.
|
||||
*/
|
||||
public final class ICUData {
|
||||
|
||||
private static InputStream getStream(final Class<ICUData> root, final String resourceName, boolean required) {
|
||||
InputStream i = null;
|
||||
|
||||
if (System.getSecurityManager() != null) {
|
||||
i = AccessController.doPrivileged(new PrivilegedAction<InputStream>() {
|
||||
public InputStream run() {
|
||||
return root.getResourceAsStream(resourceName);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
i = root.getResourceAsStream(resourceName);
|
||||
}
|
||||
|
||||
if (i == null && required) {
|
||||
throw new MissingResourceException("could not locate data", root.getPackage().getName(), resourceName);
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
/*
|
||||
* Convenience override that calls getStream(ICUData.class, resourceName, false);
|
||||
*/
|
||||
public static InputStream getStream(String resourceName) {
|
||||
return getStream(ICUData.class, resourceName, false);
|
||||
}
|
||||
|
||||
/*
|
||||
* Convenience method that calls getStream(ICUData.class, resourceName, true).
|
||||
*/
|
||||
public static InputStream getRequiredStream(String resourceName) {
|
||||
return getStream(ICUData.class, resourceName, true);
|
||||
}
|
||||
}
|
||||
229
jdkSrc/jdk8/sun/text/normalizer/IntTrie.java
Normal file
229
jdkSrc/jdk8/sun/text/normalizer/IntTrie.java
Normal file
@@ -0,0 +1,229 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Trie implementation which stores data in int, 32 bits.
|
||||
* @author synwee
|
||||
* @see com.ibm.icu.impl.Trie
|
||||
* @since release 2.1, Jan 01 2002
|
||||
*/
|
||||
public class IntTrie extends Trie
|
||||
{
|
||||
// public constructors ---------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Creates a new Trie with the settings for the trie data.</p>
|
||||
* <p>Unserialize the 32-bit-aligned input stream and use the data for the
|
||||
* trie.</p>
|
||||
* @param inputStream file input stream to a ICU data file, containing
|
||||
* the trie
|
||||
* @param dataManipulate object which provides methods to parse the char
|
||||
* data
|
||||
* @throws IOException thrown when data reading fails
|
||||
* @draft 2.1
|
||||
*/
|
||||
public IntTrie(InputStream inputStream, DataManipulate datamanipulate)
|
||||
throws IOException
|
||||
{
|
||||
super(inputStream, datamanipulate);
|
||||
if (!isIntTrie()) {
|
||||
throw new IllegalArgumentException(
|
||||
"Data given does not belong to a int trie.");
|
||||
}
|
||||
}
|
||||
|
||||
// public methods --------------------------------------------------
|
||||
|
||||
/**
|
||||
* Gets the value associated with the codepoint.
|
||||
* If no value is associated with the codepoint, a default value will be
|
||||
* returned.
|
||||
* @param ch codepoint
|
||||
* @return offset to data
|
||||
* @draft 2.1
|
||||
*/
|
||||
public final int getCodePointValue(int ch)
|
||||
{
|
||||
int offset = getCodePointOffset(ch);
|
||||
return (offset >= 0) ? m_data_[offset] : m_initialValue_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value to the data which this lead surrogate character points
|
||||
* to.
|
||||
* Returned data may contain folding offset information for the next
|
||||
* trailing surrogate character.
|
||||
* This method does not guarantee correct results for trail surrogates.
|
||||
* @param ch lead surrogate character
|
||||
* @return data value
|
||||
* @draft 2.1
|
||||
*/
|
||||
public final int getLeadValue(char ch)
|
||||
{
|
||||
return m_data_[getLeadOffset(ch)];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a value from a folding offset (from the value of a lead surrogate)
|
||||
* and a trail surrogate.
|
||||
* @param leadvalue the value of a lead surrogate that contains the
|
||||
* folding offset
|
||||
* @param trail surrogate
|
||||
* @return trie data value associated with the trail character
|
||||
* @draft 2.1
|
||||
*/
|
||||
public final int getTrailValue(int leadvalue, char trail)
|
||||
{
|
||||
if (m_dataManipulate_ == null) {
|
||||
throw new NullPointerException(
|
||||
"The field DataManipulate in this Trie is null");
|
||||
}
|
||||
int offset = m_dataManipulate_.getFoldingOffset(leadvalue);
|
||||
if (offset > 0) {
|
||||
return m_data_[getRawOffset(offset,
|
||||
(char)(trail & SURROGATE_MASK_))];
|
||||
}
|
||||
return m_initialValue_;
|
||||
}
|
||||
|
||||
// protected methods -----------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Parses the input stream and stores its trie content into a index and
|
||||
* data array</p>
|
||||
* @param inputStream data input stream containing trie data
|
||||
* @exception IOException thrown when data reading fails
|
||||
*/
|
||||
protected final void unserialize(InputStream inputStream)
|
||||
throws IOException
|
||||
{
|
||||
super.unserialize(inputStream);
|
||||
// one used for initial value
|
||||
m_data_ = new int[m_dataLength_];
|
||||
DataInputStream input = new DataInputStream(inputStream);
|
||||
for (int i = 0; i < m_dataLength_; i ++) {
|
||||
m_data_[i] = input.readInt();
|
||||
}
|
||||
m_initialValue_ = m_data_[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the offset to the data which the surrogate pair points to.
|
||||
* @param lead lead surrogate
|
||||
* @param trail trailing surrogate
|
||||
* @return offset to data
|
||||
* @draft 2.1
|
||||
*/
|
||||
protected final int getSurrogateOffset(char lead, char trail)
|
||||
{
|
||||
if (m_dataManipulate_ == null) {
|
||||
throw new NullPointerException(
|
||||
"The field DataManipulate in this Trie is null");
|
||||
}
|
||||
// get fold position for the next trail surrogate
|
||||
int offset = m_dataManipulate_.getFoldingOffset(getLeadValue(lead));
|
||||
|
||||
// get the real data from the folded lead/trail units
|
||||
if (offset > 0) {
|
||||
return getRawOffset(offset, (char)(trail & SURROGATE_MASK_));
|
||||
}
|
||||
|
||||
// return -1 if there is an error, in this case we return the default
|
||||
// value: m_initialValue_
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value at the argument index.
|
||||
* For use internally in TrieIterator
|
||||
* @param index value at index will be retrieved
|
||||
* @return 32 bit value
|
||||
* @see com.ibm.icu.impl.TrieIterator
|
||||
* @draft 2.1
|
||||
*/
|
||||
protected final int getValue(int index)
|
||||
{
|
||||
return m_data_[index];
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the default initial value
|
||||
* @return 32 bit value
|
||||
* @draft 2.1
|
||||
*/
|
||||
protected final int getInitialValue()
|
||||
{
|
||||
return m_initialValue_;
|
||||
}
|
||||
|
||||
// package private methods -----------------------------------------
|
||||
|
||||
/**
|
||||
* Internal constructor for builder use
|
||||
* @param index the index array to be slotted into this trie
|
||||
* @param data the data array to be slotted into this trie
|
||||
* @param initialvalue the initial value for this trie
|
||||
* @param options trie options to use
|
||||
* @param datamanipulate folding implementation
|
||||
*/
|
||||
IntTrie(char index[], int data[], int initialvalue, int options,
|
||||
DataManipulate datamanipulate)
|
||||
{
|
||||
super(index, options, datamanipulate);
|
||||
m_data_ = data;
|
||||
m_dataLength_ = m_data_.length;
|
||||
m_initialValue_ = initialvalue;
|
||||
}
|
||||
|
||||
// private data members --------------------------------------------
|
||||
|
||||
/**
|
||||
* Default value
|
||||
*/
|
||||
private int m_initialValue_;
|
||||
/**
|
||||
* Array of char data
|
||||
*/
|
||||
private int m_data_[];
|
||||
}
|
||||
1683
jdkSrc/jdk8/sun/text/normalizer/NormalizerBase.java
Normal file
1683
jdkSrc/jdk8/sun/text/normalizer/NormalizerBase.java
Normal file
File diff suppressed because it is too large
Load Diff
389
jdkSrc/jdk8/sun/text/normalizer/NormalizerDataReader.java
Normal file
389
jdkSrc/jdk8/sun/text/normalizer/NormalizerDataReader.java
Normal file
@@ -0,0 +1,389 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author Ram Viswanadha
|
||||
*/
|
||||
|
||||
/*
|
||||
* Description of the format of unorm.icu version 2.1.
|
||||
*
|
||||
* Main change from version 1 to version 2:
|
||||
* Use of new, common Trie instead of normalization-specific tries.
|
||||
* Change to version 2.1: add third/auxiliary trie with associated data.
|
||||
*
|
||||
* For more details of how to use the data structures see the code
|
||||
* in unorm.cpp (runtime normalization code) and
|
||||
* in gennorm.c and gennorm/store.c (build-time data generation).
|
||||
*
|
||||
* For the serialized format of Trie see Trie.c/TrieHeader.
|
||||
*
|
||||
* - Overall partition
|
||||
*
|
||||
* unorm.icu customarily begins with a UDataInfo structure, see udata.h and .c.
|
||||
* After that there are the following structures:
|
||||
*
|
||||
* char indexes[INDEX_TOP]; -- INDEX_TOP=32, see enum in this file
|
||||
*
|
||||
* Trie normTrie; -- size in bytes=indexes[INDEX_TRIE_SIZE]
|
||||
*
|
||||
* char extraData[extraDataTop]; -- extraDataTop=indexes[INDEX_UCHAR_COUNT]
|
||||
* extraData[0] contains the number of units for
|
||||
* FC_NFKC_Closure (formatVersion>=2.1)
|
||||
*
|
||||
* char combiningTable[combiningTableTop]; -- combiningTableTop=indexes[INDEX_COMBINE_DATA_COUNT]
|
||||
* combiningTableTop may include one 16-bit padding unit
|
||||
* to make sure that fcdTrie is 32-bit-aligned
|
||||
*
|
||||
* Trie fcdTrie; -- size in bytes=indexes[INDEX_FCD_TRIE_SIZE]
|
||||
*
|
||||
* Trie auxTrie; -- size in bytes=indexes[INDEX_AUX_TRIE_SIZE]
|
||||
*
|
||||
*
|
||||
* The indexes array contains lengths and sizes of the following arrays and structures
|
||||
* as well as the following values:
|
||||
* indexes[INDEX_COMBINE_FWD_COUNT]=combineFwdTop
|
||||
* -- one more than the highest combining index computed for forward-only-combining characters
|
||||
* indexes[INDEX_COMBINE_BOTH_COUNT]=combineBothTop-combineFwdTop
|
||||
* -- number of combining indexes computed for both-ways-combining characters
|
||||
* indexes[INDEX_COMBINE_BACK_COUNT]=combineBackTop-combineBothTop
|
||||
* -- number of combining indexes computed for backward-only-combining characters
|
||||
*
|
||||
* indexes[INDEX_MIN_NF*_NO_MAYBE] (where *={ C, D, KC, KD })
|
||||
* -- first code point with a quick check NF* value of NO/MAYBE
|
||||
*
|
||||
*
|
||||
* - Tries
|
||||
*
|
||||
* The main structures are two Trie tables ("compact arrays"),
|
||||
* each with one index array and one data array.
|
||||
* See Trie.h and Trie.c.
|
||||
*
|
||||
*
|
||||
* - Tries in unorm.icu
|
||||
*
|
||||
* The first trie (normTrie above)
|
||||
* provides data for the NF* quick checks and normalization.
|
||||
* The second trie (fcdTrie above) provides data just for FCD checks.
|
||||
*
|
||||
*
|
||||
* - norm32 data words from the first trie
|
||||
*
|
||||
* The norm32Table contains one 32-bit word "norm32" per code point.
|
||||
* It contains the following bit fields:
|
||||
* 31..16 extra data index, EXTRA_SHIFT is used to shift this field down
|
||||
* if this index is <EXTRA_INDEX_TOP then it is an index into
|
||||
* extraData[] where variable-length normalization data for this
|
||||
* code point is found
|
||||
* if this index is <EXTRA_INDEX_TOP+EXTRA_SURROGATE_TOP
|
||||
* then this is a norm32 for a leading surrogate, and the index
|
||||
* value is used together with the following trailing surrogate
|
||||
* code unit in the second trie access
|
||||
* if this index is >=EXTRA_INDEX_TOP+EXTRA_SURROGATE_TOP
|
||||
* then this is a norm32 for a "special" character,
|
||||
* i.e., the character is a Hangul syllable or a Jamo
|
||||
* see EXTRA_HANGUL etc.
|
||||
* generally, instead of extracting this index from the norm32 and
|
||||
* comparing it with the above constants,
|
||||
* the normalization code compares the entire norm32 value
|
||||
* with MIN_SPECIAL, SURROGATES_TOP, MIN_HANGUL etc.
|
||||
*
|
||||
* 15..8 combining class (cc) according to UnicodeData.txt
|
||||
*
|
||||
* 7..6 COMBINES_ANY flags, used in composition to see if a character
|
||||
* combines with any following or preceding character(s)
|
||||
* at all
|
||||
* 7 COMBINES_BACK
|
||||
* 6 COMBINES_FWD
|
||||
*
|
||||
* 5..0 quick check flags, set for "no" or "maybe", with separate flags for
|
||||
* each normalization form
|
||||
* the higher bits are "maybe" flags; for NF*D there are no such flags
|
||||
* the lower bits are "no" flags for all forms, in the same order
|
||||
* as the "maybe" flags,
|
||||
* which is (MSB to LSB): NFKD NFD NFKC NFC
|
||||
* 5..4 QC_ANY_MAYBE
|
||||
* 3..0 QC_ANY_NO
|
||||
* see further related constants
|
||||
*
|
||||
*
|
||||
* - Extra data per code point
|
||||
*
|
||||
* "Extra data" is referenced by the index in norm32.
|
||||
* It is variable-length data. It is only present, and only those parts
|
||||
* of it are, as needed for a given character.
|
||||
* The norm32 extra data index is added to the beginning of extraData[]
|
||||
* to get to a vector of 16-bit words with data at the following offsets:
|
||||
*
|
||||
* [-1] Combining index for composition.
|
||||
* Stored only if norm32&COMBINES_ANY .
|
||||
* [0] Lengths of the canonical and compatibility decomposition strings.
|
||||
* Stored only if there are decompositions, i.e.,
|
||||
* if norm32&(QC_NFD|QC_NFKD)
|
||||
* High byte: length of NFKD, or 0 if none
|
||||
* Low byte: length of NFD, or 0 if none
|
||||
* Each length byte also has another flag:
|
||||
* Bit 7 of a length byte is set if there are non-zero
|
||||
* combining classes (cc's) associated with the respective
|
||||
* decomposition. If this flag is set, then the decomposition
|
||||
* is preceded by a 16-bit word that contains the
|
||||
* leading and trailing cc's.
|
||||
* Bits 6..0 of a length byte are the length of the
|
||||
* decomposition string, not counting the cc word.
|
||||
* [1..n] NFD
|
||||
* [n+1..] NFKD
|
||||
*
|
||||
* Each of the two decompositions consists of up to two parts:
|
||||
* - The 16-bit words with the leading and trailing cc's.
|
||||
* This is only stored if bit 7 of the corresponding length byte
|
||||
* is set. In this case, at least one of the cc's is not zero.
|
||||
* High byte: leading cc==cc of the first code point in the decomposition string
|
||||
* Low byte: trailing cc==cc of the last code point in the decomposition string
|
||||
* - The decomposition string in UTF-16, with length code units.
|
||||
*
|
||||
*
|
||||
* - Combining indexes and combiningTable[]
|
||||
*
|
||||
* Combining indexes are stored at the [-1] offset of the extra data
|
||||
* if the character combines forward or backward with any other characters.
|
||||
* They are used for (re)composition in NF*C.
|
||||
* Values of combining indexes are arranged according to whether a character
|
||||
* combines forward, backward, or both ways:
|
||||
* forward-only < both ways < backward-only
|
||||
*
|
||||
* The index values for forward-only and both-ways combining characters
|
||||
* are indexes into the combiningTable[].
|
||||
* The index values for backward-only combining characters are simply
|
||||
* incremented from the preceding index values to be unique.
|
||||
*
|
||||
* In the combiningTable[], a variable-length list
|
||||
* of variable-length (back-index, code point) pair entries is stored
|
||||
* for each forward-combining character.
|
||||
*
|
||||
* These back-indexes are the combining indexes of both-ways or backward-only
|
||||
* combining characters that the forward-combining character combines with.
|
||||
*
|
||||
* Each list is sorted in ascending order of back-indexes.
|
||||
* Each list is terminated with the last back-index having bit 15 set.
|
||||
*
|
||||
* Each pair (back-index, code point) takes up either 2 or 3
|
||||
* 16-bit words.
|
||||
* The first word of a list entry is the back-index, with its bit 15 set if
|
||||
* this is the last pair in the list.
|
||||
*
|
||||
* The second word contains flags in bits 15..13 that determine
|
||||
* if there is a third word and how the combined character is encoded:
|
||||
* 15 set if there is a third word in this list entry
|
||||
* 14 set if the result is a supplementary character
|
||||
* 13 set if the result itself combines forward
|
||||
*
|
||||
* According to these bits 15..14 of the second word,
|
||||
* the result character is encoded as follows:
|
||||
* 00 or 01 The result is <=0x1fff and stored in bits 12..0 of
|
||||
* the second word.
|
||||
* 10 The result is 0x2000..0xffff and stored in the third word.
|
||||
* Bits 12..0 of the second word are not used.
|
||||
* 11 The result is a supplementary character.
|
||||
* Bits 9..0 of the leading surrogate are in bits 9..0 of
|
||||
* the second word.
|
||||
* Add 0xd800 to these bits to get the complete surrogate.
|
||||
* Bits 12..10 of the second word are not used.
|
||||
* The trailing surrogate is stored in the third word.
|
||||
*
|
||||
*
|
||||
* - FCD trie
|
||||
*
|
||||
* The FCD trie is very simple.
|
||||
* It is a folded trie with 16-bit data words.
|
||||
* In each word, the high byte contains the leading cc of the character,
|
||||
* and the low byte contains the trailing cc of the character.
|
||||
* These cc's are the cc's of the first and last code points in the
|
||||
* canonical decomposition of the character.
|
||||
*
|
||||
* Since all 16 bits are used for cc's, lead surrogates must be tested
|
||||
* by checking the code unit instead of the trie data.
|
||||
* This is done only if the 16-bit data word is not zero.
|
||||
* If the code unit is a leading surrogate and the data word is not zero,
|
||||
* then instead of cc's it contains the offset for the second trie lookup.
|
||||
*
|
||||
*
|
||||
* - Auxiliary trie and data
|
||||
*
|
||||
*
|
||||
* The auxiliary 16-bit trie contains data for additional properties.
|
||||
* Bits
|
||||
* 15..13 reserved
|
||||
* 12 not NFC_Skippable (f) (formatVersion>=2.2)
|
||||
* 11 flag: not a safe starter for canonical closure
|
||||
* 10 composition exclusion
|
||||
* 9.. 0 index into extraData[] to FC_NFKC_Closure string
|
||||
* (not for lead surrogate),
|
||||
* or lead surrogate offset (for lead surrogate, if 9..0 not zero)
|
||||
*
|
||||
* Conditions for "NF* Skippable" from Mark Davis' com.ibm.text.UCD.NFSkippable:
|
||||
* (used in NormalizerTransliterator)
|
||||
*
|
||||
* A skippable character is
|
||||
* a) unassigned, or ALL of the following:
|
||||
* b) of combining class 0.
|
||||
* c) not decomposed by this normalization form.
|
||||
* AND if NFC or NFKC,
|
||||
* d) can never compose with a previous character.
|
||||
* e) can never compose with a following character.
|
||||
* f) can never change if another character is added.
|
||||
* Example: a-breve might satisfy all but f, but if you
|
||||
* add an ogonek it changes to a-ogonek + breve
|
||||
*
|
||||
* a)..e) must be tested from norm32.
|
||||
* Since f) is more complicated, the (not-)NFC_Skippable flag (f) is built
|
||||
* into the auxiliary trie.
|
||||
* The same bit is used for NFC and NFKC; (c) differs for them.
|
||||
* As usual, we build the "not skippable" flags so that unassigned
|
||||
* code points get a 0 bit.
|
||||
* This bit is only valid after (a)..(e) test FALSE; test NFD_NO before (f) as well.
|
||||
* Test Hangul LV syllables entirely in code.
|
||||
*
|
||||
*
|
||||
* - FC_NFKC_Closure strings in extraData[]
|
||||
*
|
||||
* Strings are either stored as a single code unit or as the length
|
||||
* followed by that many units.
|
||||
*
|
||||
*/
|
||||
final class NormalizerDataReader implements ICUBinary.Authenticate {
|
||||
|
||||
/**
|
||||
* <p>Protected constructor.</p>
|
||||
* @param inputStream ICU uprop.dat file input stream
|
||||
* @exception IOException throw if data file fails authentication
|
||||
* @draft 2.1
|
||||
*/
|
||||
protected NormalizerDataReader(InputStream inputStream)
|
||||
throws IOException{
|
||||
|
||||
unicodeVersion = ICUBinary.readHeader(inputStream, DATA_FORMAT_ID, this);
|
||||
dataInputStream = new DataInputStream(inputStream);
|
||||
}
|
||||
|
||||
// protected methods -------------------------------------------------
|
||||
|
||||
protected int[] readIndexes(int length)throws IOException{
|
||||
int[] indexes = new int[length];
|
||||
//Read the indexes
|
||||
for (int i = 0; i <length ; i++) {
|
||||
indexes[i] = dataInputStream.readInt();
|
||||
}
|
||||
return indexes;
|
||||
}
|
||||
/**
|
||||
* <p>Reads unorm.icu, parse it into blocks of data to be stored in
|
||||
* NormalizerImpl.</P
|
||||
* @param normBytes
|
||||
* @param fcdBytes
|
||||
* @param auxBytes
|
||||
* @param extraData
|
||||
* @param combiningTable
|
||||
* @exception thrown when data reading fails
|
||||
* @draft 2.1
|
||||
*/
|
||||
protected void read(byte[] normBytes, byte[] fcdBytes, byte[] auxBytes,
|
||||
char[] extraData, char[] combiningTable)
|
||||
throws IOException{
|
||||
|
||||
//Read the bytes that make up the normTrie
|
||||
dataInputStream.readFully(normBytes);
|
||||
|
||||
//normTrieStream= new ByteArrayInputStream(normBytes);
|
||||
|
||||
//Read the extra data
|
||||
for(int i=0;i<extraData.length;i++){
|
||||
extraData[i]=dataInputStream.readChar();
|
||||
}
|
||||
|
||||
//Read the combining class table
|
||||
for(int i=0; i<combiningTable.length; i++){
|
||||
combiningTable[i]=dataInputStream.readChar();
|
||||
}
|
||||
|
||||
//Read the fcdTrie
|
||||
dataInputStream.readFully(fcdBytes);
|
||||
|
||||
|
||||
//Read the AuxTrie
|
||||
dataInputStream.readFully(auxBytes);
|
||||
}
|
||||
|
||||
public byte[] getDataFormatVersion(){
|
||||
return DATA_FORMAT_VERSION;
|
||||
}
|
||||
|
||||
public boolean isDataVersionAcceptable(byte version[])
|
||||
{
|
||||
return version[0] == DATA_FORMAT_VERSION[0]
|
||||
&& version[2] == DATA_FORMAT_VERSION[2]
|
||||
&& version[3] == DATA_FORMAT_VERSION[3];
|
||||
}
|
||||
|
||||
public byte[] getUnicodeVersion(){
|
||||
return unicodeVersion;
|
||||
}
|
||||
// private data members -------------------------------------------------
|
||||
|
||||
|
||||
/**
|
||||
* ICU data file input stream
|
||||
*/
|
||||
private DataInputStream dataInputStream;
|
||||
|
||||
private byte[] unicodeVersion;
|
||||
|
||||
/**
|
||||
* File format version that this class understands.
|
||||
* No guarantees are made if a older version is used
|
||||
* see store.c of gennorm for more information and values
|
||||
*/
|
||||
private static final byte DATA_FORMAT_ID[] = {(byte)0x4E, (byte)0x6F,
|
||||
(byte)0x72, (byte)0x6D};
|
||||
private static final byte DATA_FORMAT_VERSION[] = {(byte)0x2, (byte)0x2,
|
||||
(byte)0x5, (byte)0x2};
|
||||
|
||||
}
|
||||
2736
jdkSrc/jdk8/sun/text/normalizer/NormalizerImpl.java
Normal file
2736
jdkSrc/jdk8/sun/text/normalizer/NormalizerImpl.java
Normal file
File diff suppressed because it is too large
Load Diff
140
jdkSrc/jdk8/sun/text/normalizer/RangeValueIterator.java
Normal file
140
jdkSrc/jdk8/sun/text/normalizer/RangeValueIterator.java
Normal file
@@ -0,0 +1,140 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
/**
|
||||
* <p>Interface for enabling iteration over sets of <int index, int value>,
|
||||
* where index is the sorted integer index in ascending order and value, its
|
||||
* associated integer value.</p>
|
||||
* <p>The result for each iteration is the consecutive range of
|
||||
* <int index, int value> with the same value. Result is represented by
|
||||
* <start, limit, value> where</p>
|
||||
* <ul>
|
||||
* <li> start is the starting integer of the result range
|
||||
* <li> limit is 1 after the maximum integer that follows start, such that
|
||||
* all integers between start and (limit - 1), inclusive, have the same
|
||||
* associated integer value.
|
||||
* <li> value is the integer value that all integers from start to (limit - 1)
|
||||
* share in common.
|
||||
* </ul>
|
||||
* <p>
|
||||
* Hence value(start) = value(start + 1) = .... = value(start + n) = .... =
|
||||
* value(limit - 1). However value(start -1) != value(start) and
|
||||
* value(limit) != value(start).
|
||||
* </p>
|
||||
* <p>Most implementations will be created by factory methods, such as the
|
||||
* character type iterator in UCharacter.getTypeIterator. See example below.
|
||||
* </p>
|
||||
* Example of use:<br>
|
||||
* <pre>
|
||||
* RangeValueIterator iterator = UCharacter.getTypeIterator();
|
||||
* RangeValueIterator.Element result = new RangeValueIterator.Element();
|
||||
* while (iterator.next(result)) {
|
||||
* System.out.println("Codepoint \\u" +
|
||||
* Integer.toHexString(result.start) +
|
||||
* " to codepoint \\u" +
|
||||
* Integer.toHexString(result.limit - 1) +
|
||||
* " has the character type " + result.value);
|
||||
* }
|
||||
* </pre>
|
||||
* @author synwee
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public interface RangeValueIterator
|
||||
{
|
||||
// public inner class ---------------------------------------------
|
||||
|
||||
/**
|
||||
* Return result wrapper for com.ibm.icu.util.RangeValueIterator.
|
||||
* Stores the start and limit of the continous result range and the
|
||||
* common value all integers between [start, limit - 1] has.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public class Element
|
||||
{
|
||||
// public data member ---------------------------------------------
|
||||
|
||||
/**
|
||||
* Starting integer of the continuous result range that has the same
|
||||
* value
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public int start;
|
||||
/**
|
||||
* (End + 1) integer of continuous result range that has the same
|
||||
* value
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public int limit;
|
||||
/**
|
||||
* Gets the common value of the continous result range
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public int value;
|
||||
|
||||
// public constructor --------------------------------------------
|
||||
|
||||
/**
|
||||
* Empty default constructor to make javadoc happy
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public Element()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
// public methods -------------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Gets the next maximal result range with a common value and returns
|
||||
* true if we are not at the end of the iteration, false otherwise.</p>
|
||||
* <p>If the return boolean is a false, the contents of elements will not
|
||||
* be updated.</p>
|
||||
* @param element for storing the result range and value
|
||||
* @return true if we are not at the end of the iteration, false otherwise.
|
||||
* @see Element
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public boolean next(Element element);
|
||||
|
||||
/**
|
||||
* Resets the iterator to the beginning of the iteration.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public void reset();
|
||||
}
|
||||
123
jdkSrc/jdk8/sun/text/normalizer/Replaceable.java
Normal file
123
jdkSrc/jdk8/sun/text/normalizer/Replaceable.java
Normal file
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
/**
|
||||
* <code>Replaceable</code> is an interface representing a
|
||||
* string of characters that supports the replacement of a range of
|
||||
* itself with a new string of characters. It is used by APIs that
|
||||
* change a piece of text while retaining metadata. Metadata is data
|
||||
* other than the Unicode characters returned by char32At(). One
|
||||
* example of metadata is style attributes; another is an edit
|
||||
* history, marking each character with an author and revision number.
|
||||
*
|
||||
* <p>An implicit aspect of the <code>Replaceable</code> API is that
|
||||
* during a replace operation, new characters take on the metadata of
|
||||
* the old characters. For example, if the string "the <b>bold</b>
|
||||
* font" has range (4, 8) replaced with "strong", then it becomes "the
|
||||
* <b>strong</b> font".
|
||||
*
|
||||
* <p><code>Replaceable</code> specifies ranges using a start
|
||||
* offset and a limit offset. The range of characters thus specified
|
||||
* includes the characters at offset start..limit-1. That is, the
|
||||
* start offset is inclusive, and the limit offset is exclusive.
|
||||
*
|
||||
* <p><code>Replaceable</code> also includes API to access characters
|
||||
* in the string: <code>length()</code>, <code>charAt()</code>,
|
||||
* <code>char32At()</code>, and <code>extractBetween()</code>.
|
||||
*
|
||||
* <p>For a subclass to support metadata, typical behavior of
|
||||
* <code>replace()</code> is the following:
|
||||
* <ul>
|
||||
* <li>Set the metadata of the new text to the metadata of the first
|
||||
* character replaced</li>
|
||||
* <li>If no characters are replaced, use the metadata of the
|
||||
* previous character</li>
|
||||
* <li>If there is no previous character (i.e. start == 0), use the
|
||||
* following character</li>
|
||||
* <li>If there is no following character (i.e. the replaceable was
|
||||
* empty), use default metadata<br>
|
||||
* <li>If the code point U+FFFF is seen, it should be interpreted as
|
||||
* a special marker having no metadata<li>
|
||||
* </li>
|
||||
* </ul>
|
||||
* If this is not the behavior, the subclass should document any differences.
|
||||
*
|
||||
* <p>Copyright © IBM Corporation 1999. All rights reserved.
|
||||
*
|
||||
* @author Alan Liu
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public interface Replaceable {
|
||||
/**
|
||||
* Returns the number of 16-bit code units in the text.
|
||||
* @return number of 16-bit code units in text
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
int length();
|
||||
|
||||
/**
|
||||
* Returns the 16-bit code unit at the given offset into the text.
|
||||
* @param offset an integer between 0 and <code>length()</code>-1
|
||||
* inclusive
|
||||
* @return 16-bit code unit of text at given offset
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
char charAt(int offset);
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Copies characters from this object into the destination
|
||||
* character array. The first character to be copied is at index
|
||||
* <code>srcStart</code>; the last character to be copied is at
|
||||
* index <code>srcLimit-1</code> (thus the total number of
|
||||
* characters to be copied is <code>srcLimit-srcStart</code>). The
|
||||
* characters are copied into the subarray of <code>dst</code>
|
||||
* starting at index <code>dstStart</code> and ending at index
|
||||
* <code>dstStart + (srcLimit-srcStart) - 1</code>.
|
||||
*
|
||||
* @param srcStart the beginning index to copy, inclusive; <code>0
|
||||
* <= start <= limit</code>.
|
||||
* @param srcLimit the ending index to copy, exclusive;
|
||||
* <code>start <= limit <= length()</code>.
|
||||
* @param dst the destination array.
|
||||
* @param dstStart the start offset in the destination array.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
void getChars(int srcStart, int srcLimit, char dst[], int dstStart);
|
||||
}
|
||||
123
jdkSrc/jdk8/sun/text/normalizer/ReplaceableString.java
Normal file
123
jdkSrc/jdk8/sun/text/normalizer/ReplaceableString.java
Normal file
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
/**
|
||||
* <code>ReplaceableString</code> is an adapter class that implements the
|
||||
* <code>Replaceable</code> API around an ordinary <code>StringBuffer</code>.
|
||||
*
|
||||
* <p><em>Note:</em> This class does not support attributes and is not
|
||||
* intended for general use. Most clients will need to implement
|
||||
* {@link Replaceable} in their text representation class.
|
||||
*
|
||||
* <p>Copyright © IBM Corporation 1999. All rights reserved.
|
||||
*
|
||||
* @see Replaceable
|
||||
* @author Alan Liu
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public class ReplaceableString implements Replaceable {
|
||||
|
||||
private StringBuffer buf;
|
||||
|
||||
/**
|
||||
* Construct a new object with the given initial contents.
|
||||
* @param str initial contents
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public ReplaceableString(String str) {
|
||||
buf = new StringBuffer(str);
|
||||
}
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Construct a new object using <code>buf</code> for internal
|
||||
* storage. The contents of <code>buf</code> at the time of
|
||||
* construction are used as the initial contents. <em>Note!
|
||||
* Modifications to <code>buf</code> will modify this object, and
|
||||
* vice versa.</em>
|
||||
* @param buf object to be used as internal storage
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public ReplaceableString(StringBuffer buf) {
|
||||
this.buf = buf;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of characters contained in this object.
|
||||
* <code>Replaceable</code> API.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public int length() {
|
||||
return buf.length();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the character at the given position in this object.
|
||||
* <code>Replaceable</code> API.
|
||||
* @param offset offset into the contents, from 0 to
|
||||
* <code>length()</code> - 1
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public char charAt(int offset) {
|
||||
return buf.charAt(offset);
|
||||
}
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Copies characters from this object into the destination
|
||||
* character array. The first character to be copied is at index
|
||||
* <code>srcStart</code>; the last character to be copied is at
|
||||
* index <code>srcLimit-1</code> (thus the total number of
|
||||
* characters to be copied is <code>srcLimit-srcStart</code>). The
|
||||
* characters are copied into the subarray of <code>dst</code>
|
||||
* starting at index <code>dstStart</code> and ending at index
|
||||
* <code>dstStart + (srcLimit-srcStart) - 1</code>.
|
||||
*
|
||||
* @param srcStart the beginning index to copy, inclusive; <code>0
|
||||
* <= start <= limit</code>.
|
||||
* @param srcLimit the ending index to copy, exclusive;
|
||||
* <code>start <= limit <= length()</code>.
|
||||
* @param dst the destination array.
|
||||
* @param dstStart the start offset in the destination array.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public void getChars(int srcStart, int srcLimit, char dst[], int dstStart) {
|
||||
Utility.getChars(buf, srcStart, srcLimit, dst, dstStart);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
/**
|
||||
* DLF docs must define behavior when Replaceable is mutated underneath
|
||||
* the iterator.
|
||||
*
|
||||
* This and ICUCharacterIterator share some code, maybe they should share
|
||||
* an implementation, or the common state and implementation should be
|
||||
* moved up into UCharacterIterator.
|
||||
*
|
||||
* What are first, last, and getBeginIndex doing here?!?!?!
|
||||
*/
|
||||
public class ReplaceableUCharacterIterator extends UCharacterIterator {
|
||||
|
||||
// public constructor ------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Public constructor
|
||||
* @param str text which the iterator will be based on
|
||||
*/
|
||||
public ReplaceableUCharacterIterator(String str){
|
||||
if(str==null){
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
this.replaceable = new ReplaceableString(str);
|
||||
this.currentIndex = 0;
|
||||
}
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Public constructor
|
||||
* @param buf buffer of text on which the iterator will be based
|
||||
*/
|
||||
public ReplaceableUCharacterIterator(StringBuffer buf){
|
||||
if(buf==null){
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
this.replaceable = new ReplaceableString(buf);
|
||||
this.currentIndex = 0;
|
||||
}
|
||||
|
||||
// public methods ----------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Creates a copy of this iterator, does not clone the underlying
|
||||
* <code>Replaceable</code>object
|
||||
* @return copy of this iterator
|
||||
*/
|
||||
public Object clone(){
|
||||
try {
|
||||
return super.clone();
|
||||
} catch (CloneNotSupportedException e) {
|
||||
return null; // never invoked
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current UTF16 character.
|
||||
* @return current UTF16 character
|
||||
*/
|
||||
public int current(){
|
||||
if (currentIndex < replaceable.length()) {
|
||||
return replaceable.charAt(currentIndex);
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the length of the text
|
||||
* @return length of the text
|
||||
*/
|
||||
public int getLength(){
|
||||
return replaceable.length();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the current currentIndex in text.
|
||||
* @return current currentIndex in text.
|
||||
*/
|
||||
public int getIndex(){
|
||||
return currentIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns next UTF16 character and increments the iterator's currentIndex by 1.
|
||||
* If the resulting currentIndex is greater or equal to the text length, the
|
||||
* currentIndex is reset to the text length and a value of DONECODEPOINT is
|
||||
* returned.
|
||||
* @return next UTF16 character in text or DONE if the new currentIndex is off the
|
||||
* end of the text range.
|
||||
*/
|
||||
public int next(){
|
||||
if (currentIndex < replaceable.length()) {
|
||||
return replaceable.charAt(currentIndex++);
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns previous UTF16 character and decrements the iterator's currentIndex by
|
||||
* 1.
|
||||
* If the resulting currentIndex is less than 0, the currentIndex is reset to 0 and a
|
||||
* value of DONECODEPOINT is returned.
|
||||
* @return next UTF16 character in text or DONE if the new currentIndex is off the
|
||||
* start of the text range.
|
||||
*/
|
||||
public int previous(){
|
||||
if (currentIndex > 0) {
|
||||
return replaceable.charAt(--currentIndex);
|
||||
}
|
||||
return DONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Sets the currentIndex to the specified currentIndex in the text and returns that
|
||||
* single UTF16 character at currentIndex.
|
||||
* This assumes the text is stored as 16-bit code units.</p>
|
||||
* @param currentIndex the currentIndex within the text.
|
||||
* @exception IllegalArgumentException is thrown if an invalid currentIndex is
|
||||
* supplied. i.e. currentIndex is out of bounds.
|
||||
* @return the character at the specified currentIndex or DONE if the specified
|
||||
* currentIndex is equal to the end of the text.
|
||||
*/
|
||||
public void setIndex(int currentIndex) {
|
||||
if (currentIndex < 0 || currentIndex > replaceable.length()) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
this.currentIndex = currentIndex;
|
||||
}
|
||||
|
||||
//// for StringPrep
|
||||
public int getText(char[] fillIn, int offset){
|
||||
int length = replaceable.length();
|
||||
if(offset < 0 || offset + length > fillIn.length){
|
||||
throw new IndexOutOfBoundsException(Integer.toString(length));
|
||||
}
|
||||
replaceable.getChars(0,length,fillIn,offset);
|
||||
return length;
|
||||
}
|
||||
|
||||
// private data members ----------------------------------------------------
|
||||
|
||||
/**
|
||||
* Replaceable object
|
||||
*/
|
||||
private Replaceable replaceable;
|
||||
/**
|
||||
* Current currentIndex
|
||||
*/
|
||||
private int currentIndex;
|
||||
|
||||
}
|
||||
367
jdkSrc/jdk8/sun/text/normalizer/RuleCharacterIterator.java
Normal file
367
jdkSrc/jdk8/sun/text/normalizer/RuleCharacterIterator.java
Normal file
@@ -0,0 +1,367 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
**********************************************************************
|
||||
* Author: Alan Liu
|
||||
* Created: September 23 2003
|
||||
* Since: ICU 2.8
|
||||
**********************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.text.ParsePosition;
|
||||
|
||||
/**
|
||||
* An iterator that returns 32-bit code points. This class is deliberately
|
||||
* <em>not</em> related to any of the JDK or ICU4J character iterator classes
|
||||
* in order to minimize complexity.
|
||||
* @author Alan Liu
|
||||
* @since ICU 2.8
|
||||
*/
|
||||
public class RuleCharacterIterator {
|
||||
|
||||
// TODO: Ideas for later. (Do not implement if not needed, lest the
|
||||
// code coverage numbers go down due to unused methods.)
|
||||
// 1. Add a copy constructor, equals() method, clone() method.
|
||||
// 2. Rather than return DONE, throw an exception if the end
|
||||
// is reached -- this is an alternate usage model, probably not useful.
|
||||
// 3. Return isEscaped from next(). If this happens,
|
||||
// don't keep an isEscaped member variable.
|
||||
|
||||
/**
|
||||
* Text being iterated.
|
||||
*/
|
||||
private String text;
|
||||
|
||||
/**
|
||||
* Position of iterator.
|
||||
*/
|
||||
private ParsePosition pos;
|
||||
|
||||
/**
|
||||
* Symbol table used to parse and dereference variables. May be null.
|
||||
*/
|
||||
private SymbolTable sym;
|
||||
|
||||
/**
|
||||
* Current variable expansion, or null if none.
|
||||
*/
|
||||
private char[] buf;
|
||||
|
||||
/**
|
||||
* Position within buf[]. Meaningless if buf == null.
|
||||
*/
|
||||
private int bufPos;
|
||||
|
||||
/**
|
||||
* Flag indicating whether the last character was parsed from an escape.
|
||||
*/
|
||||
private boolean isEscaped;
|
||||
|
||||
/**
|
||||
* Value returned when there are no more characters to iterate.
|
||||
*/
|
||||
public static final int DONE = -1;
|
||||
|
||||
/**
|
||||
* Bitmask option to enable parsing of variable names. If (options &
|
||||
* PARSE_VARIABLES) != 0, then an embedded variable will be expanded to
|
||||
* its value. Variables are parsed using the SymbolTable API.
|
||||
*/
|
||||
public static final int PARSE_VARIABLES = 1;
|
||||
|
||||
/**
|
||||
* Bitmask option to enable parsing of escape sequences. If (options &
|
||||
* PARSE_ESCAPES) != 0, then an embedded escape sequence will be expanded
|
||||
* to its value. Escapes are parsed using Utility.unescapeAt().
|
||||
*/
|
||||
public static final int PARSE_ESCAPES = 2;
|
||||
|
||||
/**
|
||||
* Bitmask option to enable skipping of whitespace. If (options &
|
||||
* SKIP_WHITESPACE) != 0, then whitespace characters will be silently
|
||||
* skipped, as if they were not present in the input. Whitespace
|
||||
* characters are defined by UCharacterProperty.isRuleWhiteSpace().
|
||||
*/
|
||||
public static final int SKIP_WHITESPACE = 4;
|
||||
|
||||
/**
|
||||
* Constructs an iterator over the given text, starting at the given
|
||||
* position.
|
||||
* @param text the text to be iterated
|
||||
* @param sym the symbol table, or null if there is none. If sym is null,
|
||||
* then variables will not be deferenced, even if the PARSE_VARIABLES
|
||||
* option is set.
|
||||
* @param pos upon input, the index of the next character to return. If a
|
||||
* variable has been dereferenced, then pos will <em>not</em> increment as
|
||||
* characters of the variable value are iterated.
|
||||
*/
|
||||
public RuleCharacterIterator(String text, SymbolTable sym,
|
||||
ParsePosition pos) {
|
||||
if (text == null || pos.getIndex() > text.length()) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
this.text = text;
|
||||
this.sym = sym;
|
||||
this.pos = pos;
|
||||
buf = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this iterator has no more characters to return.
|
||||
*/
|
||||
public boolean atEnd() {
|
||||
return buf == null && pos.getIndex() == text.length();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the next character using the given options, or DONE if there
|
||||
* are no more characters, and advance the position to the next
|
||||
* character.
|
||||
* @param options one or more of the following options, bitwise-OR-ed
|
||||
* together: PARSE_VARIABLES, PARSE_ESCAPES, SKIP_WHITESPACE.
|
||||
* @return the current 32-bit code point, or DONE
|
||||
*/
|
||||
public int next(int options) {
|
||||
int c = DONE;
|
||||
isEscaped = false;
|
||||
|
||||
for (;;) {
|
||||
c = _current();
|
||||
_advance(UTF16.getCharCount(c));
|
||||
|
||||
if (c == SymbolTable.SYMBOL_REF && buf == null &&
|
||||
(options & PARSE_VARIABLES) != 0 && sym != null) {
|
||||
String name = sym.parseReference(text, pos, text.length());
|
||||
// If name == null there was an isolated SYMBOL_REF;
|
||||
// return it. Caller must be prepared for this.
|
||||
if (name == null) {
|
||||
break;
|
||||
}
|
||||
bufPos = 0;
|
||||
buf = sym.lookup(name);
|
||||
if (buf == null) {
|
||||
throw new IllegalArgumentException(
|
||||
"Undefined variable: " + name);
|
||||
}
|
||||
// Handle empty variable value
|
||||
if (buf.length == 0) {
|
||||
buf = null;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((options & SKIP_WHITESPACE) != 0 &&
|
||||
UCharacterProperty.isRuleWhiteSpace(c)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (c == '\\' && (options & PARSE_ESCAPES) != 0) {
|
||||
int offset[] = new int[] { 0 };
|
||||
c = Utility.unescapeAt(lookahead(), offset);
|
||||
jumpahead(offset[0]);
|
||||
isEscaped = true;
|
||||
if (c < 0) {
|
||||
throw new IllegalArgumentException("Invalid escape");
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the last character returned by next() was
|
||||
* escaped. This will only be the case if the option passed in to
|
||||
* next() included PARSE_ESCAPED and the next character was an
|
||||
* escape sequence.
|
||||
*/
|
||||
public boolean isEscaped() {
|
||||
return isEscaped;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if this iterator is currently within a variable expansion.
|
||||
*/
|
||||
public boolean inVariable() {
|
||||
return buf != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an object which, when later passed to setPos(), will
|
||||
* restore this iterator's position. Usage idiom:
|
||||
*
|
||||
* RuleCharacterIterator iterator = ...;
|
||||
* Object pos = iterator.getPos(null); // allocate position object
|
||||
* for (;;) {
|
||||
* pos = iterator.getPos(pos); // reuse position object
|
||||
* int c = iterator.next(...);
|
||||
* ...
|
||||
* }
|
||||
* iterator.setPos(pos);
|
||||
*
|
||||
* @param p a position object previously returned by getPos(),
|
||||
* or null. If not null, it will be updated and returned. If
|
||||
* null, a new position object will be allocated and returned.
|
||||
* @return a position object which may be passed to setPos(),
|
||||
* either `p,' or if `p' == null, a newly-allocated object
|
||||
*/
|
||||
public Object getPos(Object p) {
|
||||
if (p == null) {
|
||||
return new Object[] {buf, new int[] {pos.getIndex(), bufPos}};
|
||||
}
|
||||
Object[] a = (Object[]) p;
|
||||
a[0] = buf;
|
||||
int[] v = (int[]) a[1];
|
||||
v[0] = pos.getIndex();
|
||||
v[1] = bufPos;
|
||||
return p;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores this iterator to the position it had when getPos()
|
||||
* returned the given object.
|
||||
* @param p a position object previously returned by getPos()
|
||||
*/
|
||||
public void setPos(Object p) {
|
||||
Object[] a = (Object[]) p;
|
||||
buf = (char[]) a[0];
|
||||
int[] v = (int[]) a[1];
|
||||
pos.setIndex(v[0]);
|
||||
bufPos = v[1];
|
||||
}
|
||||
|
||||
/**
|
||||
* Skips ahead past any ignored characters, as indicated by the given
|
||||
* options. This is useful in conjunction with the lookahead() method.
|
||||
*
|
||||
* Currently, this only has an effect for SKIP_WHITESPACE.
|
||||
* @param options one or more of the following options, bitwise-OR-ed
|
||||
* together: PARSE_VARIABLES, PARSE_ESCAPES, SKIP_WHITESPACE.
|
||||
*/
|
||||
public void skipIgnored(int options) {
|
||||
if ((options & SKIP_WHITESPACE) != 0) {
|
||||
for (;;) {
|
||||
int a = _current();
|
||||
if (!UCharacterProperty.isRuleWhiteSpace(a)) break;
|
||||
_advance(UTF16.getCharCount(a));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string containing the remainder of the characters to be
|
||||
* returned by this iterator, without any option processing. If the
|
||||
* iterator is currently within a variable expansion, this will only
|
||||
* extend to the end of the variable expansion. This method is provided
|
||||
* so that iterators may interoperate with string-based APIs. The typical
|
||||
* sequence of calls is to call skipIgnored(), then call lookahead(), then
|
||||
* parse the string returned by lookahead(), then call jumpahead() to
|
||||
* resynchronize the iterator.
|
||||
* @return a string containing the characters to be returned by future
|
||||
* calls to next()
|
||||
*/
|
||||
public String lookahead() {
|
||||
if (buf != null) {
|
||||
return new String(buf, bufPos, buf.length - bufPos);
|
||||
} else {
|
||||
return text.substring(pos.getIndex());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Advances the position by the given number of 16-bit code units.
|
||||
* This is useful in conjunction with the lookahead() method.
|
||||
* @param count the number of 16-bit code units to jump over
|
||||
*/
|
||||
public void jumpahead(int count) {
|
||||
if (count < 0) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
if (buf != null) {
|
||||
bufPos += count;
|
||||
if (bufPos > buf.length) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
if (bufPos == buf.length) {
|
||||
buf = null;
|
||||
}
|
||||
} else {
|
||||
int i = pos.getIndex() + count;
|
||||
pos.setIndex(i);
|
||||
if (i > text.length()) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current 32-bit code point without parsing escapes, parsing
|
||||
* variables, or skipping whitespace.
|
||||
* @return the current 32-bit code point
|
||||
*/
|
||||
private int _current() {
|
||||
if (buf != null) {
|
||||
return UTF16.charAt(buf, 0, buf.length, bufPos);
|
||||
} else {
|
||||
int i = pos.getIndex();
|
||||
return (i < text.length()) ? UTF16.charAt(text, i) : DONE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Advances the position by the given amount.
|
||||
* @param count the number of 16-bit code units to advance past
|
||||
*/
|
||||
private void _advance(int count) {
|
||||
if (buf != null) {
|
||||
bufPos += count;
|
||||
if (bufPos == buf.length) {
|
||||
buf = null;
|
||||
}
|
||||
} else {
|
||||
pos.setIndex(pos.getIndex() + count);
|
||||
if (pos.getIndex() > text.length()) {
|
||||
pos.setIndex(text.length());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
124
jdkSrc/jdk8/sun/text/normalizer/SymbolTable.java
Normal file
124
jdkSrc/jdk8/sun/text/normalizer/SymbolTable.java
Normal file
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.text.ParsePosition;
|
||||
|
||||
/**
|
||||
* An interface that defines both lookup protocol and parsing of
|
||||
* symbolic names.
|
||||
*
|
||||
* <p>A symbol table maintains two kinds of mappings. The first is
|
||||
* between symbolic names and their values. For example, if the
|
||||
* variable with the name "start" is set to the value "alpha"
|
||||
* (perhaps, though not necessarily, through an expression such as
|
||||
* "$start=alpha"), then the call lookup("start") will return the
|
||||
* char[] array ['a', 'l', 'p', 'h', 'a'].
|
||||
*
|
||||
* <p>The second kind of mapping is between character values and
|
||||
* UnicodeMatcher objects. This is used by RuleBasedTransliterator,
|
||||
* which uses characters in the private use area to represent objects
|
||||
* such as UnicodeSets. If U+E015 is mapped to the UnicodeSet [a-z],
|
||||
* then lookupMatcher(0xE015) will return the UnicodeSet [a-z].
|
||||
*
|
||||
* <p>Finally, a symbol table defines parsing behavior for symbolic
|
||||
* names. All symbolic names start with the SYMBOL_REF character.
|
||||
* When a parser encounters this character, it calls parseReference()
|
||||
* with the position immediately following the SYMBOL_REF. The symbol
|
||||
* table parses the name, if there is one, and returns it.
|
||||
*
|
||||
* @draft ICU 2.8
|
||||
* @deprecated This is a draft API and might change in a future release of ICU.
|
||||
*/
|
||||
@Deprecated
|
||||
public interface SymbolTable {
|
||||
|
||||
/**
|
||||
* The character preceding a symbol reference name.
|
||||
* @draft ICU 2.8
|
||||
* @deprecated This is a draft API and might change in a future release of ICU.
|
||||
*/
|
||||
@Deprecated
|
||||
static final char SYMBOL_REF = '$';
|
||||
|
||||
/**
|
||||
* Lookup the characters associated with this string and return it.
|
||||
* Return <tt>null</tt> if no such name exists. The resultant
|
||||
* array may have length zero.
|
||||
* @param s the symbolic name to lookup
|
||||
* @return a char array containing the name's value, or null if
|
||||
* there is no mapping for s.
|
||||
* @draft ICU 2.8
|
||||
* @deprecated This is a draft API and might change in a future release of ICU.
|
||||
*/
|
||||
@Deprecated
|
||||
char[] lookup(String s);
|
||||
|
||||
/**
|
||||
* Lookup the UnicodeMatcher associated with the given character, and
|
||||
* return it. Return <tt>null</tt> if not found.
|
||||
* @param ch a 32-bit code point from 0 to 0x10FFFF inclusive.
|
||||
* @return the UnicodeMatcher object represented by the given
|
||||
* character, or null if there is no mapping for ch.
|
||||
* @draft ICU 2.8
|
||||
* @deprecated This is a draft API and might change in a future release of ICU.
|
||||
*/
|
||||
@Deprecated
|
||||
UnicodeMatcher lookupMatcher(int ch);
|
||||
|
||||
/**
|
||||
* Parse a symbol reference name from the given string, starting
|
||||
* at the given position. If no valid symbol reference name is
|
||||
* found, return null and leave pos unchanged. That is, if the
|
||||
* character at pos cannot start a name, or if pos is at or after
|
||||
* text.length(), then return null. This indicates an isolated
|
||||
* SYMBOL_REF character.
|
||||
* @param text the text to parse for the name
|
||||
* @param pos on entry, the index of the first character to parse.
|
||||
* This is the character following the SYMBOL_REF character. On
|
||||
* exit, the index after the last parsed character. If the parse
|
||||
* failed, pos is unchanged on exit.
|
||||
* @param limit the index after the last character to be parsed.
|
||||
* @return the parsed name, or null if there is no valid symbolic
|
||||
* name at the given position.
|
||||
* @draft ICU 2.8
|
||||
* @deprecated This is a draft API and might change in a future release of ICU.
|
||||
*/
|
||||
@Deprecated
|
||||
String parseReference(String text, ParsePosition pos, int limit);
|
||||
}
|
||||
419
jdkSrc/jdk8/sun/text/normalizer/Trie.java
Normal file
419
jdkSrc/jdk8/sun/text/normalizer/Trie.java
Normal file
@@ -0,0 +1,419 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* <p>A trie is a kind of compressed, serializable table of values
|
||||
* associated with Unicode code points (0..0x10ffff).</p>
|
||||
* <p>This class defines the basic structure of a trie and provides methods
|
||||
* to <b>retrieve the offsets to the actual data</b>.</p>
|
||||
* <p>Data will be the form of an array of basic types, char or int.</p>
|
||||
* <p>The actual data format will have to be specified by the user in the
|
||||
* inner static interface com.ibm.icu.impl.Trie.DataManipulate.</p>
|
||||
* <p>This trie implementation is optimized for getting offset while walking
|
||||
* forward through a UTF-16 string.
|
||||
* Therefore, the simplest and fastest access macros are the
|
||||
* fromLead() and fromOffsetTrail() methods.
|
||||
* The fromBMP() method are a little more complicated; they get offsets even
|
||||
* for lead surrogate codepoints, while the fromLead() method get special
|
||||
* "folded" offsets for lead surrogate code units if there is relevant data
|
||||
* associated with them.
|
||||
* From such a folded offsets, an offset needs to be extracted to supply
|
||||
* to the fromOffsetTrail() methods.
|
||||
* To handle such supplementary codepoints, some offset information are kept
|
||||
* in the data.</p>
|
||||
* <p>Methods in com.ibm.icu.impl.Trie.DataManipulate are called to retrieve
|
||||
* that offset from the folded value for the lead surrogate unit.</p>
|
||||
* <p>For examples of use, see com.ibm.icu.impl.CharTrie or
|
||||
* com.ibm.icu.impl.IntTrie.</p>
|
||||
* @author synwee
|
||||
* @see com.ibm.icu.impl.CharTrie
|
||||
* @see com.ibm.icu.impl.IntTrie
|
||||
* @since release 2.1, Jan 01 2002
|
||||
*/
|
||||
public abstract class Trie
|
||||
{
|
||||
// public class declaration ----------------------------------------
|
||||
|
||||
/**
|
||||
* Character data in com.ibm.impl.Trie have different user-specified format
|
||||
* for different purposes.
|
||||
* This interface specifies methods to be implemented in order for
|
||||
* com.ibm.impl.Trie, to surrogate offset information encapsulated within
|
||||
* the data.
|
||||
*/
|
||||
public static interface DataManipulate
|
||||
{
|
||||
/**
|
||||
* Called by com.ibm.icu.impl.Trie to extract from a lead surrogate's
|
||||
* data
|
||||
* the index array offset of the indexes for that lead surrogate.
|
||||
* @param value data value for a surrogate from the trie, including the
|
||||
* folding offset
|
||||
* @return data offset or 0 if there is no data for the lead surrogate
|
||||
*/
|
||||
public int getFoldingOffset(int value);
|
||||
}
|
||||
|
||||
// default implementation
|
||||
private static class DefaultGetFoldingOffset implements DataManipulate {
|
||||
public int getFoldingOffset(int value) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
// protected constructor -------------------------------------------
|
||||
|
||||
/**
|
||||
* Trie constructor for CharTrie use.
|
||||
* @param inputStream ICU data file input stream which contains the
|
||||
* trie
|
||||
* @param dataManipulate object containing the information to parse the
|
||||
* trie data
|
||||
* @throws IOException thrown when input stream does not have the
|
||||
* right header.
|
||||
*/
|
||||
protected Trie(InputStream inputStream,
|
||||
DataManipulate dataManipulate) throws IOException
|
||||
{
|
||||
DataInputStream input = new DataInputStream(inputStream);
|
||||
// Magic number to authenticate the data.
|
||||
int signature = input.readInt();
|
||||
m_options_ = input.readInt();
|
||||
|
||||
if (!checkHeader(signature)) {
|
||||
throw new IllegalArgumentException("ICU data file error: Trie header authentication failed, please check if you have the most updated ICU data file");
|
||||
}
|
||||
|
||||
if(dataManipulate != null) {
|
||||
m_dataManipulate_ = dataManipulate;
|
||||
} else {
|
||||
m_dataManipulate_ = new DefaultGetFoldingOffset();
|
||||
}
|
||||
m_isLatin1Linear_ = (m_options_ &
|
||||
HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_) != 0;
|
||||
m_dataOffset_ = input.readInt();
|
||||
m_dataLength_ = input.readInt();
|
||||
unserialize(inputStream);
|
||||
}
|
||||
|
||||
/**
|
||||
* Trie constructor
|
||||
* @param index array to be used for index
|
||||
* @param options used by the trie
|
||||
* @param dataManipulate object containing the information to parse the
|
||||
* trie data
|
||||
*/
|
||||
protected Trie(char index[], int options, DataManipulate dataManipulate)
|
||||
{
|
||||
m_options_ = options;
|
||||
if(dataManipulate != null) {
|
||||
m_dataManipulate_ = dataManipulate;
|
||||
} else {
|
||||
m_dataManipulate_ = new DefaultGetFoldingOffset();
|
||||
}
|
||||
m_isLatin1Linear_ = (m_options_ &
|
||||
HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_) != 0;
|
||||
m_index_ = index;
|
||||
m_dataOffset_ = m_index_.length;
|
||||
}
|
||||
|
||||
// protected data members ------------------------------------------
|
||||
|
||||
/**
|
||||
* Lead surrogate code points' index displacement in the index array.
|
||||
* 0x10000-0xd800=0x2800
|
||||
* 0x2800 >> INDEX_STAGE_1_SHIFT_
|
||||
*/
|
||||
protected static final int LEAD_INDEX_OFFSET_ = 0x2800 >> 5;
|
||||
/**
|
||||
* Shift size for shifting right the input index. 1..9
|
||||
*/
|
||||
protected static final int INDEX_STAGE_1_SHIFT_ = 5;
|
||||
/**
|
||||
* Shift size for shifting left the index array values.
|
||||
* Increases possible data size with 16-bit index values at the cost
|
||||
* of compactability.
|
||||
* This requires blocks of stage 2 data to be aligned by
|
||||
* DATA_GRANULARITY.
|
||||
* 0..INDEX_STAGE_1_SHIFT
|
||||
*/
|
||||
protected static final int INDEX_STAGE_2_SHIFT_ = 2;
|
||||
/**
|
||||
* Number of data values in a stage 2 (data array) block.
|
||||
*/
|
||||
protected static final int DATA_BLOCK_LENGTH=1<<INDEX_STAGE_1_SHIFT_;
|
||||
/**
|
||||
* Mask for getting the lower bits from the input index.
|
||||
* DATA_BLOCK_LENGTH - 1.
|
||||
*/
|
||||
protected static final int INDEX_STAGE_3_MASK_ = DATA_BLOCK_LENGTH - 1;
|
||||
/** Number of bits of a trail surrogate that are used in index table lookups. */
|
||||
protected static final int SURROGATE_BLOCK_BITS=10-INDEX_STAGE_1_SHIFT_;
|
||||
/**
|
||||
* Number of index (stage 1) entries per lead surrogate.
|
||||
* Same as number of index entries for 1024 trail surrogates,
|
||||
* ==0x400>>INDEX_STAGE_1_SHIFT_
|
||||
*/
|
||||
protected static final int SURROGATE_BLOCK_COUNT=(1<<SURROGATE_BLOCK_BITS);
|
||||
/** Length of the BMP portion of the index (stage 1) array. */
|
||||
protected static final int BMP_INDEX_LENGTH=0x10000>>INDEX_STAGE_1_SHIFT_;
|
||||
/**
|
||||
* Surrogate mask to use when shifting offset to retrieve supplementary
|
||||
* values
|
||||
*/
|
||||
protected static final int SURROGATE_MASK_ = 0x3FF;
|
||||
/**
|
||||
* Index or UTF16 characters
|
||||
*/
|
||||
protected char m_index_[];
|
||||
/**
|
||||
* Internal TrieValue which handles the parsing of the data value.
|
||||
* This class is to be implemented by the user
|
||||
*/
|
||||
protected DataManipulate m_dataManipulate_;
|
||||
/**
|
||||
* Start index of the data portion of the trie. CharTrie combines
|
||||
* index and data into a char array, so this is used to indicate the
|
||||
* initial offset to the data portion.
|
||||
* Note this index always points to the initial value.
|
||||
*/
|
||||
protected int m_dataOffset_;
|
||||
/**
|
||||
* Length of the data array
|
||||
*/
|
||||
protected int m_dataLength_;
|
||||
|
||||
// protected methods -----------------------------------------------
|
||||
|
||||
/**
|
||||
* Gets the offset to the data which the surrogate pair points to.
|
||||
* @param lead lead surrogate
|
||||
* @param trail trailing surrogate
|
||||
* @return offset to data
|
||||
*/
|
||||
protected abstract int getSurrogateOffset(char lead, char trail);
|
||||
|
||||
/**
|
||||
* Gets the value at the argument index
|
||||
* @param index value at index will be retrieved
|
||||
* @return 32 bit value
|
||||
*/
|
||||
protected abstract int getValue(int index);
|
||||
|
||||
/**
|
||||
* Gets the default initial value
|
||||
* @return 32 bit value
|
||||
*/
|
||||
protected abstract int getInitialValue();
|
||||
|
||||
/**
|
||||
* Gets the offset to the data which the index ch after variable offset
|
||||
* points to.
|
||||
* Note for locating a non-supplementary character data offset, calling
|
||||
* <p>
|
||||
* getRawOffset(0, ch);
|
||||
* </p>
|
||||
* will do. Otherwise if it is a supplementary character formed by
|
||||
* surrogates lead and trail. Then we would have to call getRawOffset()
|
||||
* with getFoldingIndexOffset(). See getSurrogateOffset().
|
||||
* @param offset index offset which ch is to start from
|
||||
* @param ch index to be used after offset
|
||||
* @return offset to the data
|
||||
*/
|
||||
protected final int getRawOffset(int offset, char ch)
|
||||
{
|
||||
return (m_index_[offset + (ch >> INDEX_STAGE_1_SHIFT_)]
|
||||
<< INDEX_STAGE_2_SHIFT_)
|
||||
+ (ch & INDEX_STAGE_3_MASK_);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the offset to data which the BMP character points to
|
||||
* Treats a lead surrogate as a normal code point.
|
||||
* @param ch BMP character
|
||||
* @return offset to data
|
||||
*/
|
||||
protected final int getBMPOffset(char ch)
|
||||
{
|
||||
return (ch >= UTF16.LEAD_SURROGATE_MIN_VALUE
|
||||
&& ch <= UTF16.LEAD_SURROGATE_MAX_VALUE)
|
||||
? getRawOffset(LEAD_INDEX_OFFSET_, ch)
|
||||
: getRawOffset(0, ch);
|
||||
// using a getRawOffset(ch) makes no diff
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the offset to the data which this lead surrogate character points
|
||||
* to.
|
||||
* Data at the returned offset may contain folding offset information for
|
||||
* the next trailing surrogate character.
|
||||
* @param ch lead surrogate character
|
||||
* @return offset to data
|
||||
*/
|
||||
protected final int getLeadOffset(char ch)
|
||||
{
|
||||
return getRawOffset(0, ch);
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal trie getter from a code point.
|
||||
* Could be faster(?) but longer with
|
||||
* if((c32)<=0xd7ff) { (result)=_TRIE_GET_RAW(trie, data, 0, c32); }
|
||||
* Gets the offset to data which the codepoint points to
|
||||
* @param ch codepoint
|
||||
* @return offset to data
|
||||
*/
|
||||
protected final int getCodePointOffset(int ch)
|
||||
{
|
||||
// if ((ch >> 16) == 0) slower
|
||||
if (ch < 0) {
|
||||
return -1;
|
||||
} else if (ch < UTF16.LEAD_SURROGATE_MIN_VALUE) {
|
||||
// fastpath for the part of the BMP below surrogates (D800) where getRawOffset() works
|
||||
return getRawOffset(0, (char)ch);
|
||||
} else if (ch < UTF16.SUPPLEMENTARY_MIN_VALUE) {
|
||||
// BMP codepoint
|
||||
return getBMPOffset((char)ch);
|
||||
} else if (ch <= UCharacter.MAX_VALUE) {
|
||||
// look at the construction of supplementary characters
|
||||
// trail forms the ends of it.
|
||||
return getSurrogateOffset(UTF16.getLeadSurrogate(ch),
|
||||
(char)(ch & SURROGATE_MASK_));
|
||||
} else {
|
||||
// return -1 // if there is an error, in this case we return
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Parses the inputstream and creates the trie index with it.</p>
|
||||
* <p>This is overwritten by the child classes.
|
||||
* @param inputStream input stream containing the trie information
|
||||
* @exception IOException thrown when data reading fails.
|
||||
*/
|
||||
protected void unserialize(InputStream inputStream) throws IOException
|
||||
{
|
||||
//indexLength is a multiple of 1024 >> INDEX_STAGE_2_SHIFT_
|
||||
m_index_ = new char[m_dataOffset_];
|
||||
DataInputStream input = new DataInputStream(inputStream);
|
||||
for (int i = 0; i < m_dataOffset_; i ++) {
|
||||
m_index_[i] = input.readChar();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if this is a 32 bit trie
|
||||
* @return true if options specifies this is a 32 bit trie
|
||||
*/
|
||||
protected final boolean isIntTrie()
|
||||
{
|
||||
return (m_options_ & HEADER_OPTIONS_DATA_IS_32_BIT_) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if this is a 16 bit trie
|
||||
* @return true if this is a 16 bit trie
|
||||
*/
|
||||
protected final boolean isCharTrie()
|
||||
{
|
||||
return (m_options_ & HEADER_OPTIONS_DATA_IS_32_BIT_) == 0;
|
||||
}
|
||||
|
||||
// private data members --------------------------------------------
|
||||
|
||||
/**
|
||||
* Latin 1 option mask
|
||||
*/
|
||||
protected static final int HEADER_OPTIONS_LATIN1_IS_LINEAR_MASK_ = 0x200;
|
||||
/**
|
||||
* Constant number to authenticate the byte block
|
||||
*/
|
||||
protected static final int HEADER_SIGNATURE_ = 0x54726965;
|
||||
/**
|
||||
* Header option formatting
|
||||
*/
|
||||
private static final int HEADER_OPTIONS_SHIFT_MASK_ = 0xF;
|
||||
protected static final int HEADER_OPTIONS_INDEX_SHIFT_ = 4;
|
||||
protected static final int HEADER_OPTIONS_DATA_IS_32_BIT_ = 0x100;
|
||||
|
||||
/**
|
||||
* Flag indicator for Latin quick access data block
|
||||
*/
|
||||
private boolean m_isLatin1Linear_;
|
||||
|
||||
/**
|
||||
* <p>Trie options field.</p>
|
||||
* <p>options bit field:<br>
|
||||
* 9 1 = Latin-1 data is stored linearly at data + DATA_BLOCK_LENGTH<br>
|
||||
* 8 0 = 16-bit data, 1=32-bit data<br>
|
||||
* 7..4 INDEX_STAGE_1_SHIFT // 0..INDEX_STAGE_2_SHIFT<br>
|
||||
* 3..0 INDEX_STAGE_2_SHIFT // 1..9<br>
|
||||
*/
|
||||
private int m_options_;
|
||||
|
||||
// private methods ---------------------------------------------------
|
||||
|
||||
/**
|
||||
* Authenticates raw data header.
|
||||
* Checking the header information, signature and options.
|
||||
* @param signature This contains the options and type of a Trie
|
||||
* @return true if the header is authenticated valid
|
||||
*/
|
||||
private final boolean checkHeader(int signature)
|
||||
{
|
||||
// check the signature
|
||||
// Trie in big-endian US-ASCII (0x54726965).
|
||||
// Magic number to authenticate the data.
|
||||
if (signature != HEADER_SIGNATURE_) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((m_options_ & HEADER_OPTIONS_SHIFT_MASK_) !=
|
||||
INDEX_STAGE_1_SHIFT_ ||
|
||||
((m_options_ >> HEADER_OPTIONS_INDEX_SHIFT_) &
|
||||
HEADER_OPTIONS_SHIFT_MASK_)
|
||||
!= INDEX_STAGE_2_SHIFT_) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
548
jdkSrc/jdk8/sun/text/normalizer/TrieIterator.java
Normal file
548
jdkSrc/jdk8/sun/text/normalizer/TrieIterator.java
Normal file
@@ -0,0 +1,548 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
/**
|
||||
* <p>Class enabling iteration of the values in a Trie.</p>
|
||||
* <p>Result of each iteration contains the interval of codepoints that have
|
||||
* the same value type and the value type itself.</p>
|
||||
* <p>The comparison of each codepoint value is done via extract(), which the
|
||||
* default implementation is to return the value as it is.</p>
|
||||
* <p>Method extract() can be overwritten to perform manipulations on
|
||||
* codepoint values in order to perform specialized comparison.</p>
|
||||
* <p>TrieIterator is designed to be a generic iterator for the CharTrie
|
||||
* and the IntTrie, hence to accommodate both types of data, the return
|
||||
* result will be in terms of int (32 bit) values.</p>
|
||||
* <p>See com.ibm.icu.text.UCharacterTypeIterator for examples of use.</p>
|
||||
* <p>Notes for porting utrie_enum from icu4c to icu4j:<br>
|
||||
* Internally, icu4c's utrie_enum performs all iterations in its body. In Java
|
||||
* sense, the caller will have to pass a object with a callback function
|
||||
* UTrieEnumRange(const void *context, UChar32 start, UChar32 limit,
|
||||
* uint32_t value) into utrie_enum. utrie_enum will then find ranges of
|
||||
* codepoints with the same value as determined by
|
||||
* UTrieEnumValue(const void *context, uint32_t value). for each range,
|
||||
* utrie_enum calls the callback function to perform a task. In this way,
|
||||
* icu4c performs the iteration within utrie_enum.
|
||||
* To follow the JDK model, icu4j is slightly different from icu4c.
|
||||
* Instead of requesting the caller to implement an object for a callback.
|
||||
* The caller will have to implement a subclass of TrieIterator, fleshing out
|
||||
* the method extract(int) (equivalent to UTrieEnumValue). Independent of icu4j,
|
||||
* the caller will have to code his own iteration and flesh out the task
|
||||
* (equivalent to UTrieEnumRange) to be performed in the iteration loop.
|
||||
* </p>
|
||||
* <p>There are basically 3 usage scenarios for porting:</p>
|
||||
* <p>1) UTrieEnumValue is the only implemented callback then just implement a
|
||||
* subclass of TrieIterator and override the extract(int) method. The
|
||||
* extract(int) method is analogus to UTrieEnumValue callback.
|
||||
* </p>
|
||||
* <p>2) UTrieEnumValue and UTrieEnumRange both are implemented then implement
|
||||
* a subclass of TrieIterator, override the extract method and iterate, e.g
|
||||
* </p>
|
||||
* <p>utrie_enum(&normTrie, _enumPropertyStartsValue, _enumPropertyStartsRange,
|
||||
* set);<br>
|
||||
* In Java :<br>
|
||||
* <pre>
|
||||
* class TrieIteratorImpl extends TrieIterator{
|
||||
* public TrieIteratorImpl(Trie data){
|
||||
* super(data);
|
||||
* }
|
||||
* public int extract(int value){
|
||||
* // port the implementation of _enumPropertyStartsValue here
|
||||
* }
|
||||
* }
|
||||
* ....
|
||||
* TrieIterator fcdIter = new TrieIteratorImpl(fcdTrieImpl.fcdTrie);
|
||||
* while(fcdIter.next(result)) {
|
||||
* // port the implementation of _enumPropertyStartsRange
|
||||
* }
|
||||
* </pre>
|
||||
* </p>
|
||||
* <p>3) UTrieEnumRange is the only implemented callback then just implement
|
||||
* the while loop, when utrie_enum is called
|
||||
* <pre>
|
||||
* // utrie_enum(&fcdTrie, NULL, _enumPropertyStartsRange, set);
|
||||
* TrieIterator fcdIter = new TrieIterator(fcdTrieImpl.fcdTrie);
|
||||
* while(fcdIter.next(result)){
|
||||
* set.add(result.start);
|
||||
* }
|
||||
* </pre>
|
||||
* </p>
|
||||
* @author synwee
|
||||
* @see com.ibm.icu.impl.Trie
|
||||
* @see com.ibm.icu.lang.UCharacterTypeIterator
|
||||
* @since release 2.1, Jan 17 2002
|
||||
*/
|
||||
public class TrieIterator implements RangeValueIterator
|
||||
{
|
||||
|
||||
// public constructor ---------------------------------------------
|
||||
|
||||
/**
|
||||
* TrieEnumeration constructor
|
||||
* @param trie to be used
|
||||
* @exception IllegalArgumentException throw when argument is null.
|
||||
*/
|
||||
public TrieIterator(Trie trie)
|
||||
{
|
||||
if (trie == null) {
|
||||
throw new IllegalArgumentException(
|
||||
"Argument trie cannot be null");
|
||||
}
|
||||
m_trie_ = trie;
|
||||
// synwee: check that extract belongs to the child class
|
||||
m_initialValue_ = extract(m_trie_.getInitialValue());
|
||||
reset();
|
||||
}
|
||||
|
||||
// public methods -------------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Returns true if we are not at the end of the iteration, false
|
||||
* otherwise.</p>
|
||||
* <p>The next set of codepoints with the same value type will be
|
||||
* calculated during this call and returned in the arguement element.</p>
|
||||
* @param element return result
|
||||
* @return true if we are not at the end of the iteration, false otherwise.
|
||||
* @exception NoSuchElementException - if no more elements exist.
|
||||
* @see com.ibm.icu.util.RangeValueIterator.Element
|
||||
*/
|
||||
public final boolean next(Element element)
|
||||
{
|
||||
if (m_nextCodepoint_ > UCharacter.MAX_VALUE) {
|
||||
return false;
|
||||
}
|
||||
if (m_nextCodepoint_ < UCharacter.SUPPLEMENTARY_MIN_VALUE &&
|
||||
calculateNextBMPElement(element)) {
|
||||
return true;
|
||||
}
|
||||
calculateNextSupplementaryElement(element);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the iterator to the beginning of the iteration
|
||||
*/
|
||||
public final void reset()
|
||||
{
|
||||
m_currentCodepoint_ = 0;
|
||||
m_nextCodepoint_ = 0;
|
||||
m_nextIndex_ = 0;
|
||||
m_nextBlock_ = m_trie_.m_index_[0] << Trie.INDEX_STAGE_2_SHIFT_;
|
||||
if (m_nextBlock_ == 0) {
|
||||
m_nextValue_ = m_initialValue_;
|
||||
}
|
||||
else {
|
||||
m_nextValue_ = extract(m_trie_.getValue(m_nextBlock_));
|
||||
}
|
||||
m_nextBlockIndex_ = 0;
|
||||
m_nextTrailIndexOffset_ = TRAIL_SURROGATE_INDEX_BLOCK_LENGTH_;
|
||||
}
|
||||
|
||||
// protected methods ----------------------------------------------
|
||||
|
||||
/**
|
||||
* Called by next() to extracts a 32 bit value from a trie value
|
||||
* used for comparison.
|
||||
* This method is to be overwritten if special manipulation is to be done
|
||||
* to retrieve a relevant comparison.
|
||||
* The default function is to return the value as it is.
|
||||
* @param value a value from the trie
|
||||
* @return extracted value
|
||||
*/
|
||||
protected int extract(int value)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
// private methods ------------------------------------------------
|
||||
|
||||
/**
|
||||
* Set the result values
|
||||
* @param element return result object
|
||||
* @param start codepoint of range
|
||||
* @param limit (end + 1) codepoint of range
|
||||
* @param value common value of range
|
||||
*/
|
||||
private final void setResult(Element element, int start, int limit,
|
||||
int value)
|
||||
{
|
||||
element.start = start;
|
||||
element.limit = limit;
|
||||
element.value = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finding the next element.
|
||||
* This method is called just before returning the result of
|
||||
* next().
|
||||
* We always store the next element before it is requested.
|
||||
* In the case that we have to continue calculations into the
|
||||
* supplementary planes, a false will be returned.
|
||||
* @param element return result object
|
||||
* @return true if the next range is found, false if we have to proceed to
|
||||
* the supplementary range.
|
||||
*/
|
||||
private final boolean calculateNextBMPElement(Element element)
|
||||
{
|
||||
int currentBlock = m_nextBlock_;
|
||||
int currentValue = m_nextValue_;
|
||||
m_currentCodepoint_ = m_nextCodepoint_;
|
||||
m_nextCodepoint_ ++;
|
||||
m_nextBlockIndex_ ++;
|
||||
if (!checkBlockDetail(currentValue)) {
|
||||
setResult(element, m_currentCodepoint_, m_nextCodepoint_,
|
||||
currentValue);
|
||||
return true;
|
||||
}
|
||||
// synwee check that next block index == 0 here
|
||||
// enumerate BMP - the main loop enumerates data blocks
|
||||
while (m_nextCodepoint_ < UCharacter.SUPPLEMENTARY_MIN_VALUE) {
|
||||
m_nextIndex_ ++;
|
||||
// because of the way the character is split to form the index
|
||||
// the lead surrogate and trail surrogate can not be in the
|
||||
// mid of a block
|
||||
if (m_nextCodepoint_ == LEAD_SURROGATE_MIN_VALUE_) {
|
||||
// skip lead surrogate code units,
|
||||
// go to lead surrogate codepoints
|
||||
m_nextIndex_ = BMP_INDEX_LENGTH_;
|
||||
}
|
||||
else if (m_nextCodepoint_ == TRAIL_SURROGATE_MIN_VALUE_) {
|
||||
// go back to regular BMP code points
|
||||
m_nextIndex_ = m_nextCodepoint_ >> Trie.INDEX_STAGE_1_SHIFT_;
|
||||
}
|
||||
|
||||
m_nextBlockIndex_ = 0;
|
||||
if (!checkBlock(currentBlock, currentValue)) {
|
||||
setResult(element, m_currentCodepoint_, m_nextCodepoint_,
|
||||
currentValue);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
m_nextCodepoint_ --; // step one back since this value has not been
|
||||
m_nextBlockIndex_ --; // retrieved yet.
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the next supplementary element.
|
||||
* For each entry in the trie, the value to be delivered is passed through
|
||||
* extract().
|
||||
* We always store the next element before it is requested.
|
||||
* Called after calculateNextBMP() completes its round of BMP characters.
|
||||
* There is a slight difference in the usage of m_currentCodepoint_
|
||||
* here as compared to calculateNextBMP(). Though both represents the
|
||||
* lower bound of the next element, in calculateNextBMP() it gets set
|
||||
* at the start of any loop, where-else, in calculateNextSupplementary()
|
||||
* since m_currentCodepoint_ already contains the lower bound of the
|
||||
* next element (passed down from calculateNextBMP()), we keep it till
|
||||
* the end before resetting it to the new value.
|
||||
* Note, if there are no more iterations, it will never get to here.
|
||||
* Blocked out by next().
|
||||
* @param element return result object
|
||||
*/
|
||||
private final void calculateNextSupplementaryElement(Element element)
|
||||
{
|
||||
int currentValue = m_nextValue_;
|
||||
int currentBlock = m_nextBlock_;
|
||||
m_nextCodepoint_ ++;
|
||||
m_nextBlockIndex_ ++;
|
||||
|
||||
if (UTF16.getTrailSurrogate(m_nextCodepoint_)
|
||||
!= UTF16.TRAIL_SURROGATE_MIN_VALUE) {
|
||||
// this piece is only called when we are in the middle of a lead
|
||||
// surrogate block
|
||||
if (!checkNullNextTrailIndex() && !checkBlockDetail(currentValue)) {
|
||||
setResult(element, m_currentCodepoint_, m_nextCodepoint_,
|
||||
currentValue);
|
||||
m_currentCodepoint_ = m_nextCodepoint_;
|
||||
return;
|
||||
}
|
||||
// we have cleared one block
|
||||
m_nextIndex_ ++;
|
||||
m_nextTrailIndexOffset_ ++;
|
||||
if (!checkTrailBlock(currentBlock, currentValue)) {
|
||||
setResult(element, m_currentCodepoint_, m_nextCodepoint_,
|
||||
currentValue);
|
||||
m_currentCodepoint_ = m_nextCodepoint_;
|
||||
return;
|
||||
}
|
||||
}
|
||||
int nextLead = UTF16.getLeadSurrogate(m_nextCodepoint_);
|
||||
// enumerate supplementary code points
|
||||
while (nextLead < TRAIL_SURROGATE_MIN_VALUE_) {
|
||||
// lead surrogate access
|
||||
int leadBlock =
|
||||
m_trie_.m_index_[nextLead >> Trie.INDEX_STAGE_1_SHIFT_] <<
|
||||
Trie.INDEX_STAGE_2_SHIFT_;
|
||||
if (leadBlock == m_trie_.m_dataOffset_) {
|
||||
// no entries for a whole block of lead surrogates
|
||||
if (currentValue != m_initialValue_) {
|
||||
m_nextValue_ = m_initialValue_;
|
||||
m_nextBlock_ = 0;
|
||||
m_nextBlockIndex_ = 0;
|
||||
setResult(element, m_currentCodepoint_, m_nextCodepoint_,
|
||||
currentValue);
|
||||
m_currentCodepoint_ = m_nextCodepoint_;
|
||||
return;
|
||||
}
|
||||
|
||||
nextLead += DATA_BLOCK_LENGTH_;
|
||||
// number of total affected supplementary codepoints in one
|
||||
// block
|
||||
// this is not a simple addition of
|
||||
// DATA_BLOCK_SUPPLEMENTARY_LENGTH since we need to consider
|
||||
// that we might have moved some of the codepoints
|
||||
m_nextCodepoint_ = UCharacterProperty.getRawSupplementary(
|
||||
(char)nextLead,
|
||||
(char)UTF16.TRAIL_SURROGATE_MIN_VALUE);
|
||||
continue;
|
||||
}
|
||||
if (m_trie_.m_dataManipulate_ == null) {
|
||||
throw new NullPointerException(
|
||||
"The field DataManipulate in this Trie is null");
|
||||
}
|
||||
// enumerate trail surrogates for this lead surrogate
|
||||
m_nextIndex_ = m_trie_.m_dataManipulate_.getFoldingOffset(
|
||||
m_trie_.getValue(leadBlock +
|
||||
(nextLead & Trie.INDEX_STAGE_3_MASK_)));
|
||||
if (m_nextIndex_ <= 0) {
|
||||
// no data for this lead surrogate
|
||||
if (currentValue != m_initialValue_) {
|
||||
m_nextValue_ = m_initialValue_;
|
||||
m_nextBlock_ = 0;
|
||||
m_nextBlockIndex_ = 0;
|
||||
setResult(element, m_currentCodepoint_, m_nextCodepoint_,
|
||||
currentValue);
|
||||
m_currentCodepoint_ = m_nextCodepoint_;
|
||||
return;
|
||||
}
|
||||
m_nextCodepoint_ += TRAIL_SURROGATE_COUNT_;
|
||||
} else {
|
||||
m_nextTrailIndexOffset_ = 0;
|
||||
if (!checkTrailBlock(currentBlock, currentValue)) {
|
||||
setResult(element, m_currentCodepoint_, m_nextCodepoint_,
|
||||
currentValue);
|
||||
m_currentCodepoint_ = m_nextCodepoint_;
|
||||
return;
|
||||
}
|
||||
}
|
||||
nextLead ++;
|
||||
}
|
||||
|
||||
// deliver last range
|
||||
setResult(element, m_currentCodepoint_, UCharacter.MAX_VALUE + 1,
|
||||
currentValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal block value calculations
|
||||
* Performs calculations on a data block to find codepoints in m_nextBlock_
|
||||
* after the index m_nextBlockIndex_ that has the same value.
|
||||
* Note m_*_ variables at this point is the next codepoint whose value
|
||||
* has not been calculated.
|
||||
* But when returned with false, it will be the last codepoint whose
|
||||
* value has been calculated.
|
||||
* @param currentValue the value which other codepoints are tested against
|
||||
* @return true if the whole block has the same value as currentValue or if
|
||||
* the whole block has been calculated, false otherwise.
|
||||
*/
|
||||
private final boolean checkBlockDetail(int currentValue)
|
||||
{
|
||||
while (m_nextBlockIndex_ < DATA_BLOCK_LENGTH_) {
|
||||
m_nextValue_ = extract(m_trie_.getValue(m_nextBlock_ +
|
||||
m_nextBlockIndex_));
|
||||
if (m_nextValue_ != currentValue) {
|
||||
return false;
|
||||
}
|
||||
++ m_nextBlockIndex_;
|
||||
++ m_nextCodepoint_;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal block value calculations
|
||||
* Performs calculations on a data block to find codepoints in m_nextBlock_
|
||||
* that has the same value.
|
||||
* Will call checkBlockDetail() if highlevel check fails.
|
||||
* Note m_*_ variables at this point is the next codepoint whose value
|
||||
* has not been calculated.
|
||||
* @param currentBlock the initial block containing all currentValue
|
||||
* @param currentValue the value which other codepoints are tested against
|
||||
* @return true if the whole block has the same value as currentValue or if
|
||||
* the whole block has been calculated, false otherwise.
|
||||
*/
|
||||
private final boolean checkBlock(int currentBlock, int currentValue)
|
||||
{
|
||||
m_nextBlock_ = m_trie_.m_index_[m_nextIndex_] <<
|
||||
Trie.INDEX_STAGE_2_SHIFT_;
|
||||
if (m_nextBlock_ == currentBlock &&
|
||||
(m_nextCodepoint_ - m_currentCodepoint_) >= DATA_BLOCK_LENGTH_) {
|
||||
// the block is the same as the previous one, filled with
|
||||
// currentValue
|
||||
m_nextCodepoint_ += DATA_BLOCK_LENGTH_;
|
||||
}
|
||||
else if (m_nextBlock_ == 0) {
|
||||
// this is the all-initial-value block
|
||||
if (currentValue != m_initialValue_) {
|
||||
m_nextValue_ = m_initialValue_;
|
||||
m_nextBlockIndex_ = 0;
|
||||
return false;
|
||||
}
|
||||
m_nextCodepoint_ += DATA_BLOCK_LENGTH_;
|
||||
}
|
||||
else {
|
||||
if (!checkBlockDetail(currentValue)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal block value calculations
|
||||
* Performs calculations on multiple data blocks for a set of trail
|
||||
* surrogates to find codepoints in m_nextBlock_ that has the same value.
|
||||
* Will call checkBlock() for internal block checks.
|
||||
* Note m_*_ variables at this point is the next codepoint whose value
|
||||
* has not been calculated.
|
||||
* @param currentBlock the initial block containing all currentValue
|
||||
* @param currentValue the value which other codepoints are tested against
|
||||
* @return true if the whole block has the same value as currentValue or if
|
||||
* the whole block has been calculated, false otherwise.
|
||||
*/
|
||||
private final boolean checkTrailBlock(int currentBlock,
|
||||
int currentValue)
|
||||
{
|
||||
// enumerate code points for this lead surrogate
|
||||
while (m_nextTrailIndexOffset_ < TRAIL_SURROGATE_INDEX_BLOCK_LENGTH_)
|
||||
{
|
||||
// if we ever reach here, we are at the start of a new block
|
||||
m_nextBlockIndex_ = 0;
|
||||
// copy of most of the body of the BMP loop
|
||||
if (!checkBlock(currentBlock, currentValue)) {
|
||||
return false;
|
||||
}
|
||||
m_nextTrailIndexOffset_ ++;
|
||||
m_nextIndex_ ++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if we are beginning at the start of a initial block.
|
||||
* If we are then the rest of the codepoints in this initial block
|
||||
* has the same values.
|
||||
* We increment m_nextCodepoint_ and relevant data members if so.
|
||||
* This is used only in for the supplementary codepoints because
|
||||
* the offset to the trail indexes could be 0.
|
||||
* @return true if we are at the start of a initial block.
|
||||
*/
|
||||
private final boolean checkNullNextTrailIndex()
|
||||
{
|
||||
if (m_nextIndex_ <= 0) {
|
||||
m_nextCodepoint_ += TRAIL_SURROGATE_COUNT_ - 1;
|
||||
int nextLead = UTF16.getLeadSurrogate(m_nextCodepoint_);
|
||||
int leadBlock =
|
||||
m_trie_.m_index_[nextLead >> Trie.INDEX_STAGE_1_SHIFT_] <<
|
||||
Trie.INDEX_STAGE_2_SHIFT_;
|
||||
if (m_trie_.m_dataManipulate_ == null) {
|
||||
throw new NullPointerException(
|
||||
"The field DataManipulate in this Trie is null");
|
||||
}
|
||||
m_nextIndex_ = m_trie_.m_dataManipulate_.getFoldingOffset(
|
||||
m_trie_.getValue(leadBlock +
|
||||
(nextLead & Trie.INDEX_STAGE_3_MASK_)));
|
||||
m_nextIndex_ --;
|
||||
m_nextBlockIndex_ = DATA_BLOCK_LENGTH_;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// private data members --------------------------------------------
|
||||
|
||||
/**
|
||||
* Size of the stage 1 BMP indexes
|
||||
*/
|
||||
private static final int BMP_INDEX_LENGTH_ =
|
||||
0x10000 >> Trie.INDEX_STAGE_1_SHIFT_;
|
||||
/**
|
||||
* Lead surrogate minimum value
|
||||
*/
|
||||
private static final int LEAD_SURROGATE_MIN_VALUE_ = 0xD800;
|
||||
/**
|
||||
* Trail surrogate minimum value
|
||||
*/
|
||||
private static final int TRAIL_SURROGATE_MIN_VALUE_ = 0xDC00;
|
||||
/**
|
||||
* Number of trail surrogate
|
||||
*/
|
||||
private static final int TRAIL_SURROGATE_COUNT_ = 0x400;
|
||||
/**
|
||||
* Number of stage 1 indexes for supplementary calculations that maps to
|
||||
* each lead surrogate character.
|
||||
* See second pass into getRawOffset for the trail surrogate character.
|
||||
* 10 for significant number of bits for trail surrogates, 5 for what we
|
||||
* discard during shifting.
|
||||
*/
|
||||
private static final int TRAIL_SURROGATE_INDEX_BLOCK_LENGTH_ =
|
||||
1 << (10 - Trie.INDEX_STAGE_1_SHIFT_);
|
||||
/**
|
||||
* Number of data values in a stage 2 (data array) block.
|
||||
*/
|
||||
private static final int DATA_BLOCK_LENGTH_ =
|
||||
1 << Trie.INDEX_STAGE_1_SHIFT_;
|
||||
/**
|
||||
* Trie instance
|
||||
*/
|
||||
private Trie m_trie_;
|
||||
/**
|
||||
* Initial value for trie values
|
||||
*/
|
||||
private int m_initialValue_;
|
||||
/**
|
||||
* Next element results and data.
|
||||
*/
|
||||
private int m_currentCodepoint_;
|
||||
private int m_nextCodepoint_;
|
||||
private int m_nextValue_;
|
||||
private int m_nextIndex_;
|
||||
private int m_nextBlock_;
|
||||
private int m_nextBlockIndex_;
|
||||
private int m_nextTrailIndexOffset_;
|
||||
}
|
||||
179
jdkSrc/jdk8/sun/text/normalizer/UBiDiProps.java
Normal file
179
jdkSrc/jdk8/sun/text/normalizer/UBiDiProps.java
Normal file
@@ -0,0 +1,179 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
* file name: UBiDiProps.java
|
||||
* encoding: US-ASCII
|
||||
* tab size: 8 (not used)
|
||||
* indentation:4
|
||||
*
|
||||
* created on: 2005jan16
|
||||
* created by: Markus W. Scherer
|
||||
*
|
||||
* Low-level Unicode bidi/shaping properties access.
|
||||
* Java port of ubidi_props.h/.c.
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public final class UBiDiProps {
|
||||
// constructors etc. --------------------------------------------------- ***
|
||||
|
||||
// port of ubidi_openProps()
|
||||
public UBiDiProps() throws IOException{
|
||||
InputStream is=ICUData.getStream(DATA_FILE_NAME);
|
||||
BufferedInputStream b=new BufferedInputStream(is, 4096 /* data buffer size */);
|
||||
readData(b);
|
||||
b.close();
|
||||
is.close();
|
||||
|
||||
}
|
||||
|
||||
private void readData(InputStream is) throws IOException {
|
||||
DataInputStream inputStream=new DataInputStream(is);
|
||||
|
||||
// read the header
|
||||
ICUBinary.readHeader(inputStream, FMT, new IsAcceptable());
|
||||
|
||||
// read indexes[]
|
||||
int i, count;
|
||||
count=inputStream.readInt();
|
||||
if(count<IX_INDEX_TOP) {
|
||||
throw new IOException("indexes[0] too small in "+DATA_FILE_NAME);
|
||||
}
|
||||
indexes=new int[count];
|
||||
|
||||
indexes[0]=count;
|
||||
for(i=1; i<count; ++i) {
|
||||
indexes[i]=inputStream.readInt();
|
||||
}
|
||||
|
||||
// read the trie
|
||||
trie=new CharTrie(inputStream, null);
|
||||
|
||||
// read mirrors[]
|
||||
count=indexes[IX_MIRROR_LENGTH];
|
||||
if(count>0) {
|
||||
mirrors=new int[count];
|
||||
for(i=0; i<count; ++i) {
|
||||
mirrors[i]=inputStream.readInt();
|
||||
}
|
||||
}
|
||||
|
||||
// read jgArray[]
|
||||
count=indexes[IX_JG_LIMIT]-indexes[IX_JG_START];
|
||||
jgArray=new byte[count];
|
||||
for(i=0; i<count; ++i) {
|
||||
jgArray[i]=inputStream.readByte();
|
||||
}
|
||||
}
|
||||
|
||||
// implement ICUBinary.Authenticate
|
||||
private final class IsAcceptable implements ICUBinary.Authenticate {
|
||||
public boolean isDataVersionAcceptable(byte version[]) {
|
||||
return version[0]==1 &&
|
||||
version[2]==Trie.INDEX_STAGE_1_SHIFT_ && version[3]==Trie.INDEX_STAGE_2_SHIFT_;
|
||||
}
|
||||
}
|
||||
|
||||
// UBiDiProps singleton
|
||||
private static UBiDiProps gBdp=null;
|
||||
|
||||
// port of ubidi_getSingleton()
|
||||
public static final synchronized UBiDiProps getSingleton() throws IOException {
|
||||
if(gBdp==null) {
|
||||
gBdp=new UBiDiProps();
|
||||
}
|
||||
return gBdp;
|
||||
}
|
||||
|
||||
// UBiDiProps dummy singleton
|
||||
private static UBiDiProps gBdpDummy=null;
|
||||
|
||||
private UBiDiProps(boolean makeDummy) { // ignore makeDummy, only creates a unique signature
|
||||
indexes=new int[IX_TOP];
|
||||
indexes[0]=IX_TOP;
|
||||
trie=new CharTrie(0, 0, null); // dummy trie, always returns 0
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a singleton dummy object, one that works with no real data.
|
||||
* This can be used when the real data is not available.
|
||||
* Using the dummy can reduce checks for available data after an initial failure.
|
||||
* Port of ucase_getDummy().
|
||||
*/
|
||||
public static final synchronized UBiDiProps getDummy() {
|
||||
if(gBdpDummy==null) {
|
||||
gBdpDummy=new UBiDiProps(true);
|
||||
}
|
||||
return gBdpDummy;
|
||||
}
|
||||
|
||||
public final int getClass(int c) {
|
||||
return getClassFromProps(trie.getCodePointValue(c));
|
||||
}
|
||||
|
||||
// data members -------------------------------------------------------- ***
|
||||
private int indexes[];
|
||||
private int mirrors[];
|
||||
private byte jgArray[];
|
||||
|
||||
private CharTrie trie;
|
||||
|
||||
// data format constants ----------------------------------------------- ***
|
||||
private static final String DATA_FILE_NAME = "/sun/text/resources/ubidi.icu";
|
||||
|
||||
/* format "BiDi" */
|
||||
private static final byte FMT[]={ 0x42, 0x69, 0x44, 0x69 };
|
||||
|
||||
/* indexes into indexes[] */
|
||||
private static final int IX_INDEX_TOP=0;
|
||||
private static final int IX_MIRROR_LENGTH=3;
|
||||
|
||||
private static final int IX_JG_START=4;
|
||||
private static final int IX_JG_LIMIT=5;
|
||||
|
||||
private static final int IX_TOP=16;
|
||||
|
||||
private static final int CLASS_MASK= 0x0000001f;
|
||||
|
||||
private static final int getClassFromProps(int props) {
|
||||
return props&CLASS_MASK;
|
||||
}
|
||||
|
||||
}
|
||||
431
jdkSrc/jdk8/sun/text/normalizer/UCharacter.java
Normal file
431
jdkSrc/jdk8/sun/text/normalizer/UCharacter.java
Normal file
@@ -0,0 +1,431 @@
|
||||
/*
|
||||
* Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.MissingResourceException;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* The UCharacter class provides extensions to the
|
||||
* <a href="https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Character.html">
|
||||
* java.lang.Character</a> class. These extensions provide support for
|
||||
* more Unicode properties and together with the <a href=../text/UTF16.html>UTF16</a>
|
||||
* class, provide support for supplementary characters (those with code
|
||||
* points above U+FFFF).
|
||||
* Each ICU release supports the latest version of Unicode available at that time.
|
||||
* </p>
|
||||
* <p>
|
||||
* Code points are represented in these API using ints. While it would be
|
||||
* more convenient in Java to have a separate primitive datatype for them,
|
||||
* ints suffice in the meantime.
|
||||
* </p>
|
||||
* <p>
|
||||
* To use this class please add the jar file name icu4j.jar to the
|
||||
* class path, since it contains data files which supply the information used
|
||||
* by this file.<br>
|
||||
* E.g. In Windows <br>
|
||||
* <code>set CLASSPATH=%CLASSPATH%;$JAR_FILE_PATH/ucharacter.jar</code>.<br>
|
||||
* Otherwise, another method would be to copy the files uprops.dat and
|
||||
* unames.icu from the icu4j source subdirectory
|
||||
* <i>$ICU4J_SRC/src/com.ibm.icu.impl.data</i> to your class directory
|
||||
* <i>$ICU4J_CLASS/com.ibm.icu.impl.data</i>.
|
||||
* </p>
|
||||
* <p>
|
||||
* Aside from the additions for UTF-16 support, and the updated Unicode
|
||||
* properties, the main differences between UCharacter and Character are:
|
||||
* <ul>
|
||||
* <li> UCharacter is not designed to be a char wrapper and does not have
|
||||
* APIs to which involves management of that single char.<br>
|
||||
* These include:
|
||||
* <ul>
|
||||
* <li> char charValue(),
|
||||
* <li> int compareTo(java.lang.Character, java.lang.Character), etc.
|
||||
* </ul>
|
||||
* <li> UCharacter does not include Character APIs that are deprecated, nor
|
||||
* does it include the Java-specific character information, such as
|
||||
* boolean isJavaIdentifierPart(char ch).
|
||||
* <li> Character maps characters 'A' - 'Z' and 'a' - 'z' to the numeric
|
||||
* values '10' - '35'. UCharacter also does this in digit and
|
||||
* getNumericValue, to adhere to the java semantics of these
|
||||
* methods. New methods unicodeDigit, and
|
||||
* getUnicodeNumericValue do not treat the above code points
|
||||
* as having numeric values. This is a semantic change from ICU4J 1.3.1.
|
||||
* </ul>
|
||||
* <p>
|
||||
* Further detail differences can be determined from the program
|
||||
* <a href="http://source.icu-project.org/repos/icu/icu4j/trunk/src/com/ibm/icu/dev/test/lang/UCharacterCompare.java">
|
||||
* com.ibm.icu.dev.test.lang.UCharacterCompare</a>
|
||||
* </p>
|
||||
* <p>
|
||||
* In addition to Java compatibility functions, which calculate derived properties,
|
||||
* this API provides low-level access to the Unicode Character Database.
|
||||
* </p>
|
||||
* <p>
|
||||
* Unicode assigns each code point (not just assigned character) values for
|
||||
* many properties.
|
||||
* Most of them are simple boolean flags, or constants from a small enumerated list.
|
||||
* For some properties, values are strings or other relatively more complex types.
|
||||
* </p>
|
||||
* <p>
|
||||
* For more information see
|
||||
* "About the Unicode Character Database" (http://www.unicode.org/ucd/)
|
||||
* and the ICU User Guide chapter on Properties (http://www.icu-project.org/userguide/properties.html).
|
||||
* </p>
|
||||
* <p>
|
||||
* There are also functions that provide easy migration from C/POSIX functions
|
||||
* like isblank(). Their use is generally discouraged because the C/POSIX
|
||||
* standards do not define their semantics beyond the ASCII range, which means
|
||||
* that different implementations exhibit very different behavior.
|
||||
* Instead, Unicode properties should be used directly.
|
||||
* </p>
|
||||
* <p>
|
||||
* There are also only a few, broad C/POSIX character classes, and they tend
|
||||
* to be used for conflicting purposes. For example, the "isalpha()" class
|
||||
* is sometimes used to determine word boundaries, while a more sophisticated
|
||||
* approach would at least distinguish initial letters from continuation
|
||||
* characters (the latter including combining marks).
|
||||
* (In ICU, BreakIterator is the most sophisticated API for word boundaries.)
|
||||
* Another example: There is no "istitle()" class for titlecase characters.
|
||||
* </p>
|
||||
* <p>
|
||||
* ICU 3.4 and later provides API access for all twelve C/POSIX character classes.
|
||||
* ICU implements them according to the Standard Recommendations in
|
||||
* Annex C: Compatibility Properties of UTS #18 Unicode Regular Expressions
|
||||
* (http://www.unicode.org/reports/tr18/#Compatibility_Properties).
|
||||
* </p>
|
||||
* <p>
|
||||
* API access for C/POSIX character classes is as follows:
|
||||
* - alpha: isUAlphabetic(c) or hasBinaryProperty(c, UProperty.ALPHABETIC)
|
||||
* - lower: isULowercase(c) or hasBinaryProperty(c, UProperty.LOWERCASE)
|
||||
* - upper: isUUppercase(c) or hasBinaryProperty(c, UProperty.UPPERCASE)
|
||||
* - punct: ((1<<getType(c)) & ((1<<DASH_PUNCTUATION)|(1<<START_PUNCTUATION)|(1<<END_PUNCTUATION)|(1<<CONNECTOR_PUNCTUATION)|(1<<OTHER_PUNCTUATION)|(1<<INITIAL_PUNCTUATION)|(1<<FINAL_PUNCTUATION)))!=0
|
||||
* - digit: isDigit(c) or getType(c)==DECIMAL_DIGIT_NUMBER
|
||||
* - xdigit: hasBinaryProperty(c, UProperty.POSIX_XDIGIT)
|
||||
* - alnum: hasBinaryProperty(c, UProperty.POSIX_ALNUM)
|
||||
* - space: isUWhiteSpace(c) or hasBinaryProperty(c, UProperty.WHITE_SPACE)
|
||||
* - blank: hasBinaryProperty(c, UProperty.POSIX_BLANK)
|
||||
* - cntrl: getType(c)==CONTROL
|
||||
* - graph: hasBinaryProperty(c, UProperty.POSIX_GRAPH)
|
||||
* - print: hasBinaryProperty(c, UProperty.POSIX_PRINT)
|
||||
* </p>
|
||||
* <p>
|
||||
* The C/POSIX character classes are also available in UnicodeSet patterns,
|
||||
* using patterns like [:graph:] or \p{graph}.
|
||||
* </p>
|
||||
* <p>
|
||||
* Note: There are several ICU (and Java) whitespace functions.
|
||||
* Comparison:
|
||||
* - isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property;
|
||||
* most of general categories "Z" (separators) + most whitespace ISO controls
|
||||
* (including no-break spaces, but excluding IS1..IS4 and ZWSP)
|
||||
* - isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces
|
||||
* - isSpaceChar: just Z (including no-break spaces)
|
||||
* </p>
|
||||
* <p>
|
||||
* This class is not subclassable
|
||||
* </p>
|
||||
* @author Syn Wee Quek
|
||||
* @stable ICU 2.1
|
||||
* @see com.ibm.icu.lang.UCharacterEnums
|
||||
*/
|
||||
|
||||
public final class UCharacter
|
||||
{
|
||||
|
||||
/**
|
||||
* Numeric Type constants.
|
||||
* @see UProperty#NUMERIC_TYPE
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public static interface NumericType
|
||||
{
|
||||
/**
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public static final int DECIMAL = 1;
|
||||
}
|
||||
|
||||
// public data members -----------------------------------------------
|
||||
|
||||
/**
|
||||
* The lowest Unicode code point value.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int MIN_VALUE = UTF16.CODEPOINT_MIN_VALUE;
|
||||
|
||||
/**
|
||||
* The highest Unicode code point value (scalar value) according to the
|
||||
* Unicode Standard.
|
||||
* This is a 21-bit value (21 bits, rounded up).<br>
|
||||
* Up-to-date Unicode implementation of java.lang.Character.MIN_VALUE
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int MAX_VALUE = UTF16.CODEPOINT_MAX_VALUE;
|
||||
|
||||
/**
|
||||
* The minimum value for Supplementary code points
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int SUPPLEMENTARY_MIN_VALUE =
|
||||
UTF16.SUPPLEMENTARY_MIN_VALUE;
|
||||
|
||||
// public methods ----------------------------------------------------
|
||||
|
||||
/**
|
||||
* Retrieves the numeric value of a decimal digit code point.
|
||||
* <br>This method observes the semantics of
|
||||
* <code>java.lang.Character.digit()</code>. Note that this
|
||||
* will return positive values for code points for which isDigit
|
||||
* returns false, just like java.lang.Character.
|
||||
* <br><em>Semantic Change:</em> In release 1.3.1 and
|
||||
* prior, this did not treat the European letters as having a
|
||||
* digit value, and also treated numeric letters and other numbers as
|
||||
* digits.
|
||||
* This has been changed to conform to the java semantics.
|
||||
* <br>A code point is a valid digit if and only if:
|
||||
* <ul>
|
||||
* <li>ch is a decimal digit or one of the european letters, and
|
||||
* <li>the value of ch is less than the specified radix.
|
||||
* </ul>
|
||||
* @param ch the code point to query
|
||||
* @param radix the radix
|
||||
* @return the numeric value represented by the code point in the
|
||||
* specified radix, or -1 if the code point is not a decimal digit
|
||||
* or if its value is too large for the radix
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static int digit(int ch, int radix)
|
||||
{
|
||||
// when ch is out of bounds getProperty == 0
|
||||
int props = getProperty(ch);
|
||||
int value;
|
||||
if (getNumericType(props) == NumericType.DECIMAL) {
|
||||
value = UCharacterProperty.getUnsignedValue(props);
|
||||
} else {
|
||||
value = getEuropeanDigit(ch);
|
||||
}
|
||||
return (0 <= value && value < radix) ? value : -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Bidirection property of a code point.
|
||||
* For example, 0x0041 (letter A) has the LEFT_TO_RIGHT directional
|
||||
* property.<br>
|
||||
* Result returned belongs to the interface
|
||||
* <a href=UCharacterDirection.html>UCharacterDirection</a>
|
||||
* @param ch the code point to be determined its direction
|
||||
* @return direction constant from UCharacterDirection.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static int getDirection(int ch)
|
||||
{
|
||||
return gBdp.getClass(ch);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a code point corresponding to the two UTF16 characters.
|
||||
* @param lead the lead char
|
||||
* @param trail the trail char
|
||||
* @return code point if surrogate characters are valid.
|
||||
* @exception IllegalArgumentException thrown when argument characters do
|
||||
* not form a valid codepoint
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static int getCodePoint(char lead, char trail)
|
||||
{
|
||||
if (UTF16.isLeadSurrogate(lead) && UTF16.isTrailSurrogate(trail)) {
|
||||
return UCharacterProperty.getRawSupplementary(lead, trail);
|
||||
}
|
||||
throw new IllegalArgumentException("Illegal surrogate characters");
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Get the "age" of the code point.</p>
|
||||
* <p>The "age" is the Unicode version when the code point was first
|
||||
* designated (as a non-character or for Private Use) or assigned a
|
||||
* character.
|
||||
* <p>This can be useful to avoid emitting code points to receiving
|
||||
* processes that do not accept newer characters.</p>
|
||||
* <p>The data is from the UCD file DerivedAge.txt.</p>
|
||||
* @param ch The code point.
|
||||
* @return the Unicode version number
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static VersionInfo getAge(int ch)
|
||||
{
|
||||
if (ch < MIN_VALUE || ch > MAX_VALUE) {
|
||||
throw new IllegalArgumentException("Codepoint out of bounds");
|
||||
}
|
||||
return PROPERTY_.getAge(ch);
|
||||
}
|
||||
|
||||
// private variables -------------------------------------------------
|
||||
|
||||
/**
|
||||
* Database storing the sets of character property
|
||||
*/
|
||||
private static final UCharacterProperty PROPERTY_;
|
||||
/**
|
||||
* For optimization
|
||||
*/
|
||||
private static final char[] PROPERTY_TRIE_INDEX_;
|
||||
private static final char[] PROPERTY_TRIE_DATA_;
|
||||
private static final int PROPERTY_INITIAL_VALUE_;
|
||||
|
||||
private static final UBiDiProps gBdp;
|
||||
|
||||
// block to initialise character property database
|
||||
static
|
||||
{
|
||||
try
|
||||
{
|
||||
PROPERTY_ = UCharacterProperty.getInstance();
|
||||
PROPERTY_TRIE_INDEX_ = PROPERTY_.m_trieIndex_;
|
||||
PROPERTY_TRIE_DATA_ = PROPERTY_.m_trieData_;
|
||||
PROPERTY_INITIAL_VALUE_ = PROPERTY_.m_trieInitialValue_;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new MissingResourceException(e.getMessage(),"","");
|
||||
}
|
||||
|
||||
UBiDiProps bdp;
|
||||
try {
|
||||
bdp=UBiDiProps.getSingleton();
|
||||
} catch(IOException e) {
|
||||
bdp=UBiDiProps.getDummy();
|
||||
}
|
||||
gBdp=bdp;
|
||||
}
|
||||
|
||||
/**
|
||||
* Shift to get numeric type
|
||||
*/
|
||||
private static final int NUMERIC_TYPE_SHIFT_ = 5;
|
||||
/**
|
||||
* Mask to get numeric type
|
||||
*/
|
||||
private static final int NUMERIC_TYPE_MASK_ = 0x7 << NUMERIC_TYPE_SHIFT_;
|
||||
|
||||
// private methods ---------------------------------------------------
|
||||
|
||||
/**
|
||||
* Getting the digit values of characters like 'A' - 'Z', normal,
|
||||
* half-width and full-width. This method assumes that the other digit
|
||||
* characters are checked by the calling method.
|
||||
* @param ch character to test
|
||||
* @return -1 if ch is not a character of the form 'A' - 'Z', otherwise
|
||||
* its corresponding digit will be returned.
|
||||
*/
|
||||
private static int getEuropeanDigit(int ch) {
|
||||
if ((ch > 0x7a && ch < 0xff21)
|
||||
|| ch < 0x41 || (ch > 0x5a && ch < 0x61)
|
||||
|| ch > 0xff5a || (ch > 0xff3a && ch < 0xff41)) {
|
||||
return -1;
|
||||
}
|
||||
if (ch <= 0x7a) {
|
||||
// ch >= 0x41 or ch < 0x61
|
||||
return ch + 10 - ((ch <= 0x5a) ? 0x41 : 0x61);
|
||||
}
|
||||
// ch >= 0xff21
|
||||
if (ch <= 0xff3a) {
|
||||
return ch + 10 - 0xff21;
|
||||
}
|
||||
// ch >= 0xff41 && ch <= 0xff5a
|
||||
return ch + 10 - 0xff41;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the numeric type of the property argument
|
||||
* @param props 32 bit property
|
||||
* @return the numeric type
|
||||
*/
|
||||
private static int getNumericType(int props)
|
||||
{
|
||||
return (props & NUMERIC_TYPE_MASK_) >> NUMERIC_TYPE_SHIFT_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property value at the index.
|
||||
* This is optimized.
|
||||
* Note this is alittle different from CharTrie the index m_trieData_
|
||||
* is never negative.
|
||||
* This is a duplicate of UCharacterProperty.getProperty. For optimization
|
||||
* purposes, this method calls the trie data directly instead of through
|
||||
* UCharacterProperty.getProperty.
|
||||
* @param ch code point whose property value is to be retrieved
|
||||
* @return property value of code point
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
private static final int getProperty(int ch)
|
||||
{
|
||||
if (ch < UTF16.LEAD_SURROGATE_MIN_VALUE
|
||||
|| (ch > UTF16.LEAD_SURROGATE_MAX_VALUE
|
||||
&& ch < UTF16.SUPPLEMENTARY_MIN_VALUE)) {
|
||||
// BMP codepoint 0000..D7FF or DC00..FFFF
|
||||
try { // using try for ch < 0 is faster than using an if statement
|
||||
return PROPERTY_TRIE_DATA_[
|
||||
(PROPERTY_TRIE_INDEX_[ch >> 5] << 2)
|
||||
+ (ch & 0x1f)];
|
||||
} catch (ArrayIndexOutOfBoundsException e) {
|
||||
return PROPERTY_INITIAL_VALUE_;
|
||||
}
|
||||
}
|
||||
if (ch <= UTF16.LEAD_SURROGATE_MAX_VALUE) {
|
||||
// lead surrogate D800..DBFF
|
||||
return PROPERTY_TRIE_DATA_[
|
||||
(PROPERTY_TRIE_INDEX_[(0x2800 >> 5) + (ch >> 5)] << 2)
|
||||
+ (ch & 0x1f)];
|
||||
}
|
||||
// for optimization
|
||||
if (ch <= UTF16.CODEPOINT_MAX_VALUE) {
|
||||
// supplementary code point 10000..10FFFF
|
||||
// look at the construction of supplementary characters
|
||||
// trail forms the ends of it.
|
||||
return PROPERTY_.m_trie_.getSurrogateValue(
|
||||
UTF16.getLeadSurrogate(ch),
|
||||
(char)(ch & 0x3ff));
|
||||
}
|
||||
// return m_dataOffset_ if there is an error, in this case we return
|
||||
// the default value: m_initialValue_
|
||||
// we cannot assume that m_initialValue_ is at offset 0
|
||||
// this is for optimization.
|
||||
return PROPERTY_INITIAL_VALUE_;
|
||||
}
|
||||
|
||||
}
|
||||
292
jdkSrc/jdk8/sun/text/normalizer/UCharacterIterator.java
Normal file
292
jdkSrc/jdk8/sun/text/normalizer/UCharacterIterator.java
Normal file
@@ -0,0 +1,292 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.text.CharacterIterator;
|
||||
|
||||
/**
|
||||
* Abstract class that defines an API for iteration on text objects.This is an
|
||||
* interface for forward and backward iteration and random access into a text
|
||||
* object. Forward iteration is done with post-increment and backward iteration
|
||||
* is done with pre-decrement semantics, while the
|
||||
* <code>java.text.CharacterIterator</code> interface methods provided forward
|
||||
* iteration with "pre-increment" and backward iteration with pre-decrement
|
||||
* semantics. This API is more efficient for forward iteration over code points.
|
||||
* The other major difference is that this API can do both code unit and code point
|
||||
* iteration, <code>java.text.CharacterIterator</code> can only iterate over
|
||||
* code units and is limited to BMP (0 - 0xFFFF)
|
||||
* @author Ram
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract class UCharacterIterator
|
||||
implements Cloneable {
|
||||
|
||||
/**
|
||||
* Protected default constructor for the subclasses
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
protected UCharacterIterator(){
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicator that we have reached the ends of the UTF16 text.
|
||||
* Moved from UForwardCharacterIterator.java
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public static final int DONE = -1;
|
||||
|
||||
// static final methods ----------------------------------------------------
|
||||
|
||||
/**
|
||||
* Returns a <code>UCharacterIterator</code> object given a
|
||||
* source string.
|
||||
* @param source a string
|
||||
* @return UCharacterIterator object
|
||||
* @exception IllegalArgumentException if the argument is null
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public static final UCharacterIterator getInstance(String source){
|
||||
return new ReplaceableUCharacterIterator(source);
|
||||
}
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Returns a <code>UCharacterIterator</code> object given a
|
||||
* source StringBuffer.
|
||||
* @param source an string buffer of UTF-16 code units
|
||||
* @return UCharacterIterator object
|
||||
* @exception IllegalArgumentException if the argument is null
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public static final UCharacterIterator getInstance(StringBuffer source){
|
||||
return new ReplaceableUCharacterIterator(source);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a <code>UCharacterIterator</code> object given a
|
||||
* CharacterIterator.
|
||||
* @param source a valid CharacterIterator object.
|
||||
* @return UCharacterIterator object
|
||||
* @exception IllegalArgumentException if the argument is null
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public static final UCharacterIterator getInstance(CharacterIterator source){
|
||||
return new CharacterIteratorWrapper(source);
|
||||
}
|
||||
|
||||
// public methods ----------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Returns the code unit at the current index. If index is out
|
||||
* of range, returns DONE. Index is not changed.
|
||||
* @return current code unit
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract int current();
|
||||
|
||||
/**
|
||||
* Returns the length of the text
|
||||
* @return length of the text
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract int getLength();
|
||||
|
||||
|
||||
/**
|
||||
* Gets the current index in text.
|
||||
* @return current index in text.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract int getIndex();
|
||||
|
||||
|
||||
/**
|
||||
* Returns the UTF16 code unit at index, and increments to the next
|
||||
* code unit (post-increment semantics). If index is out of
|
||||
* range, DONE is returned, and the iterator is reset to the limit
|
||||
* of the text.
|
||||
* @return the next UTF16 code unit, or DONE if the index is at the limit
|
||||
* of the text.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract int next();
|
||||
|
||||
/**
|
||||
* Returns the code point at index, and increments to the next code
|
||||
* point (post-increment semantics). If index does not point to a
|
||||
* valid surrogate pair, the behavior is the same as
|
||||
* <code>next()</code>. Otherwise the iterator is incremented past
|
||||
* the surrogate pair, and the code point represented by the pair
|
||||
* is returned.
|
||||
* @return the next codepoint in text, or DONE if the index is at
|
||||
* the limit of the text.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public int nextCodePoint(){
|
||||
int ch1 = next();
|
||||
if(UTF16.isLeadSurrogate((char)ch1)){
|
||||
int ch2 = next();
|
||||
if(UTF16.isTrailSurrogate((char)ch2)){
|
||||
return UCharacterProperty.getRawSupplementary((char)ch1,
|
||||
(char)ch2);
|
||||
}else if (ch2 != DONE) {
|
||||
// unmatched surrogate so back out
|
||||
previous();
|
||||
}
|
||||
}
|
||||
return ch1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Decrement to the position of the previous code unit in the
|
||||
* text, and return it (pre-decrement semantics). If the
|
||||
* resulting index is less than 0, the index is reset to 0 and
|
||||
* DONE is returned.
|
||||
* @return the previous code unit in the text, or DONE if the new
|
||||
* index is before the start of the text.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract int previous();
|
||||
|
||||
/**
|
||||
* Sets the index to the specified index in the text.
|
||||
* @param index the index within the text.
|
||||
* @exception IndexOutOfBoundsException is thrown if an invalid index is
|
||||
* supplied
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract void setIndex(int index);
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Fills the buffer with the underlying text storage of the iterator
|
||||
* If the buffer capacity is not enough a exception is thrown. The capacity
|
||||
* of the fill in buffer should at least be equal to length of text in the
|
||||
* iterator obtained by calling <code>getLength()</code>.
|
||||
* <b>Usage:</b>
|
||||
*
|
||||
* <code>
|
||||
* <pre>
|
||||
* UChacterIterator iter = new UCharacterIterator.getInstance(text);
|
||||
* char[] buf = new char[iter.getLength()];
|
||||
* iter.getText(buf);
|
||||
*
|
||||
* OR
|
||||
* char[] buf= new char[1];
|
||||
* int len = 0;
|
||||
* for(;;){
|
||||
* try{
|
||||
* len = iter.getText(buf);
|
||||
* break;
|
||||
* }catch(IndexOutOfBoundsException e){
|
||||
* buf = new char[iter.getLength()];
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
* </code>
|
||||
*
|
||||
* @param fillIn an array of chars to fill with the underlying UTF-16 code
|
||||
* units.
|
||||
* @param offset the position within the array to start putting the data.
|
||||
* @return the number of code units added to fillIn, as a convenience
|
||||
* @exception IndexOutOfBounds exception if there is not enough
|
||||
* room after offset in the array, or if offset < 0.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public abstract int getText(char[] fillIn, int offset);
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Convenience override for <code>getText(char[], int)</code> that provides
|
||||
* an offset of 0.
|
||||
* @param fillIn an array of chars to fill with the underlying UTF-16 code
|
||||
* units.
|
||||
* @return the number of code units added to fillIn, as a convenience
|
||||
* @exception IndexOutOfBounds exception if there is not enough
|
||||
* room in the array.
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public final int getText(char[] fillIn) {
|
||||
return getText(fillIn, 0);
|
||||
}
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Convenience method for returning the underlying text storage as as string
|
||||
* @return the underlying text storage in the iterator as a string
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public String getText() {
|
||||
char[] text = new char[getLength()];
|
||||
getText(text);
|
||||
return new String(text);
|
||||
}
|
||||
|
||||
/**
|
||||
* Moves the current position by the number of code units
|
||||
* specified, either forward or backward depending on the sign
|
||||
* of delta (positive or negative respectively). If the resulting
|
||||
* index would be less than zero, the index is set to zero, and if
|
||||
* the resulting index would be greater than limit, the index is
|
||||
* set to limit.
|
||||
*
|
||||
* @param delta the number of code units to move the current
|
||||
* index.
|
||||
* @return the new index.
|
||||
* @exception IndexOutOfBoundsException is thrown if an invalid index is
|
||||
* supplied
|
||||
* @stable ICU 2.4
|
||||
*
|
||||
*/
|
||||
public int moveIndex(int delta) {
|
||||
int x = Math.max(0, Math.min(getIndex() + delta, getLength()));
|
||||
setIndex(x);
|
||||
return x;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a copy of this iterator, independent from other iterators.
|
||||
* If it is not possible to clone the iterator, returns null.
|
||||
* @return copy of this iterator
|
||||
* @stable ICU 2.4
|
||||
*/
|
||||
public Object clone() throws CloneNotSupportedException{
|
||||
return super.clone();
|
||||
}
|
||||
|
||||
}
|
||||
369
jdkSrc/jdk8/sun/text/normalizer/UCharacterProperty.java
Normal file
369
jdkSrc/jdk8/sun/text/normalizer/UCharacterProperty.java
Normal file
@@ -0,0 +1,369 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.MissingResourceException;
|
||||
|
||||
/**
|
||||
* <p>Internal class used for Unicode character property database.</p>
|
||||
* <p>This classes store binary data read from uprops.icu.
|
||||
* It does not have the capability to parse the data into more high-level
|
||||
* information. It only returns bytes of information when required.</p>
|
||||
* <p>Due to the form most commonly used for retrieval, array of char is used
|
||||
* to store the binary data.</p>
|
||||
* <p>UCharacterPropertyDB also contains information on accessing indexes to
|
||||
* significant points in the binary data.</p>
|
||||
* <p>Responsibility for molding the binary data into more meaning form lies on
|
||||
* <a href=UCharacter.html>UCharacter</a>.</p>
|
||||
* @author Syn Wee Quek
|
||||
* @since release 2.1, february 1st 2002
|
||||
*/
|
||||
|
||||
public final class UCharacterProperty
|
||||
{
|
||||
// public data members -----------------------------------------------
|
||||
|
||||
/**
|
||||
* Trie data
|
||||
*/
|
||||
public CharTrie m_trie_;
|
||||
/**
|
||||
* Optimization
|
||||
* CharTrie index array
|
||||
*/
|
||||
public char[] m_trieIndex_;
|
||||
/**
|
||||
* Optimization
|
||||
* CharTrie data array
|
||||
*/
|
||||
public char[] m_trieData_;
|
||||
/**
|
||||
* Optimization
|
||||
* CharTrie data offset
|
||||
*/
|
||||
public int m_trieInitialValue_;
|
||||
/**
|
||||
* Unicode version
|
||||
*/
|
||||
public VersionInfo m_unicodeVersion_;
|
||||
|
||||
// uprops.h enum UPropertySource --------------------------------------- ***
|
||||
|
||||
/** From uchar.c/uprops.icu properties vectors trie */
|
||||
public static final int SRC_PROPSVEC=2;
|
||||
/** One more than the highest UPropertySource (SRC_) constant. */
|
||||
public static final int SRC_COUNT=9;
|
||||
|
||||
// public methods ----------------------------------------------------
|
||||
|
||||
/**
|
||||
* Java friends implementation
|
||||
*/
|
||||
public void setIndexData(CharTrie.FriendAgent friendagent)
|
||||
{
|
||||
m_trieIndex_ = friendagent.getPrivateIndex();
|
||||
m_trieData_ = friendagent.getPrivateData();
|
||||
m_trieInitialValue_ = friendagent.getPrivateInitialValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property value at the index.
|
||||
* This is optimized.
|
||||
* Note this is alittle different from CharTrie the index m_trieData_
|
||||
* is never negative.
|
||||
* @param ch code point whose property value is to be retrieved
|
||||
* @return property value of code point
|
||||
*/
|
||||
public final int getProperty(int ch)
|
||||
{
|
||||
if (ch < UTF16.LEAD_SURROGATE_MIN_VALUE
|
||||
|| (ch > UTF16.LEAD_SURROGATE_MAX_VALUE
|
||||
&& ch < UTF16.SUPPLEMENTARY_MIN_VALUE)) {
|
||||
// BMP codepoint 0000..D7FF or DC00..FFFF
|
||||
// optimized
|
||||
try { // using try for ch < 0 is faster than using an if statement
|
||||
return m_trieData_[
|
||||
(m_trieIndex_[ch >> Trie.INDEX_STAGE_1_SHIFT_]
|
||||
<< Trie.INDEX_STAGE_2_SHIFT_)
|
||||
+ (ch & Trie.INDEX_STAGE_3_MASK_)];
|
||||
} catch (ArrayIndexOutOfBoundsException e) {
|
||||
return m_trieInitialValue_;
|
||||
}
|
||||
}
|
||||
if (ch <= UTF16.LEAD_SURROGATE_MAX_VALUE) {
|
||||
// lead surrogate D800..DBFF
|
||||
return m_trieData_[
|
||||
(m_trieIndex_[Trie.LEAD_INDEX_OFFSET_
|
||||
+ (ch >> Trie.INDEX_STAGE_1_SHIFT_)]
|
||||
<< Trie.INDEX_STAGE_2_SHIFT_)
|
||||
+ (ch & Trie.INDEX_STAGE_3_MASK_)];
|
||||
}
|
||||
if (ch <= UTF16.CODEPOINT_MAX_VALUE) {
|
||||
// supplementary code point 10000..10FFFF
|
||||
// look at the construction of supplementary characters
|
||||
// trail forms the ends of it.
|
||||
return m_trie_.getSurrogateValue(
|
||||
UTF16.getLeadSurrogate(ch),
|
||||
(char)(ch & Trie.SURROGATE_MASK_));
|
||||
}
|
||||
// ch is out of bounds
|
||||
// return m_dataOffset_ if there is an error, in this case we return
|
||||
// the default value: m_initialValue_
|
||||
// we cannot assume that m_initialValue_ is at offset 0
|
||||
// this is for optimization.
|
||||
return m_trieInitialValue_;
|
||||
|
||||
// this all is an inlined form of return m_trie_.getCodePointValue(ch);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getting the unsigned numeric value of a character embedded in the property
|
||||
* argument
|
||||
* @param prop the character
|
||||
* @return unsigned numberic value
|
||||
*/
|
||||
public static int getUnsignedValue(int prop)
|
||||
{
|
||||
return (prop >> VALUE_SHIFT_) & UNSIGNED_VALUE_MASK_AFTER_SHIFT_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the unicode additional properties.
|
||||
* C version getUnicodeProperties.
|
||||
* @param codepoint codepoint whose additional properties is to be
|
||||
* retrieved
|
||||
* @param column
|
||||
* @return unicode properties
|
||||
*/
|
||||
public int getAdditional(int codepoint, int column) {
|
||||
if (column == -1) {
|
||||
return getProperty(codepoint);
|
||||
}
|
||||
if (column < 0 || column >= m_additionalColumnsCount_) {
|
||||
return 0;
|
||||
}
|
||||
return m_additionalVectors_[
|
||||
m_additionalTrie_.getCodePointValue(codepoint) + column];
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Get the "age" of the code point.</p>
|
||||
* <p>The "age" is the Unicode version when the code point was first
|
||||
* designated (as a non-character or for Private Use) or assigned a
|
||||
* character.</p>
|
||||
* <p>This can be useful to avoid emitting code points to receiving
|
||||
* processes that do not accept newer characters.</p>
|
||||
* <p>The data is from the UCD file DerivedAge.txt.</p>
|
||||
* <p>This API does not check the validity of the codepoint.</p>
|
||||
* @param codepoint The code point.
|
||||
* @return the Unicode version number
|
||||
*/
|
||||
public VersionInfo getAge(int codepoint)
|
||||
{
|
||||
int version = getAdditional(codepoint, 0) >> AGE_SHIFT_;
|
||||
return VersionInfo.getInstance(
|
||||
(version >> FIRST_NIBBLE_SHIFT_) & LAST_NIBBLE_MASK_,
|
||||
version & LAST_NIBBLE_MASK_, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Forms a supplementary code point from the argument character<br>
|
||||
* Note this is for internal use hence no checks for the validity of the
|
||||
* surrogate characters are done
|
||||
* @param lead lead surrogate character
|
||||
* @param trail trailing surrogate character
|
||||
* @return code point of the supplementary character
|
||||
*/
|
||||
public static int getRawSupplementary(char lead, char trail)
|
||||
{
|
||||
return (lead << LEAD_SURROGATE_SHIFT_) + trail + SURROGATE_OFFSET_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the property data and initialize the UCharacterProperty instance.
|
||||
* @throws MissingResourceException when data is missing or data has been corrupted
|
||||
*/
|
||||
public static UCharacterProperty getInstance()
|
||||
{
|
||||
if(INSTANCE_ == null) {
|
||||
try {
|
||||
INSTANCE_ = new UCharacterProperty();
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new MissingResourceException(e.getMessage(),"","");
|
||||
}
|
||||
}
|
||||
return INSTANCE_;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the argument c is to be treated as a white space in ICU
|
||||
* rules. Usually ICU rule white spaces are ignored unless quoted.
|
||||
* Equivalent to test for Pattern_White_Space Unicode property.
|
||||
* Stable set of characters, won't change.
|
||||
* See UAX #31 Identifier and Pattern Syntax: http://www.unicode.org/reports/tr31/
|
||||
* @param c codepoint to check
|
||||
* @return true if c is a ICU white space
|
||||
*/
|
||||
public static boolean isRuleWhiteSpace(int c)
|
||||
{
|
||||
/* "white space" in the sense of ICU rule parsers
|
||||
This is a FIXED LIST that is NOT DEPENDENT ON UNICODE PROPERTIES.
|
||||
See UAX #31 Identifier and Pattern Syntax: http://www.unicode.org/reports/tr31/
|
||||
U+0009..U+000D, U+0020, U+0085, U+200E..U+200F, and U+2028..U+2029
|
||||
Equivalent to test for Pattern_White_Space Unicode property.
|
||||
*/
|
||||
return (c >= 0x0009 && c <= 0x2029 &&
|
||||
(c <= 0x000D || c == 0x0020 || c == 0x0085 ||
|
||||
c == 0x200E || c == 0x200F || c >= 0x2028));
|
||||
}
|
||||
|
||||
// protected variables -----------------------------------------------
|
||||
|
||||
/**
|
||||
* Extra property trie
|
||||
*/
|
||||
CharTrie m_additionalTrie_;
|
||||
/**
|
||||
* Extra property vectors, 1st column for age and second for binary
|
||||
* properties.
|
||||
*/
|
||||
int m_additionalVectors_[];
|
||||
/**
|
||||
* Number of additional columns
|
||||
*/
|
||||
int m_additionalColumnsCount_;
|
||||
/**
|
||||
* Maximum values for block, bits used as in vector word
|
||||
* 0
|
||||
*/
|
||||
int m_maxBlockScriptValue_;
|
||||
/**
|
||||
* Maximum values for script, bits used as in vector word
|
||||
* 0
|
||||
*/
|
||||
int m_maxJTGValue_;
|
||||
|
||||
// private variables -------------------------------------------------
|
||||
|
||||
/**
|
||||
* UnicodeData.txt property object
|
||||
*/
|
||||
private static UCharacterProperty INSTANCE_ = null;
|
||||
|
||||
/**
|
||||
* Default name of the datafile
|
||||
*/
|
||||
private static final String DATA_FILE_NAME_ = "/sun/text/resources/uprops.icu";
|
||||
|
||||
/**
|
||||
* Default buffer size of datafile
|
||||
*/
|
||||
private static final int DATA_BUFFER_SIZE_ = 25000;
|
||||
|
||||
/**
|
||||
* Numeric value shift
|
||||
*/
|
||||
private static final int VALUE_SHIFT_ = 8;
|
||||
|
||||
/**
|
||||
* Mask to be applied after shifting to obtain an unsigned numeric value
|
||||
*/
|
||||
private static final int UNSIGNED_VALUE_MASK_AFTER_SHIFT_ = 0xFF;
|
||||
|
||||
/**
|
||||
* Shift value for lead surrogate to form a supplementary character.
|
||||
*/
|
||||
private static final int LEAD_SURROGATE_SHIFT_ = 10;
|
||||
/**
|
||||
* Offset to add to combined surrogate pair to avoid msking.
|
||||
*/
|
||||
private static final int SURROGATE_OFFSET_ =
|
||||
UTF16.SUPPLEMENTARY_MIN_VALUE -
|
||||
(UTF16.SURROGATE_MIN_VALUE <<
|
||||
LEAD_SURROGATE_SHIFT_) -
|
||||
UTF16.TRAIL_SURROGATE_MIN_VALUE;
|
||||
|
||||
// additional properties ----------------------------------------------
|
||||
|
||||
/**
|
||||
* First nibble shift
|
||||
*/
|
||||
private static final int FIRST_NIBBLE_SHIFT_ = 0x4;
|
||||
/**
|
||||
* Second nibble mask
|
||||
*/
|
||||
private static final int LAST_NIBBLE_MASK_ = 0xF;
|
||||
/**
|
||||
* Age value shift
|
||||
*/
|
||||
private static final int AGE_SHIFT_ = 24;
|
||||
|
||||
// private constructors --------------------------------------------------
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @exception IOException thrown when data reading fails or data corrupted
|
||||
*/
|
||||
private UCharacterProperty() throws IOException
|
||||
{
|
||||
// jar access
|
||||
InputStream is = ICUData.getRequiredStream(DATA_FILE_NAME_);
|
||||
BufferedInputStream b = new BufferedInputStream(is, DATA_BUFFER_SIZE_);
|
||||
UCharacterPropertyReader reader = new UCharacterPropertyReader(b);
|
||||
reader.read(this);
|
||||
b.close();
|
||||
|
||||
m_trie_.putIndexData(this);
|
||||
}
|
||||
|
||||
public void upropsvec_addPropertyStarts(UnicodeSet set) {
|
||||
/* add the start code point of each same-value range of the properties vectors trie */
|
||||
if(m_additionalColumnsCount_>0) {
|
||||
/* if m_additionalColumnsCount_==0 then the properties vectors trie may not be there at all */
|
||||
TrieIterator propsVectorsIter = new TrieIterator(m_additionalTrie_);
|
||||
RangeValueIterator.Element propsVectorsResult = new RangeValueIterator.Element();
|
||||
while(propsVectorsIter.next(propsVectorsResult)){
|
||||
set.add(propsVectorsResult.start);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
190
jdkSrc/jdk8/sun/text/normalizer/UCharacterPropertyReader.java
Normal file
190
jdkSrc/jdk8/sun/text/normalizer/UCharacterPropertyReader.java
Normal file
@@ -0,0 +1,190 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* <p>Internal reader class for ICU data file uprops.icu containing
|
||||
* Unicode codepoint data.</p>
|
||||
* <p>This class simply reads uprops.icu, authenticates that it is a valid
|
||||
* ICU data file and split its contents up into blocks of data for use in
|
||||
* <a href=UCharacterProperty.html>com.ibm.icu.impl.UCharacterProperty</a>.
|
||||
* </p>
|
||||
* <p>uprops.icu which is in big-endian format is jared together with this
|
||||
* package.</p>
|
||||
*
|
||||
* Unicode character properties file format see
|
||||
* (ICU4C)/source/tools/genprops/store.c
|
||||
*
|
||||
* @author Syn Wee Quek
|
||||
* @since release 2.1, February 1st 2002
|
||||
*/
|
||||
final class UCharacterPropertyReader implements ICUBinary.Authenticate
|
||||
{
|
||||
// public methods ----------------------------------------------------
|
||||
|
||||
public boolean isDataVersionAcceptable(byte version[])
|
||||
{
|
||||
return version[0] == DATA_FORMAT_VERSION_[0]
|
||||
&& version[2] == DATA_FORMAT_VERSION_[2]
|
||||
&& version[3] == DATA_FORMAT_VERSION_[3];
|
||||
}
|
||||
|
||||
// protected constructor ---------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Protected constructor.</p>
|
||||
* @param inputStream ICU uprop.dat file input stream
|
||||
* @exception IOException throw if data file fails authentication
|
||||
*/
|
||||
protected UCharacterPropertyReader(InputStream inputStream)
|
||||
throws IOException
|
||||
{
|
||||
m_unicodeVersion_ = ICUBinary.readHeader(inputStream, DATA_FORMAT_ID_,
|
||||
this);
|
||||
m_dataInputStream_ = new DataInputStream(inputStream);
|
||||
}
|
||||
|
||||
// protected methods -------------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Reads uprops.icu, parse it into blocks of data to be stored in
|
||||
* UCharacterProperty.</P
|
||||
* @param ucharppty UCharacterProperty instance
|
||||
* @exception IOException thrown when data reading fails
|
||||
*/
|
||||
protected void read(UCharacterProperty ucharppty) throws IOException
|
||||
{
|
||||
// read the indexes
|
||||
int count = INDEX_SIZE_;
|
||||
m_propertyOffset_ = m_dataInputStream_.readInt();
|
||||
count --;
|
||||
m_exceptionOffset_ = m_dataInputStream_.readInt();
|
||||
count --;
|
||||
m_caseOffset_ = m_dataInputStream_.readInt();
|
||||
count --;
|
||||
m_additionalOffset_ = m_dataInputStream_.readInt();
|
||||
count --;
|
||||
m_additionalVectorsOffset_ = m_dataInputStream_.readInt();
|
||||
count --;
|
||||
m_additionalColumnsCount_ = m_dataInputStream_.readInt();
|
||||
count --;
|
||||
m_reservedOffset_ = m_dataInputStream_.readInt();
|
||||
count --;
|
||||
m_dataInputStream_.skipBytes(3 << 2);
|
||||
count -= 3;
|
||||
ucharppty.m_maxBlockScriptValue_ = m_dataInputStream_.readInt();
|
||||
count --; // 10
|
||||
ucharppty.m_maxJTGValue_ = m_dataInputStream_.readInt();
|
||||
count --; // 11
|
||||
m_dataInputStream_.skipBytes(count << 2);
|
||||
|
||||
// read the trie index block
|
||||
// m_props_index_ in terms of ints
|
||||
ucharppty.m_trie_ = new CharTrie(m_dataInputStream_, null);
|
||||
|
||||
// skip the 32 bit properties block
|
||||
int size = m_exceptionOffset_ - m_propertyOffset_;
|
||||
m_dataInputStream_.skipBytes(size * 4);
|
||||
|
||||
// reads the 32 bit exceptions block
|
||||
size = m_caseOffset_ - m_exceptionOffset_;
|
||||
m_dataInputStream_.skipBytes(size * 4);
|
||||
|
||||
// reads the 32 bit case block
|
||||
size = (m_additionalOffset_ - m_caseOffset_) << 1;
|
||||
m_dataInputStream_.skipBytes(size * 2);
|
||||
|
||||
if(m_additionalColumnsCount_ > 0) {
|
||||
// reads the additional property block
|
||||
ucharppty.m_additionalTrie_ = new CharTrie(m_dataInputStream_, null);
|
||||
|
||||
// additional properties
|
||||
size = m_reservedOffset_ - m_additionalVectorsOffset_;
|
||||
ucharppty.m_additionalVectors_ = new int[size];
|
||||
for (int i = 0; i < size; i ++) {
|
||||
ucharppty.m_additionalVectors_[i] = m_dataInputStream_.readInt();
|
||||
}
|
||||
}
|
||||
|
||||
m_dataInputStream_.close();
|
||||
ucharppty.m_additionalColumnsCount_ = m_additionalColumnsCount_;
|
||||
ucharppty.m_unicodeVersion_ = VersionInfo.getInstance(
|
||||
(int)m_unicodeVersion_[0], (int)m_unicodeVersion_[1],
|
||||
(int)m_unicodeVersion_[2], (int)m_unicodeVersion_[3]);
|
||||
}
|
||||
|
||||
// private variables -------------------------------------------------
|
||||
|
||||
/**
|
||||
* Index size
|
||||
*/
|
||||
private static final int INDEX_SIZE_ = 16;
|
||||
|
||||
/**
|
||||
* ICU data file input stream
|
||||
*/
|
||||
private DataInputStream m_dataInputStream_;
|
||||
|
||||
/**
|
||||
* Offset information in the indexes.
|
||||
*/
|
||||
private int m_propertyOffset_;
|
||||
private int m_exceptionOffset_;
|
||||
private int m_caseOffset_;
|
||||
private int m_additionalOffset_;
|
||||
private int m_additionalVectorsOffset_;
|
||||
private int m_additionalColumnsCount_;
|
||||
private int m_reservedOffset_;
|
||||
private byte m_unicodeVersion_[];
|
||||
|
||||
/**
|
||||
* Data format "UPro".
|
||||
*/
|
||||
private static final byte DATA_FORMAT_ID_[] = {(byte)0x55, (byte)0x50,
|
||||
(byte)0x72, (byte)0x6F};
|
||||
/**
|
||||
* Format version; this code works with all versions with the same major
|
||||
* version number and the same Trie bit distribution.
|
||||
*/
|
||||
private static final byte DATA_FORMAT_VERSION_[] = {(byte)0x5, (byte)0,
|
||||
(byte)Trie.INDEX_STAGE_1_SHIFT_,
|
||||
(byte)Trie.INDEX_STAGE_2_SHIFT_};
|
||||
}
|
||||
538
jdkSrc/jdk8/sun/text/normalizer/UTF16.java
Normal file
538
jdkSrc/jdk8/sun/text/normalizer/UTF16.java
Normal file
@@ -0,0 +1,538 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
/**
|
||||
* <p>Standalone utility class providing UTF16 character conversions and
|
||||
* indexing conversions.</p>
|
||||
* <p>Code that uses strings alone rarely need modification.
|
||||
* By design, UTF-16 does not allow overlap, so searching for strings is a safe
|
||||
* operation. Similarly, concatenation is always safe. Substringing is safe if
|
||||
* the start and end are both on UTF-32 boundaries. In normal code, the values
|
||||
* for start and end are on those boundaries, since they arose from operations
|
||||
* like searching. If not, the nearest UTF-32 boundaries can be determined
|
||||
* using <code>bounds()</code>.</p>
|
||||
* <strong>Examples:</strong>
|
||||
* <p>The following examples illustrate use of some of these methods.
|
||||
* <pre>
|
||||
* // iteration forwards: Original
|
||||
* for (int i = 0; i < s.length(); ++i) {
|
||||
* char ch = s.charAt(i);
|
||||
* doSomethingWith(ch);
|
||||
* }
|
||||
*
|
||||
* // iteration forwards: Changes for UTF-32
|
||||
* int ch;
|
||||
* for (int i = 0; i < s.length(); i+=UTF16.getCharCount(ch)) {
|
||||
* ch = UTF16.charAt(s,i);
|
||||
* doSomethingWith(ch);
|
||||
* }
|
||||
*
|
||||
* // iteration backwards: Original
|
||||
* for (int i = s.length() -1; i >= 0; --i) {
|
||||
* char ch = s.charAt(i);
|
||||
* doSomethingWith(ch);
|
||||
* }
|
||||
*
|
||||
* // iteration backwards: Changes for UTF-32
|
||||
* int ch;
|
||||
* for (int i = s.length() -1; i > 0; i-=UTF16.getCharCount(ch)) {
|
||||
* ch = UTF16.charAt(s,i);
|
||||
* doSomethingWith(ch);
|
||||
* }
|
||||
* </pre>
|
||||
* <strong>Notes:</strong>
|
||||
* <ul>
|
||||
* <li>
|
||||
* <strong>Naming:</strong> For clarity, High and Low surrogates are called
|
||||
* <code>Lead</code> and <code>Trail</code> in the API, which gives a better
|
||||
* sense of their ordering in a string. <code>offset16</code> and
|
||||
* <code>offset32</code> are used to distinguish offsets to UTF-16
|
||||
* boundaries vs offsets to UTF-32 boundaries. <code>int char32</code> is
|
||||
* used to contain UTF-32 characters, as opposed to <code>char16</code>,
|
||||
* which is a UTF-16 code unit.
|
||||
* </li>
|
||||
* <li>
|
||||
* <strong>Roundtripping Offsets:</strong> You can always roundtrip from a
|
||||
* UTF-32 offset to a UTF-16 offset and back. Because of the difference in
|
||||
* structure, you can roundtrip from a UTF-16 offset to a UTF-32 offset and
|
||||
* back if and only if <code>bounds(string, offset16) != TRAIL</code>.
|
||||
* </li>
|
||||
* <li>
|
||||
* <strong>Exceptions:</strong> The error checking will throw an exception
|
||||
* if indices are out of bounds. Other than than that, all methods will
|
||||
* behave reasonably, even if unmatched surrogates or out-of-bounds UTF-32
|
||||
* values are present. <code>UCharacter.isLegal()</code> can be used to check
|
||||
* for validity if desired.
|
||||
* </li>
|
||||
* <li>
|
||||
* <strong>Unmatched Surrogates:</strong> If the string contains unmatched
|
||||
* surrogates, then these are counted as one UTF-32 value. This matches
|
||||
* their iteration behavior, which is vital. It also matches common display
|
||||
* practice as missing glyphs (see the Unicode Standard Section 5.4, 5.5).
|
||||
* </li>
|
||||
* <li>
|
||||
* <strong>Optimization:</strong> The method implementations may need
|
||||
* optimization if the compiler doesn't fold static final methods. Since
|
||||
* surrogate pairs will form an exceeding small percentage of all the text
|
||||
* in the world, the singleton case should always be optimized for.
|
||||
* </li>
|
||||
* </ul>
|
||||
* @author Mark Davis, with help from Markus Scherer
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
|
||||
public final class UTF16
|
||||
{
|
||||
// public variables ---------------------------------------------------
|
||||
|
||||
/**
|
||||
* The lowest Unicode code point value.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int CODEPOINT_MIN_VALUE = 0;
|
||||
/**
|
||||
* The highest Unicode code point value (scalar value) according to the
|
||||
* Unicode Standard.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int CODEPOINT_MAX_VALUE = 0x10ffff;
|
||||
/**
|
||||
* The minimum value for Supplementary code points
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int SUPPLEMENTARY_MIN_VALUE = 0x10000;
|
||||
/**
|
||||
* Lead surrogate minimum value
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int LEAD_SURROGATE_MIN_VALUE = 0xD800;
|
||||
/**
|
||||
* Trail surrogate minimum value
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int TRAIL_SURROGATE_MIN_VALUE = 0xDC00;
|
||||
/**
|
||||
* Lead surrogate maximum value
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int LEAD_SURROGATE_MAX_VALUE = 0xDBFF;
|
||||
/**
|
||||
* Trail surrogate maximum value
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int TRAIL_SURROGATE_MAX_VALUE = 0xDFFF;
|
||||
/**
|
||||
* Surrogate minimum value
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static final int SURROGATE_MIN_VALUE = LEAD_SURROGATE_MIN_VALUE;
|
||||
|
||||
// public method ------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Extract a single UTF-32 value from a string.
|
||||
* Used when iterating forwards or backwards (with
|
||||
* <code>UTF16.getCharCount()</code>, as well as random access. If a
|
||||
* validity check is required, use
|
||||
* <code><a href="../lang/UCharacter.html#isLegal(char)">
|
||||
* UCharacter.isLegal()</a></code> on the return value.
|
||||
* If the char retrieved is part of a surrogate pair, its supplementary
|
||||
* character will be returned. If a complete supplementary character is
|
||||
* not found the incomplete character will be returned
|
||||
* @param source array of UTF-16 chars
|
||||
* @param offset16 UTF-16 offset to the start of the character.
|
||||
* @return UTF-32 value for the UTF-32 value that contains the char at
|
||||
* offset16. The boundaries of that codepoint are the same as in
|
||||
* <code>bounds32()</code>.
|
||||
* @exception IndexOutOfBoundsException thrown if offset16 is out of
|
||||
* bounds.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static int charAt(String source, int offset16) {
|
||||
char single = source.charAt(offset16);
|
||||
if (single < LEAD_SURROGATE_MIN_VALUE) {
|
||||
return single;
|
||||
}
|
||||
return _charAt(source, offset16, single);
|
||||
}
|
||||
|
||||
private static int _charAt(String source, int offset16, char single) {
|
||||
if (single > TRAIL_SURROGATE_MAX_VALUE) {
|
||||
return single;
|
||||
}
|
||||
|
||||
// Convert the UTF-16 surrogate pair if necessary.
|
||||
// For simplicity in usage, and because the frequency of pairs is
|
||||
// low, look both directions.
|
||||
|
||||
if (single <= LEAD_SURROGATE_MAX_VALUE) {
|
||||
++offset16;
|
||||
if (source.length() != offset16) {
|
||||
char trail = source.charAt(offset16);
|
||||
if (trail >= TRAIL_SURROGATE_MIN_VALUE && trail <= TRAIL_SURROGATE_MAX_VALUE) {
|
||||
return UCharacterProperty.getRawSupplementary(single, trail);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
--offset16;
|
||||
if (offset16 >= 0) {
|
||||
// single is a trail surrogate so
|
||||
char lead = source.charAt(offset16);
|
||||
if (lead >= LEAD_SURROGATE_MIN_VALUE && lead <= LEAD_SURROGATE_MAX_VALUE) {
|
||||
return UCharacterProperty.getRawSupplementary(lead, single);
|
||||
}
|
||||
}
|
||||
}
|
||||
return single; // return unmatched surrogate
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract a single UTF-32 value from a substring.
|
||||
* Used when iterating forwards or backwards (with
|
||||
* <code>UTF16.getCharCount()</code>, as well as random access. If a
|
||||
* validity check is required, use
|
||||
* <code><a href="../lang/UCharacter.html#isLegal(char)">UCharacter.isLegal()
|
||||
* </a></code> on the return value.
|
||||
* If the char retrieved is part of a surrogate pair, its supplementary
|
||||
* character will be returned. If a complete supplementary character is
|
||||
* not found the incomplete character will be returned
|
||||
* @param source array of UTF-16 chars
|
||||
* @param start offset to substring in the source array for analyzing
|
||||
* @param limit offset to substring in the source array for analyzing
|
||||
* @param offset16 UTF-16 offset relative to start
|
||||
* @return UTF-32 value for the UTF-32 value that contains the char at
|
||||
* offset16. The boundaries of that codepoint are the same as in
|
||||
* <code>bounds32()</code>.
|
||||
* @exception IndexOutOfBoundsException thrown if offset16 is not within
|
||||
* the range of start and limit.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static int charAt(char source[], int start, int limit,
|
||||
int offset16)
|
||||
{
|
||||
offset16 += start;
|
||||
if (offset16 < start || offset16 >= limit) {
|
||||
throw new ArrayIndexOutOfBoundsException(offset16);
|
||||
}
|
||||
|
||||
char single = source[offset16];
|
||||
if (!isSurrogate(single)) {
|
||||
return single;
|
||||
}
|
||||
|
||||
// Convert the UTF-16 surrogate pair if necessary.
|
||||
// For simplicity in usage, and because the frequency of pairs is
|
||||
// low, look both directions.
|
||||
if (single <= LEAD_SURROGATE_MAX_VALUE) {
|
||||
offset16 ++;
|
||||
if (offset16 >= limit) {
|
||||
return single;
|
||||
}
|
||||
char trail = source[offset16];
|
||||
if (isTrailSurrogate(trail)) {
|
||||
return UCharacterProperty.getRawSupplementary(single, trail);
|
||||
}
|
||||
}
|
||||
else { // isTrailSurrogate(single), so
|
||||
if (offset16 == start) {
|
||||
return single;
|
||||
}
|
||||
offset16 --;
|
||||
char lead = source[offset16];
|
||||
if (isLeadSurrogate(lead))
|
||||
return UCharacterProperty.getRawSupplementary(lead, single);
|
||||
}
|
||||
return single; // return unmatched surrogate
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines how many chars this char32 requires.
|
||||
* If a validity check is required, use <code>
|
||||
* <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on
|
||||
* char32 before calling.
|
||||
* @param char32 the input codepoint.
|
||||
* @return 2 if is in supplementary space, otherwise 1.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static int getCharCount(int char32)
|
||||
{
|
||||
if (char32 < SUPPLEMENTARY_MIN_VALUE) {
|
||||
return 1;
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether the code value is a surrogate.
|
||||
* @param char16 the input character.
|
||||
* @return true iff the input character is a surrogate.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static boolean isSurrogate(char char16)
|
||||
{
|
||||
return LEAD_SURROGATE_MIN_VALUE <= char16 &&
|
||||
char16 <= TRAIL_SURROGATE_MAX_VALUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether the character is a trail surrogate.
|
||||
* @param char16 the input character.
|
||||
* @return true iff the input character is a trail surrogate.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static boolean isTrailSurrogate(char char16)
|
||||
{
|
||||
return (TRAIL_SURROGATE_MIN_VALUE <= char16 &&
|
||||
char16 <= TRAIL_SURROGATE_MAX_VALUE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether the character is a lead surrogate.
|
||||
* @param char16 the input character.
|
||||
* @return true iff the input character is a lead surrogate
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static boolean isLeadSurrogate(char char16)
|
||||
{
|
||||
return LEAD_SURROGATE_MIN_VALUE <= char16 &&
|
||||
char16 <= LEAD_SURROGATE_MAX_VALUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the lead surrogate.
|
||||
* If a validity check is required, use
|
||||
* <code><a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code>
|
||||
* on char32 before calling.
|
||||
* @param char32 the input character.
|
||||
* @return lead surrogate if the getCharCount(ch) is 2; <br>
|
||||
* and 0 otherwise (note: 0 is not a valid lead surrogate).
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static char getLeadSurrogate(int char32)
|
||||
{
|
||||
if (char32 >= SUPPLEMENTARY_MIN_VALUE) {
|
||||
return (char)(LEAD_SURROGATE_OFFSET_ +
|
||||
(char32 >> LEAD_SURROGATE_SHIFT_));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the trail surrogate.
|
||||
* If a validity check is required, use
|
||||
* <code><a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code>
|
||||
* on char32 before calling.
|
||||
* @param char32 the input character.
|
||||
* @return the trail surrogate if the getCharCount(ch) is 2; <br>otherwise
|
||||
* the character itself
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static char getTrailSurrogate(int char32)
|
||||
{
|
||||
if (char32 >= SUPPLEMENTARY_MIN_VALUE) {
|
||||
return (char)(TRAIL_SURROGATE_MIN_VALUE +
|
||||
(char32 & TRAIL_SURROGATE_MASK_));
|
||||
}
|
||||
|
||||
return (char)char32;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method corresponding to String.valueOf(char). Returns a one
|
||||
* or two char string containing the UTF-32 value in UTF16 format. If a
|
||||
* validity check is required, use
|
||||
* <code><a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code>
|
||||
* on char32 before calling.
|
||||
* @param char32 the input character.
|
||||
* @return string value of char32 in UTF16 format
|
||||
* @exception IllegalArgumentException thrown if char32 is a invalid
|
||||
* codepoint.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static String valueOf(int char32)
|
||||
{
|
||||
if (char32 < CODEPOINT_MIN_VALUE || char32 > CODEPOINT_MAX_VALUE) {
|
||||
throw new IllegalArgumentException("Illegal codepoint");
|
||||
}
|
||||
return toString(char32);
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a single UTF-32 value to the end of a StringBuffer.
|
||||
* If a validity check is required, use
|
||||
* <code><a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code>
|
||||
* on char32 before calling.
|
||||
* @param target the buffer to append to
|
||||
* @param char32 value to append.
|
||||
* @return the updated StringBuffer
|
||||
* @exception IllegalArgumentException thrown when char32 does not lie
|
||||
* within the range of the Unicode codepoints
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static StringBuffer append(StringBuffer target, int char32)
|
||||
{
|
||||
// Check for irregular values
|
||||
if (char32 < CODEPOINT_MIN_VALUE || char32 > CODEPOINT_MAX_VALUE) {
|
||||
throw new IllegalArgumentException("Illegal codepoint: " + Integer.toHexString(char32));
|
||||
}
|
||||
|
||||
// Write the UTF-16 values
|
||||
if (char32 >= SUPPLEMENTARY_MIN_VALUE)
|
||||
{
|
||||
target.append(getLeadSurrogate(char32));
|
||||
target.append(getTrailSurrogate(char32));
|
||||
}
|
||||
else {
|
||||
target.append((char)char32);
|
||||
}
|
||||
return target;
|
||||
}
|
||||
|
||||
//// for StringPrep
|
||||
/**
|
||||
* Shifts offset16 by the argument number of codepoints within a subarray.
|
||||
* @param source char array
|
||||
* @param start position of the subarray to be performed on
|
||||
* @param limit position of the subarray to be performed on
|
||||
* @param offset16 UTF16 position to shift relative to start
|
||||
* @param shift32 number of codepoints to shift
|
||||
* @return new shifted offset16 relative to start
|
||||
* @exception IndexOutOfBoundsException if the new offset16 is out of
|
||||
* bounds with respect to the subarray or the subarray bounds
|
||||
* are out of range.
|
||||
* @stable ICU 2.1
|
||||
*/
|
||||
public static int moveCodePointOffset(char source[], int start, int limit,
|
||||
int offset16, int shift32)
|
||||
{
|
||||
int size = source.length;
|
||||
int count;
|
||||
char ch;
|
||||
int result = offset16 + start;
|
||||
if (start<0 || limit<start) {
|
||||
throw new StringIndexOutOfBoundsException(start);
|
||||
}
|
||||
if (limit>size) {
|
||||
throw new StringIndexOutOfBoundsException(limit);
|
||||
}
|
||||
if (offset16<0 || result>limit) {
|
||||
throw new StringIndexOutOfBoundsException(offset16);
|
||||
}
|
||||
if (shift32 > 0 ) {
|
||||
if (shift32 + result > size) {
|
||||
throw new StringIndexOutOfBoundsException(result);
|
||||
}
|
||||
count = shift32;
|
||||
while (result < limit && count > 0)
|
||||
{
|
||||
ch = source[result];
|
||||
if (isLeadSurrogate(ch) && (result+1 < limit) &&
|
||||
isTrailSurrogate(source[result+1])) {
|
||||
result ++;
|
||||
}
|
||||
count --;
|
||||
result ++;
|
||||
}
|
||||
} else {
|
||||
if (result + shift32 < start) {
|
||||
throw new StringIndexOutOfBoundsException(result);
|
||||
}
|
||||
for (count=-shift32; count>0; count--) {
|
||||
result--;
|
||||
if (result<start) {
|
||||
break;
|
||||
}
|
||||
ch = source[result];
|
||||
if (isTrailSurrogate(ch) && result>start && isLeadSurrogate(source[result-1])) {
|
||||
result--;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count != 0) {
|
||||
throw new StringIndexOutOfBoundsException(shift32);
|
||||
}
|
||||
result -= start;
|
||||
return result;
|
||||
}
|
||||
|
||||
// private data members -------------------------------------------------
|
||||
|
||||
/**
|
||||
* Shift value for lead surrogate to form a supplementary character.
|
||||
*/
|
||||
private static final int LEAD_SURROGATE_SHIFT_ = 10;
|
||||
|
||||
/**
|
||||
* Mask to retrieve the significant value from a trail surrogate.
|
||||
*/
|
||||
private static final int TRAIL_SURROGATE_MASK_ = 0x3FF;
|
||||
|
||||
/**
|
||||
* Value that all lead surrogate starts with
|
||||
*/
|
||||
private static final int LEAD_SURROGATE_OFFSET_ =
|
||||
LEAD_SURROGATE_MIN_VALUE -
|
||||
(SUPPLEMENTARY_MIN_VALUE
|
||||
>> LEAD_SURROGATE_SHIFT_);
|
||||
|
||||
// private methods ------------------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Converts argument code point and returns a String object representing
|
||||
* the code point's value in UTF16 format.</p>
|
||||
* <p>This method does not check for the validity of the codepoint, the
|
||||
* results are not guaranteed if a invalid codepoint is passed as
|
||||
* argument.</p>
|
||||
* <p>The result is a string whose length is 1 for non-supplementary code
|
||||
* points, 2 otherwise.</p>
|
||||
* @param ch code point
|
||||
* @return string representation of the code point
|
||||
*/
|
||||
private static String toString(int ch)
|
||||
{
|
||||
if (ch < SUPPLEMENTARY_MIN_VALUE) {
|
||||
return String.valueOf((char)ch);
|
||||
}
|
||||
|
||||
StringBuffer result = new StringBuffer();
|
||||
result.append(getLeadSurrogate(ch));
|
||||
result.append(getTrailSurrogate(ch));
|
||||
return result.toString();
|
||||
}
|
||||
}
|
||||
58
jdkSrc/jdk8/sun/text/normalizer/UnicodeMatcher.java
Normal file
58
jdkSrc/jdk8/sun/text/normalizer/UnicodeMatcher.java
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. 1996-2005 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
/**
|
||||
* <code>UnicodeMatcher</code> defines a protocol for objects that can
|
||||
* match a range of characters in a Replaceable string.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public interface UnicodeMatcher {
|
||||
|
||||
/**
|
||||
* The character at index i, where i < contextStart || i >= contextLimit,
|
||||
* is ETHER. This allows explicit matching by rules and UnicodeSets
|
||||
* of text outside the context. In traditional terms, this allows anchoring
|
||||
* at the start and/or end.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
static final char ETHER = '\uFFFF';
|
||||
|
||||
}
|
||||
|
||||
//eof
|
||||
1869
jdkSrc/jdk8/sun/text/normalizer/UnicodeSet.java
Normal file
1869
jdkSrc/jdk8/sun/text/normalizer/UnicodeSet.java
Normal file
File diff suppressed because it is too large
Load Diff
219
jdkSrc/jdk8/sun/text/normalizer/UnicodeSetIterator.java
Normal file
219
jdkSrc/jdk8/sun/text/normalizer/UnicodeSetIterator.java
Normal file
@@ -0,0 +1,219 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
/**
|
||||
* UnicodeSetIterator iterates over the contents of a UnicodeSet. It
|
||||
* iterates over either code points or code point ranges. After all
|
||||
* code points or ranges have been returned, it returns the
|
||||
* multicharacter strings of the UnicodSet, if any.
|
||||
*
|
||||
* <p>To iterate over code points, use a loop like this:
|
||||
* <pre>
|
||||
* UnicodeSetIterator it(set);
|
||||
* while (set.next()) {
|
||||
* if (set.codepoint != UnicodeSetIterator::IS_STRING) {
|
||||
* processCodepoint(set.codepoint);
|
||||
* } else {
|
||||
* processString(set.string);
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* <p>To iterate over code point ranges, use a loop like this:
|
||||
* <pre>
|
||||
* UnicodeSetIterator it(set);
|
||||
* while (set.nextRange()) {
|
||||
* if (set.codepoint != UnicodeSetIterator::IS_STRING) {
|
||||
* processCodepointRange(set.codepoint, set.codepointEnd);
|
||||
* } else {
|
||||
* processString(set.string);
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
* @author M. Davis
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public class UnicodeSetIterator {
|
||||
|
||||
/**
|
||||
* Value of <tt>codepoint</tt> if the iterator points to a string.
|
||||
* If <tt>codepoint == IS_STRING</tt>, then examine
|
||||
* <tt>string</tt> for the current iteration result.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public static int IS_STRING = -1;
|
||||
|
||||
/**
|
||||
* Current code point, or the special value <tt>IS_STRING</tt>, if
|
||||
* the iterator points to a string.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public int codepoint;
|
||||
|
||||
/**
|
||||
* When iterating over ranges using <tt>nextRange()</tt>,
|
||||
* <tt>codepointEnd</tt> contains the inclusive end of the
|
||||
* iteration range, if <tt>codepoint != IS_STRING</tt>. If
|
||||
* iterating over code points using <tt>next()</tt>, or if
|
||||
* <tt>codepoint == IS_STRING</tt>, then the value of
|
||||
* <tt>codepointEnd</tt> is undefined.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public int codepointEnd;
|
||||
|
||||
/**
|
||||
* If <tt>codepoint == IS_STRING</tt>, then <tt>string</tt> points
|
||||
* to the current string. If <tt>codepoint != IS_STRING</tt>, the
|
||||
* value of <tt>string</tt> is undefined.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public String string;
|
||||
|
||||
/**
|
||||
* Create an iterator over the given set.
|
||||
* @param set set to iterate over
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public UnicodeSetIterator(UnicodeSet set) {
|
||||
reset(set);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the next element in the set, either a code point range
|
||||
* or a string. If there are no more elements in the set, return
|
||||
* false. If <tt>codepoint == IS_STRING</tt>, the value is a
|
||||
* string in the <tt>string</tt> field. Otherwise the value is a
|
||||
* range of one or more code points from <tt>codepoint</tt> to
|
||||
* <tt>codepointeEnd</tt> inclusive.
|
||||
*
|
||||
* <p>The order of iteration is all code points ranges in sorted
|
||||
* order, followed by all strings sorted order. Ranges are
|
||||
* disjoint and non-contiguous. <tt>string</tt> is undefined
|
||||
* unless <tt>codepoint == IS_STRING</tt>. Do not mix calls to
|
||||
* <tt>next()</tt> and <tt>nextRange()</tt> without calling
|
||||
* <tt>reset()</tt> between them. The results of doing so are
|
||||
* undefined.
|
||||
*
|
||||
* @return true if there was another element in the set and this
|
||||
* object contains the element.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public boolean nextRange() {
|
||||
if (nextElement <= endElement) {
|
||||
codepointEnd = endElement;
|
||||
codepoint = nextElement;
|
||||
nextElement = endElement+1;
|
||||
return true;
|
||||
}
|
||||
if (range < endRange) {
|
||||
loadRange(++range);
|
||||
codepointEnd = endElement;
|
||||
codepoint = nextElement;
|
||||
nextElement = endElement+1;
|
||||
return true;
|
||||
}
|
||||
|
||||
// stringIterator == null iff there are no string elements remaining
|
||||
|
||||
if (stringIterator == null) return false;
|
||||
codepoint = IS_STRING; // signal that value is actually a string
|
||||
string = stringIterator.next();
|
||||
if (!stringIterator.hasNext()) stringIterator = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets this iterator to visit the elements of the given set and
|
||||
* resets it to the start of that set. The iterator is valid only
|
||||
* so long as <tt>set</tt> is valid.
|
||||
* @param set the set to iterate over.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public void reset(UnicodeSet uset) {
|
||||
set = uset;
|
||||
reset();
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets this iterator to the start of the set.
|
||||
* @stable ICU 2.0
|
||||
*/
|
||||
public void reset() {
|
||||
endRange = set.getRangeCount() - 1;
|
||||
range = 0;
|
||||
endElement = -1;
|
||||
nextElement = 0;
|
||||
if (endRange >= 0) {
|
||||
loadRange(range);
|
||||
}
|
||||
stringIterator = null;
|
||||
if (set.strings != null) {
|
||||
stringIterator = set.strings.iterator();
|
||||
if (!stringIterator.hasNext()) stringIterator = null;
|
||||
}
|
||||
}
|
||||
|
||||
// ======================= PRIVATES ===========================
|
||||
|
||||
private UnicodeSet set;
|
||||
private int endRange = 0;
|
||||
private int range = 0;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
protected int endElement;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
protected int nextElement;
|
||||
private Iterator<String> stringIterator = null;
|
||||
|
||||
/**
|
||||
* Invariant: stringIterator is null when there are no (more) strings remaining
|
||||
*/
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
protected void loadRange(int aRange) {
|
||||
nextElement = set.getRangeStart(aRange);
|
||||
endElement = set.getRangeEnd(aRange);
|
||||
}
|
||||
}
|
||||
385
jdkSrc/jdk8/sun/text/normalizer/Utility.java
Normal file
385
jdkSrc/jdk8/sun/text/normalizer/Utility.java
Normal file
@@ -0,0 +1,385 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
public final class Utility {
|
||||
|
||||
/**
|
||||
* Convenience utility to compare two Object[]s
|
||||
* Ought to be in System.
|
||||
* @param len the length to compare.
|
||||
* The start indices and start+len must be valid.
|
||||
*/
|
||||
public final static boolean arrayRegionMatches(char[] source, int sourceStart,
|
||||
char[] target, int targetStart,
|
||||
int len)
|
||||
{
|
||||
int sourceEnd = sourceStart + len;
|
||||
int delta = targetStart - sourceStart;
|
||||
for (int i = sourceStart; i < sourceEnd; i++) {
|
||||
if (source[i]!=target[i + delta])
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert characters outside the range U+0020 to U+007F to
|
||||
* Unicode escapes, and convert backslash to a double backslash.
|
||||
*/
|
||||
public static final String escape(String s) {
|
||||
StringBuffer buf = new StringBuffer();
|
||||
for (int i=0; i<s.length(); ) {
|
||||
int c = UTF16.charAt(s, i);
|
||||
i += UTF16.getCharCount(c);
|
||||
if (c >= ' ' && c <= 0x007F) {
|
||||
if (c == '\\') {
|
||||
buf.append("\\\\"); // That is, "\\"
|
||||
} else {
|
||||
buf.append((char)c);
|
||||
}
|
||||
} else {
|
||||
boolean four = c <= 0xFFFF;
|
||||
buf.append(four ? "\\u" : "\\U");
|
||||
hex(c, four ? 4 : 8, buf);
|
||||
}
|
||||
}
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
/* This map must be in ASCENDING ORDER OF THE ESCAPE CODE */
|
||||
static private final char[] UNESCAPE_MAP = {
|
||||
/*" 0x22, 0x22 */
|
||||
/*' 0x27, 0x27 */
|
||||
/*? 0x3F, 0x3F */
|
||||
/*\ 0x5C, 0x5C */
|
||||
/*a*/ 0x61, 0x07,
|
||||
/*b*/ 0x62, 0x08,
|
||||
/*e*/ 0x65, 0x1b,
|
||||
/*f*/ 0x66, 0x0c,
|
||||
/*n*/ 0x6E, 0x0a,
|
||||
/*r*/ 0x72, 0x0d,
|
||||
/*t*/ 0x74, 0x09,
|
||||
/*v*/ 0x76, 0x0b
|
||||
};
|
||||
|
||||
/**
|
||||
* Convert an escape to a 32-bit code point value. We attempt
|
||||
* to parallel the icu4c unescapeAt() function.
|
||||
* @param offset16 an array containing offset to the character
|
||||
* <em>after</em> the backslash. Upon return offset16[0] will
|
||||
* be updated to point after the escape sequence.
|
||||
* @return character value from 0 to 10FFFF, or -1 on error.
|
||||
*/
|
||||
public static int unescapeAt(String s, int[] offset16) {
|
||||
int c;
|
||||
int result = 0;
|
||||
int n = 0;
|
||||
int minDig = 0;
|
||||
int maxDig = 0;
|
||||
int bitsPerDigit = 4;
|
||||
int dig;
|
||||
int i;
|
||||
boolean braces = false;
|
||||
|
||||
/* Check that offset is in range */
|
||||
int offset = offset16[0];
|
||||
int length = s.length();
|
||||
if (offset < 0 || offset >= length) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Fetch first UChar after '\\' */
|
||||
c = UTF16.charAt(s, offset);
|
||||
offset += UTF16.getCharCount(c);
|
||||
|
||||
/* Convert hexadecimal and octal escapes */
|
||||
switch (c) {
|
||||
case 'u':
|
||||
minDig = maxDig = 4;
|
||||
break;
|
||||
case 'U':
|
||||
minDig = maxDig = 8;
|
||||
break;
|
||||
case 'x':
|
||||
minDig = 1;
|
||||
if (offset < length && UTF16.charAt(s, offset) == 0x7B /*{*/) {
|
||||
++offset;
|
||||
braces = true;
|
||||
maxDig = 8;
|
||||
} else {
|
||||
maxDig = 2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
dig = UCharacter.digit(c, 8);
|
||||
if (dig >= 0) {
|
||||
minDig = 1;
|
||||
maxDig = 3;
|
||||
n = 1; /* Already have first octal digit */
|
||||
bitsPerDigit = 3;
|
||||
result = dig;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (minDig != 0) {
|
||||
while (offset < length && n < maxDig) {
|
||||
c = UTF16.charAt(s, offset);
|
||||
dig = UCharacter.digit(c, (bitsPerDigit == 3) ? 8 : 16);
|
||||
if (dig < 0) {
|
||||
break;
|
||||
}
|
||||
result = (result << bitsPerDigit) | dig;
|
||||
offset += UTF16.getCharCount(c);
|
||||
++n;
|
||||
}
|
||||
if (n < minDig) {
|
||||
return -1;
|
||||
}
|
||||
if (braces) {
|
||||
if (c != 0x7D /*}*/) {
|
||||
return -1;
|
||||
}
|
||||
++offset;
|
||||
}
|
||||
if (result < 0 || result >= 0x110000) {
|
||||
return -1;
|
||||
}
|
||||
// If an escape sequence specifies a lead surrogate, see
|
||||
// if there is a trail surrogate after it, either as an
|
||||
// escape or as a literal. If so, join them up into a
|
||||
// supplementary.
|
||||
if (offset < length &&
|
||||
UTF16.isLeadSurrogate((char) result)) {
|
||||
int ahead = offset+1;
|
||||
c = s.charAt(offset); // [sic] get 16-bit code unit
|
||||
if (c == '\\' && ahead < length) {
|
||||
int o[] = new int[] { ahead };
|
||||
c = unescapeAt(s, o);
|
||||
ahead = o[0];
|
||||
}
|
||||
if (UTF16.isTrailSurrogate((char) c)) {
|
||||
offset = ahead;
|
||||
result = UCharacterProperty.getRawSupplementary(
|
||||
(char) result, (char) c);
|
||||
}
|
||||
}
|
||||
offset16[0] = offset;
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Convert C-style escapes in table */
|
||||
for (i=0; i<UNESCAPE_MAP.length; i+=2) {
|
||||
if (c == UNESCAPE_MAP[i]) {
|
||||
offset16[0] = offset;
|
||||
return UNESCAPE_MAP[i+1];
|
||||
} else if (c < UNESCAPE_MAP[i]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Map \cX to control-X: X & 0x1F */
|
||||
if (c == 'c' && offset < length) {
|
||||
c = UTF16.charAt(s, offset);
|
||||
offset16[0] = offset + UTF16.getCharCount(c);
|
||||
return 0x1F & c;
|
||||
}
|
||||
|
||||
/* If no special forms are recognized, then consider
|
||||
* the backslash to generically escape the next character. */
|
||||
offset16[0] = offset;
|
||||
return c;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a integer to size width hex uppercase digits.
|
||||
* E.g., hex('a', 4, str) => "0041".
|
||||
* Append the output to the given StringBuffer.
|
||||
* If width is too small to fit, nothing will be appended to output.
|
||||
*/
|
||||
public static StringBuffer hex(int ch, int width, StringBuffer output) {
|
||||
return appendNumber(output, ch, 16, width);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a integer to size width (minimum) hex uppercase digits.
|
||||
* E.g., hex('a', 4, str) => "0041". If the integer requires more
|
||||
* than width digits, more will be used.
|
||||
*/
|
||||
public static String hex(int ch, int width) {
|
||||
StringBuffer buf = new StringBuffer();
|
||||
return appendNumber(buf, ch, 16, width).toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Skip over a sequence of zero or more white space characters
|
||||
* at pos. Return the index of the first non-white-space character
|
||||
* at or after pos, or str.length(), if there is none.
|
||||
*/
|
||||
public static int skipWhitespace(String str, int pos) {
|
||||
while (pos < str.length()) {
|
||||
int c = UTF16.charAt(str, pos);
|
||||
if (!UCharacterProperty.isRuleWhiteSpace(c)) {
|
||||
break;
|
||||
}
|
||||
pos += UTF16.getCharCount(c);
|
||||
}
|
||||
return pos;
|
||||
}
|
||||
|
||||
static final char DIGITS[] = {
|
||||
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
|
||||
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
|
||||
'U', 'V', 'W', 'X', 'Y', 'Z'
|
||||
};
|
||||
|
||||
/**
|
||||
* Append the digits of a positive integer to the given
|
||||
* <code>StringBuffer</code> in the given radix. This is
|
||||
* done recursively since it is easiest to generate the low-
|
||||
* order digit first, but it must be appended last.
|
||||
*
|
||||
* @param result is the <code>StringBuffer</code> to append to
|
||||
* @param n is the positive integer
|
||||
* @param radix is the radix, from 2 to 36 inclusive
|
||||
* @param minDigits is the minimum number of digits to append.
|
||||
*/
|
||||
private static void recursiveAppendNumber(StringBuffer result, int n,
|
||||
int radix, int minDigits)
|
||||
{
|
||||
int digit = n % radix;
|
||||
|
||||
if (n >= radix || minDigits > 1) {
|
||||
recursiveAppendNumber(result, n / radix, radix, minDigits - 1);
|
||||
}
|
||||
|
||||
result.append(DIGITS[digit]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a number to the given StringBuffer in the given radix.
|
||||
* Standard digits '0'-'9' are used and letters 'A'-'Z' for
|
||||
* radices 11 through 36.
|
||||
* @param result the digits of the number are appended here
|
||||
* @param n the number to be converted to digits; may be negative.
|
||||
* If negative, a '-' is prepended to the digits.
|
||||
* @param radix a radix from 2 to 36 inclusive.
|
||||
* @param minDigits the minimum number of digits, not including
|
||||
* any '-', to produce. Values less than 2 have no effect. One
|
||||
* digit is always emitted regardless of this parameter.
|
||||
* @return a reference to result
|
||||
*/
|
||||
public static StringBuffer appendNumber(StringBuffer result, int n,
|
||||
int radix, int minDigits)
|
||||
throws IllegalArgumentException
|
||||
{
|
||||
if (radix < 2 || radix > 36) {
|
||||
throw new IllegalArgumentException("Illegal radix " + radix);
|
||||
}
|
||||
|
||||
|
||||
int abs = n;
|
||||
|
||||
if (n < 0) {
|
||||
abs = -n;
|
||||
result.append("-");
|
||||
}
|
||||
|
||||
recursiveAppendNumber(result, abs, radix, minDigits);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the character is NOT printable ASCII. The tab,
|
||||
* newline and linefeed characters are considered unprintable.
|
||||
*/
|
||||
public static boolean isUnprintable(int c) {
|
||||
return !(c >= 0x20 && c <= 0x7E);
|
||||
}
|
||||
|
||||
/**
|
||||
* Escape unprintable characters using <backslash>uxxxx notation
|
||||
* for U+0000 to U+FFFF and <backslash>Uxxxxxxxx for U+10000 and
|
||||
* above. If the character is printable ASCII, then do nothing
|
||||
* and return FALSE. Otherwise, append the escaped notation and
|
||||
* return TRUE.
|
||||
*/
|
||||
public static boolean escapeUnprintable(StringBuffer result, int c) {
|
||||
if (isUnprintable(c)) {
|
||||
result.append('\\');
|
||||
if ((c & ~0xFFFF) != 0) {
|
||||
result.append('U');
|
||||
result.append(DIGITS[0xF&(c>>28)]);
|
||||
result.append(DIGITS[0xF&(c>>24)]);
|
||||
result.append(DIGITS[0xF&(c>>20)]);
|
||||
result.append(DIGITS[0xF&(c>>16)]);
|
||||
} else {
|
||||
result.append('u');
|
||||
}
|
||||
result.append(DIGITS[0xF&(c>>12)]);
|
||||
result.append(DIGITS[0xF&(c>>8)]);
|
||||
result.append(DIGITS[0xF&(c>>4)]);
|
||||
result.append(DIGITS[0xF&c]);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Similar to StringBuffer.getChars, version 1.3.
|
||||
* Since JDK 1.2 implements StringBuffer.getChars differently, this method
|
||||
* is here to provide consistent results.
|
||||
* To be removed after JDK 1.2 ceased to be the reference platform.
|
||||
* @param src source string buffer
|
||||
* @param srcBegin offset to the start of the src to retrieve from
|
||||
* @param srcEnd offset to the end of the src to retrieve from
|
||||
* @param dst char array to store the retrieved chars
|
||||
* @param dstBegin offset to the start of the destination char array to
|
||||
* store the retrieved chars
|
||||
*/
|
||||
public static void getChars(StringBuffer src, int srcBegin, int srcEnd,
|
||||
char dst[], int dstBegin)
|
||||
{
|
||||
if (srcBegin == srcEnd) {
|
||||
return;
|
||||
}
|
||||
src.getChars(srcBegin, srcEnd, dst, dstBegin);
|
||||
}
|
||||
|
||||
}
|
||||
185
jdkSrc/jdk8/sun/text/normalizer/VersionInfo.java
Normal file
185
jdkSrc/jdk8/sun/text/normalizer/VersionInfo.java
Normal file
@@ -0,0 +1,185 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
/*
|
||||
*******************************************************************************
|
||||
* (C) Copyright IBM Corp. and others, 1996-2009 - All Rights Reserved *
|
||||
* *
|
||||
* The original version of this source code and documentation is copyrighted *
|
||||
* and owned by IBM, These materials are provided under terms of a License *
|
||||
* Agreement between IBM and Sun. This technology is protected by multiple *
|
||||
* US and International patents. This notice and attribution to IBM may not *
|
||||
* to removed. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
package sun.text.normalizer;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Class to store version numbers of the form major.minor.milli.micro.
|
||||
* @author synwee
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public final class VersionInfo
|
||||
{
|
||||
|
||||
// public methods ------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Returns an instance of VersionInfo with the argument version.
|
||||
* @param version version String in the format of "major.minor.milli.micro"
|
||||
* or "major.minor.milli" or "major.minor" or "major",
|
||||
* where major, minor, milli, micro are non-negative numbers
|
||||
* <= 255. If the trailing version numbers are
|
||||
* not specified they are taken as 0s. E.g. Version "3.1" is
|
||||
* equivalent to "3.1.0.0".
|
||||
* @return an instance of VersionInfo with the argument version.
|
||||
* @exception throws an IllegalArgumentException when the argument version
|
||||
* is not in the right format
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static VersionInfo getInstance(String version)
|
||||
{
|
||||
int length = version.length();
|
||||
int array[] = {0, 0, 0, 0};
|
||||
int count = 0;
|
||||
int index = 0;
|
||||
|
||||
while (count < 4 && index < length) {
|
||||
char c = version.charAt(index);
|
||||
if (c == '.') {
|
||||
count ++;
|
||||
}
|
||||
else {
|
||||
c -= '0';
|
||||
if (c < 0 || c > 9) {
|
||||
throw new IllegalArgumentException(INVALID_VERSION_NUMBER_);
|
||||
}
|
||||
array[count] *= 10;
|
||||
array[count] += c;
|
||||
}
|
||||
index ++;
|
||||
}
|
||||
if (index != length) {
|
||||
throw new IllegalArgumentException(
|
||||
"Invalid version number: String '" + version + "' exceeds version format");
|
||||
}
|
||||
for (int i = 0; i < 4; i ++) {
|
||||
if (array[i] < 0 || array[i] > 255) {
|
||||
throw new IllegalArgumentException(INVALID_VERSION_NUMBER_);
|
||||
}
|
||||
}
|
||||
|
||||
return getInstance(array[0], array[1], array[2], array[3]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an instance of VersionInfo with the argument version.
|
||||
* @param major major version, non-negative number <= 255.
|
||||
* @param minor minor version, non-negative number <= 255.
|
||||
* @param milli milli version, non-negative number <= 255.
|
||||
* @param micro micro version, non-negative number <= 255.
|
||||
* @exception throws an IllegalArgumentException when either arguments are
|
||||
* negative or > 255
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public static VersionInfo getInstance(int major, int minor, int milli,
|
||||
int micro)
|
||||
{
|
||||
// checks if it is in the hashmap
|
||||
// else
|
||||
if (major < 0 || major > 255 || minor < 0 || minor > 255 ||
|
||||
milli < 0 || milli > 255 || micro < 0 || micro > 255) {
|
||||
throw new IllegalArgumentException(INVALID_VERSION_NUMBER_);
|
||||
}
|
||||
int version = getInt(major, minor, milli, micro);
|
||||
Integer key = Integer.valueOf(version);
|
||||
Object result = MAP_.get(key);
|
||||
if (result == null) {
|
||||
result = new VersionInfo(version);
|
||||
MAP_.put(key, result);
|
||||
}
|
||||
return (VersionInfo)result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares other with this VersionInfo.
|
||||
* @param other VersionInfo to be compared
|
||||
* @return 0 if the argument is a VersionInfo object that has version
|
||||
* information equals to this object.
|
||||
* Less than 0 if the argument is a VersionInfo object that has
|
||||
* version information greater than this object.
|
||||
* Greater than 0 if the argument is a VersionInfo object that
|
||||
* has version information less than this object.
|
||||
* @stable ICU 2.6
|
||||
*/
|
||||
public int compareTo(VersionInfo other)
|
||||
{
|
||||
return m_version_ - other.m_version_;
|
||||
}
|
||||
|
||||
// private data members ----------------------------------------------
|
||||
|
||||
/**
|
||||
* Version number stored as a byte for each of the major, minor, milli and
|
||||
* micro numbers in the 32 bit int.
|
||||
* Most significant for the major and the least significant contains the
|
||||
* micro numbers.
|
||||
*/
|
||||
private int m_version_;
|
||||
/**
|
||||
* Map of singletons
|
||||
*/
|
||||
private static final HashMap<Integer, Object> MAP_ = new HashMap<>();
|
||||
/**
|
||||
* Error statement string
|
||||
*/
|
||||
private static final String INVALID_VERSION_NUMBER_ =
|
||||
"Invalid version number: Version number may be negative or greater than 255";
|
||||
|
||||
// private constructor -----------------------------------------------
|
||||
|
||||
/**
|
||||
* Constructor with int
|
||||
* @param compactversion a 32 bit int with each byte representing a number
|
||||
*/
|
||||
private VersionInfo(int compactversion)
|
||||
{
|
||||
m_version_ = compactversion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the int from the version numbers
|
||||
* @param major non-negative version number
|
||||
* @param minor non-negativeversion number
|
||||
* @param milli non-negativeversion number
|
||||
* @param micro non-negativeversion number
|
||||
*/
|
||||
private static int getInt(int major, int minor, int milli, int micro)
|
||||
{
|
||||
return (major << 24) | (minor << 16) | (milli << 8) | micro;
|
||||
}
|
||||
}
|
||||
67
jdkSrc/jdk8/sun/text/resources/BreakIteratorInfo.java
Normal file
67
jdkSrc/jdk8/sun/text/resources/BreakIteratorInfo.java
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Licensed Materials - Property of IBM
|
||||
*
|
||||
* (C) Copyright IBM Corp. 1999 All Rights Reserved.
|
||||
* (C) IBM Corp. 1997-1998. All Rights Reserved.
|
||||
*
|
||||
* The program is provided "as is" without any warranty express or
|
||||
* implied, including the warranty of non-infringement and the implied
|
||||
* warranties of merchantibility and fitness for a particular purpose.
|
||||
* IBM will not be liable for any damages suffered by you as a result
|
||||
* of using the Program. In no event will IBM be liable for any
|
||||
* special, indirect or consequential damages or lost profits even if
|
||||
* IBM has been advised of the possibility of their occurrence. IBM
|
||||
* will not be liable for any third party claims against you.
|
||||
*/
|
||||
|
||||
package sun.text.resources;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class BreakIteratorInfo extends ListResourceBundle {
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
// BreakIteratorClasses lists the class names to instantiate for each
|
||||
// built-in type of BreakIterator
|
||||
{"BreakIteratorClasses",
|
||||
new String[] {
|
||||
"RuleBasedBreakIterator", // character-break iterator class
|
||||
"RuleBasedBreakIterator", // word-break iterator class
|
||||
"RuleBasedBreakIterator", // line-break iterator class
|
||||
"RuleBasedBreakIterator" // sentence-break iterator class
|
||||
}
|
||||
},
|
||||
|
||||
// Rules filename for each break-iterator
|
||||
{"CharacterData", "CharacterBreakIteratorData"},
|
||||
{"WordData", "WordBreakIteratorData"},
|
||||
{"LineData", "LineBreakIteratorData"},
|
||||
{"SentenceData", "SentenceBreakIteratorData"},
|
||||
};
|
||||
}
|
||||
}
|
||||
379
jdkSrc/jdk8/sun/text/resources/BreakIteratorRules.java
Normal file
379
jdkSrc/jdk8/sun/text/resources/BreakIteratorRules.java
Normal file
@@ -0,0 +1,379 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Licensed Materials - Property of IBM
|
||||
*
|
||||
* (C) Copyright IBM Corp. 1999 All Rights Reserved.
|
||||
* (C) IBM Corp. 1997-1998. All Rights Reserved.
|
||||
*
|
||||
* The program is provided "as is" without any warranty express or
|
||||
* implied, including the warranty of non-infringement and the implied
|
||||
* warranties of merchantibility and fitness for a particular purpose.
|
||||
* IBM will not be liable for any damages suffered by you as a result
|
||||
* of using the Program. In no event will IBM be liable for any
|
||||
* special, indirect or consequential damages or lost profits even if
|
||||
* IBM has been advised of the possibility of their occurrence. IBM
|
||||
* will not be liable for any third party claims against you.
|
||||
*/
|
||||
|
||||
package sun.text.resources;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
/**
|
||||
* Default break-iterator rules. These rules are more or less general for
|
||||
* all locales, although there are probably a few we're missing. The
|
||||
* behavior currently mimics the behavior of BreakIterator in JDK 1.2.
|
||||
* There are known deficiencies in this behavior, including the fact that
|
||||
* the logic for handling CJK characters works for Japanese but not for
|
||||
* Chinese, and that we don't currently have an appropriate locale for
|
||||
* Thai. The resources will eventually be updated to fix these problems.
|
||||
*/
|
||||
|
||||
/* Modified for Hindi 3/1/99. */
|
||||
|
||||
/*
|
||||
* Since JDK 1.5.0, this file no longer goes to runtime and is used at J2SE
|
||||
* build phase in order to create [Character|Word|Line|Sentence]BreakIteratorData
|
||||
* files which are used on runtime instead.
|
||||
*/
|
||||
|
||||
public class BreakIteratorRules extends ListResourceBundle {
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
// rules describing how to break between logical characters
|
||||
{ "CharacterBreakRules",
|
||||
|
||||
// ignore non-spacing marks and enclosing marks (since we never
|
||||
// put a break before ignore characters, this keeps combining
|
||||
// accents with the base characters they modify)
|
||||
"<enclosing>=[:Mn::Me:];"
|
||||
|
||||
// other category definitions
|
||||
+ "<choseong>=[\u1100-\u115f];"
|
||||
+ "<jungseong>=[\u1160-\u11a7];"
|
||||
+ "<jongseong>=[\u11a8-\u11ff];"
|
||||
+ "<surr-hi>=[\ud800-\udbff];"
|
||||
+ "<surr-lo>=[\udc00-\udfff];"
|
||||
|
||||
// break after every character, except as follows:
|
||||
+ ".;"
|
||||
|
||||
// keep base and combining characters togethers
|
||||
+ "<base>=[^<enclosing>^[:Cc::Cf::Zl::Zp:]];"
|
||||
+ "<base><enclosing><enclosing>*;"
|
||||
|
||||
// keep CRLF sequences together
|
||||
+ "\r\n;"
|
||||
|
||||
// keep surrogate pairs together
|
||||
+ "<surr-hi><surr-lo>;"
|
||||
|
||||
// keep Hangul syllables spelled out using conjoining jamo together
|
||||
+ "<choseong>*<jungseong>*<jongseong>*;"
|
||||
|
||||
// various additions for Hindi support
|
||||
+ "<nukta>=[\u093c];"
|
||||
+ "<danda>=[\u0964\u0965];"
|
||||
+ "<virama>=[\u094d];"
|
||||
+ "<devVowelSign>=[\u093e-\u094c\u0962\u0963];"
|
||||
+ "<devConsonant>=[\u0915-\u0939];"
|
||||
+ "<devNuktaConsonant>=[\u0958-\u095f];"
|
||||
+ "<devCharEnd>=[\u0902\u0903\u0951-\u0954];"
|
||||
+ "<devCAMN>=(<devConsonant>{<nukta>});"
|
||||
+ "<devConsonant1>=(<devNuktaConsonant>|<devCAMN>);"
|
||||
+ "<zwj>=[\u200d];"
|
||||
+ "<devConjunct>=({<devConsonant1><virama>{<zwj>}}<devConsonant1>);"
|
||||
+ "<devConjunct>{<devVowelSign>}{<devCharEnd>};"
|
||||
+ "<danda><nukta>;"
|
||||
},
|
||||
|
||||
// default rules for finding word boundaries
|
||||
{ "WordBreakRules",
|
||||
// ignore non-spacing marks, enclosing marks, and format characters,
|
||||
// all of which should not influence the algorithm
|
||||
//"<ignore>=[:Mn::Me::Cf:];"
|
||||
"<ignore>=[:Cf:];"
|
||||
|
||||
+ "<enclosing>=[:Mn::Me:];"
|
||||
|
||||
// Hindi phrase separator, kanji, katakana, hiragana, CJK diacriticals,
|
||||
// other letters, and digits
|
||||
+ "<danda>=[\u0964\u0965];"
|
||||
+ "<kanji>=[\u3005\u4e00-\u9fa5\uf900-\ufa2d];"
|
||||
+ "<kata>=[\u30a1-\u30fa\u30fd\u30fe];"
|
||||
+ "<hira>=[\u3041-\u3094\u309d\u309e];"
|
||||
+ "<cjk-diacrit>=[\u3099-\u309c\u30fb\u30fc];"
|
||||
+ "<letter-base>=[:L::Mc:^[<kanji><kata><hira><cjk-diacrit>]];"
|
||||
+ "<let>=(<letter-base><enclosing>*);"
|
||||
+ "<digit-base>=[:N:];"
|
||||
+ "<dgt>=(<digit-base><enclosing>*);"
|
||||
|
||||
// punctuation that can occur in the middle of a word: currently
|
||||
// dashes, apostrophes, quotation marks, and periods
|
||||
+ "<mid-word>=[:Pd::Pc:\u00ad\u2027\\\"\\\'\\.];"
|
||||
|
||||
// punctuation that can occur in the middle of a number: currently
|
||||
// apostrophes, qoutation marks, periods, commas, and the Arabic
|
||||
// decimal point
|
||||
+ "<mid-num>=[\\\"\\\'\\,\u066b\\.];"
|
||||
|
||||
// punctuation that can occur at the beginning of a number: currently
|
||||
// the period, the number sign, and all currency symbols except the cents sign
|
||||
+ "<pre-num>=[:Sc:\\#\\.^\u00a2];"
|
||||
|
||||
// punctuation that can occur at the end of a number: currently
|
||||
// the percent, per-thousand, per-ten-thousand, and Arabic percent
|
||||
// signs, the cents sign, and the ampersand
|
||||
+ "<post-num>=[\\%\\&\u00a2\u066a\u2030\u2031];"
|
||||
|
||||
// line separators: currently LF, FF, PS, and LS
|
||||
+ "<ls>=[\n\u000c\u2028\u2029];"
|
||||
|
||||
// whitespace: all space separators and the tab character
|
||||
+ "<ws-base>=[:Zs:\t];"
|
||||
+ "<ws>=(<ws-base><enclosing>*);"
|
||||
|
||||
// a word is a sequence of letters that may contain internal
|
||||
// punctuation, as long as it begins and ends with a letter and
|
||||
// never contains two punctuation marks in a row
|
||||
+ "<word>=((<let><let>*(<mid-word><let><let>*)*){<danda>});"
|
||||
|
||||
// a number is a sequence of digits that may contain internal
|
||||
// punctuation, as long as it begins and ends with a digit and
|
||||
// never contains two punctuation marks in a row.
|
||||
+ "<number>=(<dgt><dgt>*(<mid-num><dgt><dgt>*)*);"
|
||||
|
||||
// break after every character, with the following exceptions
|
||||
// (this will cause punctuation marks that aren't considered
|
||||
// part of words or numbers to be treated as words unto themselves)
|
||||
+ ".;"
|
||||
|
||||
// keep together any sequence of contiguous words and numbers
|
||||
// (including just one of either), plus an optional trailing
|
||||
// number-suffix character
|
||||
+ "{<word>}(<number><word>)*{<number>{<post-num>}};"
|
||||
|
||||
// keep together and sequence of contiguous words and numbers
|
||||
// that starts with a number-prefix character and a number,
|
||||
// and may end with a number-suffix character
|
||||
+ "<pre-num>(<number><word>)*{<number>{<post-num>}};"
|
||||
|
||||
// keep together runs of whitespace (optionally with a single trailing
|
||||
// line separator or CRLF sequence)
|
||||
+ "<ws>*{\r}{<ls>};"
|
||||
|
||||
// keep together runs of Katakana and CJK diacritical marks
|
||||
+ "[<kata><cjk-diacrit>]*;"
|
||||
|
||||
// keep together runs of Hiragana and CJK diacritical marks
|
||||
+ "[<hira><cjk-diacrit>]*;"
|
||||
|
||||
// keep together runs of Kanji
|
||||
+ "<kanji>*;"
|
||||
|
||||
// keep together anything else and an enclosing mark
|
||||
+ "<base>=[^<enclosing>^[:Cc::Cf::Zl::Zp:]];"
|
||||
+ "<base><enclosing><enclosing>*;"
|
||||
},
|
||||
|
||||
// default rules for determining legal line-breaking positions
|
||||
{ "LineBreakRules",
|
||||
// characters that always cause a break: ETX, tab, LF, FF, LS, and PS
|
||||
"<break>=[\u0003\t\n\f\u2028\u2029];"
|
||||
|
||||
// ignore format characters and control characters EXCEPT for breaking chars
|
||||
+ "<ignore>=[:Cf:[:Cc:^[<break>\r]]];"
|
||||
|
||||
// enclosing marks
|
||||
+ "<enclosing>=[:Mn::Me:];"
|
||||
|
||||
// Hindi phrase separators
|
||||
+ "<danda>=[\u0964\u0965];"
|
||||
|
||||
// characters that always prevent a break: the non-breaking space
|
||||
// and similar characters
|
||||
+ "<glue>=[\u00a0\u0f0c\u2007\u2011\u202f\ufeff];"
|
||||
|
||||
// whitespace: space separators and control characters, except for
|
||||
// CR and the other characters mentioned above
|
||||
+ "<space>=[:Zs::Cc:^[<glue><break>\r]];"
|
||||
|
||||
// dashes: dash punctuation and the discretionary hyphen, except for
|
||||
// non-breaking hyphens
|
||||
+ "<dash>=[:Pd:\u00ad^<glue>];"
|
||||
|
||||
// characters that stick to a word if they precede it: currency symbols
|
||||
// (except the cents sign) and starting punctuation
|
||||
+ "<pre-word>=[:Sc::Ps::Pi:^[\u00a2]\\\"\\\'];"
|
||||
|
||||
// characters that stick to a word if they follow it: ending punctuation,
|
||||
// other punctuation that usually occurs at the end of a sentence,
|
||||
// small Kana characters, some CJK diacritics, etc.
|
||||
+ "<post-word>=[\\\":Pe::Pf:\\!\\%\\.\\,\\:\\;\\?\u00a2\u00b0\u066a\u2030-\u2034\u2103"
|
||||
+ "\u2105\u2109\u3001\u3002\u3005\u3041\u3043\u3045\u3047\u3049\u3063"
|
||||
+ "\u3083\u3085\u3087\u308e\u3099-\u309e\u30a1\u30a3\u30a5\u30a7\u30a9"
|
||||
+ "\u30c3\u30e3\u30e5\u30e7\u30ee\u30f5\u30f6\u30fc-\u30fe\uff01\uff05"
|
||||
+ "\uff0c\uff0e\uff1a\uff1b\uff1f];"
|
||||
|
||||
// Kanji: actually includes Kanji,Kana and Hangul syllables,
|
||||
// except for small Kana and CJK diacritics
|
||||
+ "<kanji>=[\u4e00-\u9fa5\uac00-\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\u3041-\u3094\u30a1-\u30fa^[<post-word><ignore>]];"
|
||||
|
||||
// digits
|
||||
+ "<digit>=[:Nd::No:];"
|
||||
|
||||
// punctuation that can occur in the middle of a number: periods and commas
|
||||
+ "<mid-num>=[\\.\\,];"
|
||||
|
||||
// everything not mentioned above
|
||||
+ "<char>=[^[<break><space><dash><kanji><glue><ignore><pre-word><post-word><mid-num>\r<danda>]];"
|
||||
|
||||
// a "number" is a run of prefix characters and dashes, followed by one or
|
||||
// more digits with isolated number-punctuation characters interspersed
|
||||
+ "<number>=([<pre-word><dash>]*<digit><digit>*(<mid-num><digit><digit>*)*);"
|
||||
|
||||
// the basic core of a word can be either a "number" as defined above, a single
|
||||
// "Kanji" character, or a run of any number of not-explicitly-mentioned
|
||||
// characters (this includes Latin letters)
|
||||
+ "<word-core>=(<char>*|<kanji>|<number>);"
|
||||
|
||||
// a word may end with an optional suffix that be either a run of one or
|
||||
// more dashes or a run of word-suffix characters
|
||||
+ "<word-suffix>=((<dash><dash>*|<post-word>*));"
|
||||
|
||||
// a word, thus, is an optional run of word-prefix characters, followed by
|
||||
// a word core and a word suffix (the syntax of <word-core> and <word-suffix>
|
||||
// actually allows either of them to match the empty string, putting a break
|
||||
// between things like ")(" or "aaa(aaa"
|
||||
+ "<word>=(<pre-word>*<word-core><word-suffix>);"
|
||||
|
||||
+ "<hack1>=[\\(];"
|
||||
+ "<hack2>=[\\)];"
|
||||
+ "<hack3>=[\\$\\'];"
|
||||
|
||||
// finally, the rule that does the work: Keep together any run of words that
|
||||
// are joined by runs of one of more non-spacing mark. Also keep a trailing
|
||||
// line-break character or CRLF combination with the word. (line separators
|
||||
// "win" over nbsp's)
|
||||
+ "<word>(((<space>*<glue><glue>*{<space>})|<hack3>)<word>)*<space>*{<enclosing>*}{<hack1><hack2><post-word>*}{<enclosing>*}{\r}{<break>};"
|
||||
+ "\r<break>;"
|
||||
},
|
||||
|
||||
// default rules for finding sentence boundaries
|
||||
{ "SentenceBreakRules",
|
||||
// ignore non-spacing marks, enclosing marks, and format characters
|
||||
"<ignore>=[:Mn::Me::Cf:];"
|
||||
|
||||
// letters
|
||||
+ "<letter>=[:L:];"
|
||||
|
||||
// lowercase letters
|
||||
+ "<lc>=[:Ll:];"
|
||||
|
||||
// uppercase letters
|
||||
+ "<uc>=[:Lu:];"
|
||||
|
||||
// NOT lowercase letters
|
||||
+ "<notlc>=[<letter>^<lc>];"
|
||||
|
||||
// whitespace (line separators are treated as whitespace)
|
||||
+ "<space>=[\t\r\f\n\u2028:Zs:];"
|
||||
|
||||
// punctuation which may occur at the beginning of a sentence: "starting
|
||||
// punctuation" and quotation marks
|
||||
+ "<start-punctuation>=[:Ps::Pi:\\\"\\\'];"
|
||||
|
||||
// punctuation with may occur at the end of a sentence: "ending punctuation"
|
||||
// and quotation marks
|
||||
+ "<end>=[:Pe::Pf:\\\"\\\'];"
|
||||
|
||||
// digits
|
||||
+ "<digit>=[:N:];"
|
||||
|
||||
// characters that unambiguously signal the end of a sentence
|
||||
+ "<term>=[\\!\\?\u3002\uff01\uff1f];"
|
||||
|
||||
// periods, which MAY signal the end of a sentence
|
||||
+ "<period>=[\\.\uff0e];"
|
||||
|
||||
// characters that may occur at the beginning of a sentence: basically anything
|
||||
// not mentioned above (letters and digits are specifically excluded)
|
||||
+ "<sent-start>=[^[:L:<space><start-punctuation><end><digit><term><period>\u2029<ignore>]];"
|
||||
|
||||
// Hindi phrase separator
|
||||
+ "<danda>=[\u0964\u0965];"
|
||||
|
||||
// always break sentences after paragraph separators
|
||||
+ ".*?{\u2029};"
|
||||
|
||||
// always break after a danda, if it's followed by whitespace
|
||||
+ ".*?<danda><space>*;"
|
||||
|
||||
// if you see a period, skip over additional periods and ending punctuation
|
||||
// and if the next character is a paragraph separator, break after the
|
||||
// paragraph separator
|
||||
//+ ".*?<period>[<period><end>]*<space>*\u2029;"
|
||||
//+ ".*?[<period><end>]*<space>*\u2029;"
|
||||
|
||||
// if you see a period, skip over additional periods and ending punctuation,
|
||||
// followed by optional whitespace, followed by optional starting punctuation,
|
||||
// and if the next character is something that can start a sentence
|
||||
// (basically, a capital letter), then put the sentence break between the
|
||||
// whitespace and the opening punctuation
|
||||
+ ".*?<period>[<period><end>]*<space><space>*/<notlc>;"
|
||||
+ ".*?<period>[<period><end>]*<space>*/[<start-punctuation><sent-start>][<start-punctuation><sent-start>]*<letter>;"
|
||||
|
||||
// if you see a sentence-terminating character, skip over any additional
|
||||
// terminators, periods, or ending punctuation, followed by any whitespace,
|
||||
// followed by a SINGLE optional paragraph separator, and put the break there
|
||||
+ ".*?<term>[<term><period><end>]*<space>*{\u2029};"
|
||||
|
||||
// The following rules are here to aid in backwards iteration. The automatically
|
||||
// generated backwards state table will rewind to the beginning of the
|
||||
// paragraph all the time (or all the way to the beginning of the document
|
||||
// if the document doesn't use the Unicode PS character) because the only
|
||||
// unambiguous character pairs are those involving paragraph separators.
|
||||
// These specify a few more unambiguous breaking situations.
|
||||
|
||||
// if you see a sentence-starting character, followed by starting punctuation
|
||||
// (remember, we're iterating backwards), followed by an optional run of
|
||||
// whitespace, followed by an optional run of ending punctuation, followed
|
||||
// by a period, this is a safe place to turn around
|
||||
+ "!<sent-start><start-punctuation>*<space>*<end>*<period>;"
|
||||
|
||||
// if you see a letter or a digit, followed by an optional run of
|
||||
// starting punctuation, followed by an optional run of whitespace,
|
||||
// followed by an optional run of ending punctuation, followed by
|
||||
// a sentence terminator, this is a safe place to turn around
|
||||
+ "![<sent-start><lc><digit>]<start-punctuation>*<space>*<end>*<term>;"
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
55
jdkSrc/jdk8/sun/text/resources/CollationData.java
Normal file
55
jdkSrc/jdk8/sun/text/resources/CollationData.java
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1999 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class CollationData extends ListResourceBundle {
|
||||
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "Rule", "" },
|
||||
};
|
||||
}
|
||||
}
|
||||
868
jdkSrc/jdk8/sun/text/resources/FormatData.java
Normal file
868
jdkSrc/jdk8/sun/text/resources/FormatData.java
Normal file
@@ -0,0 +1,868 @@
|
||||
/*
|
||||
* Copyright (c) 1996, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1999 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ListResourceBundle
|
||||
*/
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
// Julian calendar era strings
|
||||
final String[] julianEras = {
|
||||
"BC",
|
||||
"AD"
|
||||
};
|
||||
|
||||
// Thai Buddhist calendar era strings
|
||||
final String[] buddhistEras = {
|
||||
"BC", // BC
|
||||
"B.E." // Buddhist Era
|
||||
};
|
||||
|
||||
// Japanese imperial calendar era abbreviations
|
||||
final String[] japaneseEraAbbrs = {
|
||||
"",
|
||||
"M",
|
||||
"T",
|
||||
"S",
|
||||
"H",
|
||||
"R",
|
||||
};
|
||||
|
||||
// Japanese imperial calendar era strings
|
||||
final String[] japaneseEras = {
|
||||
"",
|
||||
"Meiji",
|
||||
"Taisho",
|
||||
"Showa",
|
||||
"Heisei",
|
||||
"Reiwa",
|
||||
};
|
||||
|
||||
return new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"January", // january
|
||||
"February", // february
|
||||
"March", // march
|
||||
"April", // april
|
||||
"May", // may
|
||||
"June", // june
|
||||
"July", // july
|
||||
"August", // august
|
||||
"September", // september
|
||||
"October", // october
|
||||
"November", // november
|
||||
"December", // december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Jan", // abb january
|
||||
"Feb", // abb february
|
||||
"Mar", // abb march
|
||||
"Apr", // abb april
|
||||
"May", // abb may
|
||||
"Jun", // abb june
|
||||
"Jul", // abb july
|
||||
"Aug", // abb august
|
||||
"Sep", // abb september
|
||||
"Oct", // abb october
|
||||
"Nov", // abb november
|
||||
"Dec", // abb december
|
||||
"" // abb month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"Sunday", // Sunday
|
||||
"Monday", // Monday
|
||||
"Tuesday", // Tuesday
|
||||
"Wednesday", // Wednesday
|
||||
"Thursday", // Thursday
|
||||
"Friday", // Friday
|
||||
"Saturday" // Saturday
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"Sun", // abb Sunday
|
||||
"Mon", // abb Monday
|
||||
"Tue", // abb Tuesday
|
||||
"Wed", // abb Wednesday
|
||||
"Thu", // abb Thursday
|
||||
"Fri", // abb Friday
|
||||
"Sat" // abb Saturday
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"S",
|
||||
"M",
|
||||
"T",
|
||||
"W",
|
||||
"T",
|
||||
"F",
|
||||
"S",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"AM", // am marker
|
||||
"PM" // pm marker
|
||||
}
|
||||
},
|
||||
{ "narrow.AmPmMarkers",
|
||||
new String[] {
|
||||
"a", // am marker
|
||||
"p" // pm marker
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
julianEras },
|
||||
{ "short.Eras",
|
||||
julianEras },
|
||||
{ "narrow.Eras",
|
||||
new String[] {
|
||||
"B",
|
||||
"A",
|
||||
}
|
||||
},
|
||||
{ "buddhist.Eras",
|
||||
buddhistEras
|
||||
},
|
||||
{ "buddhist.short.Eras",
|
||||
buddhistEras
|
||||
},
|
||||
{ "buddhist.narrow.Eras",
|
||||
buddhistEras
|
||||
},
|
||||
{ "japanese.Eras",
|
||||
japaneseEras },
|
||||
{ "japanese.short.Eras",
|
||||
japaneseEraAbbrs
|
||||
},
|
||||
{ "japanese.narrow.Eras",
|
||||
japaneseEraAbbrs
|
||||
},
|
||||
{ "japanese.FirstYear",
|
||||
new String[] { // Japanese imperial calendar year name
|
||||
// empty in English
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###;-#,##0.###", // decimal pattern
|
||||
"\u00a4 #,##0.00;-\u00a4 #,##0.00", // currency pattern
|
||||
"#,##0%" // percent pattern
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "" },
|
||||
{ "NumberElements",
|
||||
new String[] {
|
||||
".", // decimal separator
|
||||
",", // group (thousands) separator
|
||||
";", // list separator
|
||||
"%", // percent sign
|
||||
"0", // native 0 digit
|
||||
"#", // pattern digit
|
||||
"-", // minus sign
|
||||
"E", // exponential
|
||||
"\u2030", // per mille
|
||||
"\u221e", // infinity
|
||||
"\ufffd" // NaN
|
||||
}
|
||||
},
|
||||
{ "arab.NumberElements",
|
||||
new String[] {
|
||||
"\u066b",
|
||||
"\u066c",
|
||||
"\u061b",
|
||||
"\u066a",
|
||||
"\u0660",
|
||||
"#",
|
||||
"-",
|
||||
"\u0627\u0633",
|
||||
"\u0609",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "arabext.NumberElements",
|
||||
new String[] {
|
||||
"\u066b",
|
||||
"\u066c",
|
||||
"\u061b",
|
||||
"\u066a",
|
||||
"\u06f0",
|
||||
"#",
|
||||
"-",
|
||||
"\u00d7\u06f1\u06f0^",
|
||||
"\u0609",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "bali.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1b50",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "beng.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u09e6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "cham.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\uaa50",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "deva.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0966",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "fullwide.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\uff10",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "gujr.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0ae6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "guru.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0a66",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "java.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\ua9d0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "kali.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\ua900",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "khmr.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u17e0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "knda.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0ce6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "laoo.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0ed0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "lana.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1a80",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "lanatham.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1a90",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
".", // decimal separator
|
||||
",", // group (thousands) separator
|
||||
";", // list separator
|
||||
"%", // percent sign
|
||||
"0", // native 0 digit
|
||||
"#", // pattern digit
|
||||
"-", // minus sign
|
||||
"E", // exponential
|
||||
"\u2030", // per mille
|
||||
"\u221e", // infinity
|
||||
"\ufffd" // NaN
|
||||
}
|
||||
},
|
||||
{ "lepc.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1c40",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "limb.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1946",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mlym.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0d66",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mong.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1810",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mtei.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\uabf0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mymr.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1040",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mymrshan.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1090",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "nkoo.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u07c0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "olck.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1c50",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "orya.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0b66",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "saur.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\ua8d0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "sund.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1bb0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "talu.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u19d0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "tamldec.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0be6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "telu.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0c66",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "thai.NumberElements",
|
||||
new String[] {
|
||||
".", // decimal separator
|
||||
",", // group (thousands) separator
|
||||
";", // list separator
|
||||
"%", // percent sign
|
||||
"\u0E50", // native 0 digit
|
||||
"#", // pattern digit
|
||||
"-", // minus sign
|
||||
"E", // exponential
|
||||
"\u2030", // per mille
|
||||
"\u221e", // infinity
|
||||
"\ufffd" // NaN
|
||||
}
|
||||
},
|
||||
{ "tibt.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0f20",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "vaii.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\ua620",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a z", // full time pattern
|
||||
"h:mm:ss a z", // long time pattern
|
||||
"h:mm:ss a", // medium time pattern
|
||||
"h:mm a", // short time pattern
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, MMMM d, yyyy", // full date pattern
|
||||
"MMMM d, yyyy", // long date pattern
|
||||
"MMM d, yyyy", // medium date pattern
|
||||
"M/d/yy", // short date pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatterns",
|
||||
new String[] {
|
||||
"{1} {0}" // date-time pattern
|
||||
}
|
||||
},
|
||||
{ "buddhist.TimePatterns",
|
||||
new String[] {
|
||||
"H:mm:ss z", // full time pattern
|
||||
"H:mm:ss z", // long time pattern
|
||||
"H:mm:ss", // medium time pattern
|
||||
"H:mm", // short time pattern
|
||||
}
|
||||
},
|
||||
{ "buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE d MMMM G yyyy", // full date pattern
|
||||
"d MMMM yyyy", // long date pattern
|
||||
"d MMM yyyy", // medium date pattern
|
||||
"d/M/yyyy", // short date pattern
|
||||
}
|
||||
},
|
||||
{ "buddhist.DateTimePatterns",
|
||||
new String[] {
|
||||
"{1}, {0}" // date-time pattern
|
||||
}
|
||||
},
|
||||
{ "japanese.TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a z", // full time pattern
|
||||
"h:mm:ss a z", // long time pattern
|
||||
"h:mm:ss a", // medium time pattern
|
||||
"h:mm a", // short time pattern
|
||||
}
|
||||
},
|
||||
{ "japanese.DatePatterns",
|
||||
new String[] {
|
||||
"GGGG yyyy MMMM d (EEEE)", // full date pattern
|
||||
"GGGG yyyy MMMM d", // long date pattern
|
||||
"GGGG yyyy MMM d", // medium date pattern
|
||||
"Gy.MM.dd", // short date pattern
|
||||
}
|
||||
},
|
||||
{ "japanese.DateTimePatterns",
|
||||
new String[] {
|
||||
"{1} {0}" // date-time pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatternChars", "GyMdkHmsSEDFwWahKzZ" },
|
||||
|
||||
// Workaround for islamic-umalqura name support (JDK-8015986)
|
||||
{ "calendarname.islamic-umalqura", "Islamic Umm al-Qura Calendar" },
|
||||
};
|
||||
}
|
||||
}
|
||||
289
jdkSrc/jdk8/sun/text/resources/JavaTimeSupplementary.java
Normal file
289
jdkSrc/jdk8/sun/text/resources/JavaTimeSupplementary.java
Normal file
@@ -0,0 +1,289 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
// Note: this file has been generated by a tool.
|
||||
|
||||
package sun.text.resources;
|
||||
|
||||
import sun.util.resources.OpenListResourceBundle;
|
||||
|
||||
public class JavaTimeSupplementary extends OpenListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "calendarname.buddhist",
|
||||
"Buddhist Calendar" },
|
||||
{ "calendarname.gregorian",
|
||||
"Gregorian Calendar" },
|
||||
{ "calendarname.gregory",
|
||||
"Gregorian Calendar" },
|
||||
{ "calendarname.islamic",
|
||||
"Islamic Calendar" },
|
||||
{ "calendarname.islamic-civil",
|
||||
"Islamic-Civil Calendar" },
|
||||
{ "calendarname.islamicc",
|
||||
"Islamic-Civil Calendar" },
|
||||
{ "calendarname.japanese",
|
||||
"Japanese Calendar" },
|
||||
{ "calendarname.roc",
|
||||
"Minguo Calendar" },
|
||||
{ "field.dayperiod",
|
||||
"Dayperiod" },
|
||||
{ "field.era",
|
||||
"Era" },
|
||||
{ "field.hour",
|
||||
"Hour" },
|
||||
{ "field.minute",
|
||||
"Minute" },
|
||||
{ "field.month",
|
||||
"Month" },
|
||||
{ "field.second",
|
||||
"Second" },
|
||||
{ "field.week",
|
||||
"Week" },
|
||||
{ "field.weekday",
|
||||
"Day of the Week" },
|
||||
{ "field.year",
|
||||
"Year" },
|
||||
{ "field.zone",
|
||||
"Zone" },
|
||||
{ "islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, MMMM d, y GGGG",
|
||||
"MMMM d, y GGGG",
|
||||
"MMM d, y GGGG",
|
||||
"M/d/yy GGGG",
|
||||
}
|
||||
},
|
||||
{ "islamic.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"AH",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthAbbreviations",
|
||||
new String[] {
|
||||
"Muh.",
|
||||
"Saf.",
|
||||
"Rab. I",
|
||||
"Rab. II",
|
||||
"Jum. I",
|
||||
"Jum. II",
|
||||
"Raj.",
|
||||
"Sha.",
|
||||
"Ram.",
|
||||
"Shaw.",
|
||||
"Dhu\u02bbl-Q.",
|
||||
"Dhu\u02bbl-H.",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNames",
|
||||
new String[] {
|
||||
"Muharram",
|
||||
"Safar",
|
||||
"Rabi\u02bb I",
|
||||
"Rabi\u02bb II",
|
||||
"Jumada I",
|
||||
"Jumada II",
|
||||
"Rajab",
|
||||
"Sha\u02bbban",
|
||||
"Ramadan",
|
||||
"Shawwal",
|
||||
"Dhu\u02bbl-Qi\u02bbdah",
|
||||
"Dhu\u02bbl-Hijjah",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.short.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"AH",
|
||||
}
|
||||
},
|
||||
{ "java.time.buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, G y MMMM dd",
|
||||
"G y MMMM d",
|
||||
"G y MMM d",
|
||||
"GGGGG yyyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "java.time.buddhist.short.Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"B.E.",
|
||||
}
|
||||
},
|
||||
{ "java.time.islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, MMMM d, y G",
|
||||
"MMMM d, y G",
|
||||
"MMM d, y G",
|
||||
"M/d/yy G",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.DatePatterns",
|
||||
new String[] {
|
||||
"G y MMMM d (EEEE)",
|
||||
"G y MMMM d",
|
||||
"G y MMM d",
|
||||
"GGGGGy.MM.dd",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.long.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"Meiji",
|
||||
"Taisho",
|
||||
"Showa",
|
||||
"Heisei",
|
||||
"Reiwa",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.short.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"Meiji",
|
||||
"Taisho",
|
||||
"Showa",
|
||||
"Heisei",
|
||||
"Reiwa",
|
||||
}
|
||||
},
|
||||
{ "java.time.roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, G y MMMM dd",
|
||||
"G y MMMM d",
|
||||
"G y MMM d",
|
||||
"GGGGG yyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "java.time.short.Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"AD",
|
||||
}
|
||||
},
|
||||
{ "roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, GGGG y MMMM dd",
|
||||
"GGGG y MMMM d",
|
||||
"GGGG y MMM d",
|
||||
"G yyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "roc.Eras",
|
||||
new String[] {
|
||||
"Before R.O.C.",
|
||||
"R.O.C.",
|
||||
}
|
||||
},
|
||||
{ "roc.short.Eras",
|
||||
new String[] {
|
||||
"Before R.O.C.",
|
||||
"R.O.C.",
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
244
jdkSrc/jdk8/sun/text/resources/ar/CollationData_ar.java
Normal file
244
jdkSrc/jdk8/sun/text/resources/ar/CollationData_ar.java
Normal file
@@ -0,0 +1,244 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class CollationData_ar extends ListResourceBundle {
|
||||
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "Rule",
|
||||
// for ar, the following additions are needed:
|
||||
"& \u0361 = \u0640"
|
||||
+ "= \u064b"
|
||||
+ "= \u064c"
|
||||
+ "= \u064d"
|
||||
+ "= \u064e"
|
||||
+ "= \u064f"
|
||||
+ "= \u0650"
|
||||
+ "= \u0652"
|
||||
+ "= \u066d"
|
||||
+ "= \u06d6"
|
||||
+ "= \u06d7"
|
||||
+ "= \u06d8"
|
||||
+ "= \u06d9"
|
||||
+ "= \u06da"
|
||||
+ "= \u06db"
|
||||
+ "= \u06dc"
|
||||
+ "= \u06dd"
|
||||
+ "= \u06de"
|
||||
+ "= \u06df"
|
||||
+ "= \u06e0"
|
||||
+ "= \u06e1"
|
||||
+ "= \u06e2"
|
||||
+ "= \u06e3"
|
||||
+ "= \u06e4"
|
||||
+ "= \u06e5"
|
||||
+ "= \u06e6"
|
||||
+ "= \u06e7"
|
||||
+ "= \u06e8"
|
||||
+ "= \u06e9"
|
||||
+ "= \u06ea"
|
||||
+ "= \u06eb"
|
||||
+ "= \u06ec"
|
||||
+ "= \u06ed"
|
||||
// Numerics
|
||||
+ "& 0 < \u0660 < \u06f0" // 0
|
||||
+ "& 1 < \u0661 < \u06f1" // 1
|
||||
+ "& 2 < \u0662 < \u06f2" // 2
|
||||
+ "& 3 < \u0663 < \u06f3" // 3
|
||||
+ "& 4 < \u0664 < \u06f4" // 4
|
||||
+ "& 5 < \u0665 < \u06f5" // 5
|
||||
+ "& 6 < \u0666 < \u06f6" // 6
|
||||
+ "& 7 < \u0667 < \u06f7" // 7
|
||||
+ "& 8 < \u0668 < \u06f8" // 8
|
||||
+ "& 9 < \u0669 < \u06f9" // 9
|
||||
// Punctuations
|
||||
+ "& \u00b5 < \u060c" // retroflex click < arabic comma
|
||||
+ "< \u061b" // ar semicolon
|
||||
+ "< \u061f" // ar question mark
|
||||
+ "< \u066a" // ar percent sign
|
||||
+ "< \u066b" // ar decimal separator
|
||||
+ "< \u066c" // ar thousand separator
|
||||
+ "< \u06d4" // ar full stop
|
||||
// Arabic script sorts after Z's
|
||||
+ "& Z < \u0621"
|
||||
+ "; \u0622"
|
||||
+ "; \u0623"
|
||||
+ "; \u0624"
|
||||
+ "; \u0625"
|
||||
+ "; \u0626"
|
||||
+ "< \u0627"
|
||||
+ "< \u0628"
|
||||
+ "< \u067e"
|
||||
+ "< \u0629"
|
||||
+ "= \u062a"
|
||||
+ "< \u062b"
|
||||
+ "< \u062c"
|
||||
+ "< \u0686"
|
||||
+ "< \u062d"
|
||||
+ "< \u062e"
|
||||
+ "< \u062f"
|
||||
+ "< \u0630"
|
||||
+ "< \u0631"
|
||||
+ "< \u0632"
|
||||
+ "< \u0698"
|
||||
+ "< \u0633"
|
||||
+ "< \u0634"
|
||||
+ "< \u0635"
|
||||
+ "< \u0636"
|
||||
+ "< \u0637"
|
||||
+ "< \u0638"
|
||||
+ "< \u0639"
|
||||
+ "< \u063a"
|
||||
+ "< \u0641"
|
||||
+ "< \u0642"
|
||||
+ "< \u0643"
|
||||
+ "< \u06af"
|
||||
+ "< \u0644"
|
||||
+ "< \u0645"
|
||||
+ "< \u0646"
|
||||
+ "< \u0647"
|
||||
+ "< \u0648"
|
||||
+ "< \u0649"
|
||||
+ "; \u064a"
|
||||
+ "< \u0670"
|
||||
+ "< \u0671"
|
||||
+ "< \u0672"
|
||||
+ "< \u0673"
|
||||
+ "< \u0674"
|
||||
+ "< \u0675"
|
||||
+ "< \u0676"
|
||||
+ "< \u0677"
|
||||
+ "< \u0678"
|
||||
+ "< \u0679"
|
||||
+ "< \u067a"
|
||||
+ "< \u067b"
|
||||
+ "< \u067c"
|
||||
+ "< \u067d"
|
||||
+ "< \u067f"
|
||||
+ "< \u0680"
|
||||
+ "< \u0681"
|
||||
+ "< \u0682"
|
||||
+ "< \u0683"
|
||||
+ "< \u0684"
|
||||
+ "< \u0685"
|
||||
+ "< \u0687"
|
||||
+ "< \u0688"
|
||||
+ "< \u0689"
|
||||
+ "< \u068a"
|
||||
+ "< \u068b"
|
||||
+ "< \u068c"
|
||||
+ "< \u068d"
|
||||
+ "< \u068e"
|
||||
+ "< \u068f"
|
||||
+ "< \u0690"
|
||||
+ "< \u0691"
|
||||
+ "< \u0692"
|
||||
+ "< \u0693"
|
||||
+ "< \u0694"
|
||||
+ "< \u0695"
|
||||
+ "< \u0696"
|
||||
+ "< \u0697"
|
||||
+ "< \u0699"
|
||||
+ "< \u069a"
|
||||
+ "< \u069b"
|
||||
+ "< \u069c"
|
||||
+ "< \u069d"
|
||||
+ "< \u069e"
|
||||
+ "< \u069f"
|
||||
+ "< \u06a0"
|
||||
+ "< \u06a1"
|
||||
+ "< \u06a2"
|
||||
+ "< \u06a3"
|
||||
+ "< \u06a4"
|
||||
+ "< \u06a5"
|
||||
+ "< \u06a6"
|
||||
+ "< \u06a7"
|
||||
+ "< \u06a8"
|
||||
+ "< \u06a9"
|
||||
+ "< \u06aa"
|
||||
+ "< \u06ab"
|
||||
+ "< \u06ac"
|
||||
+ "< \u06ad"
|
||||
+ "< \u06ae"
|
||||
+ "< \u06b0"
|
||||
+ "< \u06b1"
|
||||
+ "< \u06b2"
|
||||
+ "< \u06b3"
|
||||
+ "< \u06b4"
|
||||
+ "< \u06b5"
|
||||
+ "< \u06b6"
|
||||
+ "< \u06b7"
|
||||
+ "< \u06ba"
|
||||
+ "< \u06bb"
|
||||
+ "< \u06bc"
|
||||
+ "< \u06bd"
|
||||
+ "< \u06be"
|
||||
+ "< \u06c0"
|
||||
+ "< \u06c1"
|
||||
+ "< \u06c2"
|
||||
+ "< \u06c3"
|
||||
+ "< \u06c4"
|
||||
+ "< \u06c5"
|
||||
+ "< \u06c6"
|
||||
+ "< \u06c7"
|
||||
+ "< \u06c8"
|
||||
+ "< \u06c9"
|
||||
+ "< \u06ca"
|
||||
+ "< \u06cb"
|
||||
+ "< \u06cc"
|
||||
+ "< \u06cd"
|
||||
+ "< \u06ce"
|
||||
+ "< \u06d0"
|
||||
+ "< \u06d1"
|
||||
+ "< \u06d2"
|
||||
+ "< \u06d3"
|
||||
+ "< \u06d5"
|
||||
+ "< \u0651"
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
275
jdkSrc/jdk8/sun/text/resources/ar/FormatData_ar.java
Normal file
275
jdkSrc/jdk8/sun/text/resources/ar/FormatData_ar.java
Normal file
@@ -0,0 +1,275 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.ar;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_ar extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final String[] rocEras = {
|
||||
"Before R.O.C.",
|
||||
"\u062c\u0645\u0647\u0648\u0631\u064a\u0629 \u0627\u0644\u0635\u064a",
|
||||
};
|
||||
return new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u064a\u0646\u0627\u064a\u0631", // january
|
||||
"\u0641\u0628\u0631\u0627\u064a\u0631", // february
|
||||
"\u0645\u0627\u0631\u0633", // march
|
||||
"\u0623\u0628\u0631\u064a\u0644", // april
|
||||
"\u0645\u0627\u064a\u0648", // may
|
||||
"\u064a\u0648\u0646\u064a\u0648", // june
|
||||
"\u064a\u0648\u0644\u064a\u0648", // july
|
||||
"\u0623\u063a\u0633\u0637\u0633", // august
|
||||
"\u0633\u0628\u062a\u0645\u0628\u0631", // september
|
||||
"\u0623\u0643\u062a\u0648\u0628\u0631", // october
|
||||
"\u0646\u0648\u0641\u0645\u0628\u0631", // november
|
||||
"\u062f\u064a\u0633\u0645\u0628\u0631", // december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u064a\u0646\u0627", // abb january
|
||||
"\u0641\u0628\u0631", // abb february
|
||||
"\u0645\u0627\u0631", // abb march
|
||||
"\u0623\u0628\u0631", // abb april
|
||||
"\u0645\u0627\u064a", // abb may
|
||||
"\u064a\u0648\u0646", // abb june
|
||||
"\u064a\u0648\u0644", // abb july
|
||||
"\u0623\u063a\u0633", // abb august
|
||||
"\u0633\u0628\u062a", // abb september
|
||||
"\u0623\u0643\u062a", // abb october
|
||||
"\u0646\u0648\u0641", // abb november
|
||||
"\u062f\u064a\u0633", // abb december
|
||||
"" // abb month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"\u064a",
|
||||
"\u0641",
|
||||
"\u0645",
|
||||
"\u0623",
|
||||
"\u0648",
|
||||
"\u0646",
|
||||
"\u0644",
|
||||
"\u063a",
|
||||
"\u0633",
|
||||
"\u0643",
|
||||
"\u0628",
|
||||
"\u062f",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0623\u062d\u062f", // Sunday
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646", // Monday
|
||||
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621", // Tuesday
|
||||
"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", // Wednesday
|
||||
"\u0627\u0644\u062e\u0645\u064a\u0633", // Thursday
|
||||
"\u0627\u0644\u062c\u0645\u0639\u0629", // Friday
|
||||
"\u0627\u0644\u0633\u0628\u062a" // Saturday
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u062d", // abb Sunday
|
||||
"\u0646", // abb Monday
|
||||
"\u062b", // abb Tuesday
|
||||
"\u0631", // abb Wednesday
|
||||
"\u062e", // abb Thursday
|
||||
"\u062c", // abb Friday
|
||||
"\u0633" // abb Saturday
|
||||
}
|
||||
},
|
||||
{ "standalone.DayAbbreviations",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0623\u062d\u062f",
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
|
||||
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
|
||||
"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
|
||||
"\u0627\u0644\u062e\u0645\u064a\u0633",
|
||||
"\u0627\u0644\u062c\u0645\u0639\u0629",
|
||||
"\u0627\u0644\u0633\u0628\u062a",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u062d",
|
||||
"\u0646",
|
||||
"\u062b",
|
||||
"\u0631",
|
||||
"\u062e",
|
||||
"\u062c",
|
||||
"\u0633",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u0635", // am marker
|
||||
"\u0645" // pm marker
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] { // era strings
|
||||
"\u0642.\u0645",
|
||||
"\u0645"
|
||||
}
|
||||
},
|
||||
{ "short.Eras",
|
||||
new String[] {
|
||||
"\u0642.\u0645",
|
||||
"\u0645",
|
||||
}
|
||||
},
|
||||
{ "japanese.Eras",
|
||||
new String[] {
|
||||
"\u0645",
|
||||
"\u0645\u064a\u062c\u064a",
|
||||
"\u062a\u064a\u0634\u0648",
|
||||
"\u0634\u0648\u0648\u0627",
|
||||
"\u0647\u064a\u0633\u064a",
|
||||
"\u0631\u064a\u0648\u0627",
|
||||
}
|
||||
},
|
||||
{ "japanese.short.Eras",
|
||||
new String[] {
|
||||
"\u0645",
|
||||
"\u0645\u064a\u062c\u064a",
|
||||
"\u062a\u064a\u0634\u0648",
|
||||
"\u0634\u0648\u0648\u0627",
|
||||
"\u0647\u064a\u0633\u064a",
|
||||
"\u0631\u064a\u0648\u0627",
|
||||
}
|
||||
},
|
||||
{ "buddhist.Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0628\u0648\u0630\u064a",
|
||||
}
|
||||
},
|
||||
{ "buddhist.short.Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0628\u0648\u0630\u064a",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###;#,##0.###-", // decimal pattern
|
||||
"\u00A4 #,##0.###;\u00A4 #,##0.###-", // currency pattern
|
||||
"#,##0%" // percent pattern
|
||||
}
|
||||
},
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"z hh:mm:ss a", // full time pattern
|
||||
"z hh:mm:ss a", // long time pattern
|
||||
"hh:mm:ss a", // medium time pattern
|
||||
"hh:mm a", // short time pattern
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"dd MMMM, yyyy", // full date pattern
|
||||
"dd MMMM, yyyy", // long date pattern
|
||||
"dd/MM/yyyy", // medium date pattern
|
||||
"dd/MM/yy", // short date pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatterns",
|
||||
new String[] {
|
||||
"{1} {0}" // date-time pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatternChars", "GanjkHmsSEDFwWxhKzZ" },
|
||||
|
||||
// Workaround for islamic-umalqura name support (JDK-8015986)
|
||||
{ "calendarname.islamic-umalqura",
|
||||
"\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0647\u062c\u0631\u064a\u060c \u0623\u0645 \u0627\u0644\u0642\u0631\u0649" },
|
||||
};
|
||||
}
|
||||
}
|
||||
100
jdkSrc/jdk8/sun/text/resources/ar/FormatData_ar_JO.java
Normal file
100
jdkSrc/jdk8/sun/text/resources/ar/FormatData_ar_JO.java
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright IBM Corp. 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.ar;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_ar_JO extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // january
|
||||
"\u0634\u0628\u0627\u0637", // february
|
||||
"\u0622\u0630\u0627\u0631", // march
|
||||
"\u0646\u064a\u0633\u0627\u0646", // april
|
||||
"\u0623\u064a\u0627\u0631", // may
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646", // june
|
||||
"\u062a\u0645\u0648\u0632", // july
|
||||
"\u0622\u0628", // august
|
||||
"\u0623\u064a\u0644\u0648\u0644", // september
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // october
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // november
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // abb january
|
||||
"\u0634\u0628\u0627\u0637", // abb february
|
||||
"\u0622\u0630\u0627\u0631", // abb march
|
||||
"\u0646\u064a\u0633\u0627\u0646", // abb april
|
||||
"\u0623\u064a\u0627\u0631", // abb may
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646", // abb june
|
||||
"\u062a\u0645\u0648\u0632", // abb july
|
||||
"\u0622\u0628", // abb august
|
||||
"\u0623\u064a\u0644\u0648\u0644", // abb september
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // abb october
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // abb november
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // abb december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0623\u062d\u062f", // abb Sunday
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646", // abb Monday
|
||||
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621", // abb Tuesday
|
||||
"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", // abb Wednesday
|
||||
"\u0627\u0644\u062e\u0645\u064a\u0633", // abb Thursday
|
||||
"\u0627\u0644\u062c\u0645\u0639\u0629", // abb Friday
|
||||
"\u0627\u0644\u0633\u0628\u062a" // abb Saturday
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
100
jdkSrc/jdk8/sun/text/resources/ar/FormatData_ar_LB.java
Normal file
100
jdkSrc/jdk8/sun/text/resources/ar/FormatData_ar_LB.java
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright IBM Corp. 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.ar;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_ar_LB extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // january
|
||||
"\u0634\u0628\u0627\u0637", // february
|
||||
"\u0622\u0630\u0627\u0631", // march
|
||||
"\u0646\u064a\u0633\u0627\u0646", // april
|
||||
"\u0623\u064a\u0627\u0631", // may
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646", // june
|
||||
"\u062a\u0645\u0648\u0632", // july
|
||||
"\u0622\u0628", // august
|
||||
"\u0623\u064a\u0644\u0648\u0644", // september
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // october
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // november
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // abb january
|
||||
"\u0634\u0628\u0627\u0637", // abb february
|
||||
"\u0622\u0630\u0627\u0631", // abb march
|
||||
"\u0646\u064a\u0633\u0627\u0646", // abb april
|
||||
"\u0623\u064a\u0627\u0631", // abb may
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646", // abb june
|
||||
"\u062a\u0645\u0648\u0632", // abb july
|
||||
"\u0622\u0628", // abb august
|
||||
"\u0623\u064a\u0644\u0648\u0644", // abb september
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // abb october
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // abb november
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // abb december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0623\u062d\u062f", // abb Sunday
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646", // abb Monday
|
||||
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621", // abb Tuesday
|
||||
"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", // abb Wednesday
|
||||
"\u0627\u0644\u062e\u0645\u064a\u0633", // abb Thursday
|
||||
"\u0627\u0644\u062c\u0645\u0639\u0629", // abb Friday
|
||||
"\u0627\u0644\u0633\u0628\u062a" // abb Saturday
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
100
jdkSrc/jdk8/sun/text/resources/ar/FormatData_ar_SY.java
Normal file
100
jdkSrc/jdk8/sun/text/resources/ar/FormatData_ar_SY.java
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright IBM Corp. 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.ar;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_ar_SY extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // january
|
||||
"\u0634\u0628\u0627\u0637", // february
|
||||
"\u0622\u0630\u0627\u0631", // march
|
||||
"\u0646\u064a\u0633\u0627\u0646", // april
|
||||
"\u0623\u064a\u0627\u0631", // may
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646", // june
|
||||
"\u062a\u0645\u0648\u0632", // july
|
||||
"\u0622\u0628", // august
|
||||
"\u0623\u064a\u0644\u0648\u0644", // september
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // october
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // november
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // abb january
|
||||
"\u0634\u0628\u0627\u0637", // abb february
|
||||
"\u0622\u0630\u0627\u0631", // abb march
|
||||
"\u0646\u064a\u0633\u0627\u0646", // abb april
|
||||
"\u0623\u064a\u0627\u0631", // abb may
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646", // abb june
|
||||
"\u062a\u0645\u0648\u0632", // abb july
|
||||
"\u0622\u0628", // abb august
|
||||
"\u0623\u064a\u0644\u0648\u0644", // abb september
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // abb october
|
||||
"\u062a\u0634\u0631\u064a\u0646\u0020\u0627\u0644\u062b\u0627\u0646\u064a", // abb november
|
||||
"\u0643\u0627\u0646\u0648\u0646\u0020\u0627\u0644\u0623\u0648\u0644", // abb december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0623\u062d\u062f", // abb Sunday
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646", // abb Monday
|
||||
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621", // abb Tuesday
|
||||
"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621", // abb Wednesday
|
||||
"\u0627\u0644\u062e\u0645\u064a\u0633", // abb Thursday
|
||||
"\u0627\u0644\u062c\u0645\u0639\u0629", // abb Friday
|
||||
"\u0627\u0644\u0633\u0628\u062a" // abb Saturday
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
287
jdkSrc/jdk8/sun/text/resources/ar/JavaTimeSupplementary_ar.java
Normal file
287
jdkSrc/jdk8/sun/text/resources/ar/JavaTimeSupplementary_ar.java
Normal file
@@ -0,0 +1,287 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
// Note: this file has been generated by a tool.
|
||||
|
||||
package sun.text.resources.ar;
|
||||
|
||||
import sun.util.resources.OpenListResourceBundle;
|
||||
|
||||
public class JavaTimeSupplementary_ar extends OpenListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0646\u064a",
|
||||
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0644\u062b",
|
||||
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0631\u0627\u0628\u0639",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"\u0661",
|
||||
"\u0662",
|
||||
"\u0663",
|
||||
"\u0664",
|
||||
}
|
||||
},
|
||||
{ "calendarname.buddhist",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0628\u0648\u0630\u064a" },
|
||||
{ "calendarname.gregorian",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0645\u064a\u0644\u0627\u062f\u064a" },
|
||||
{ "calendarname.gregory",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0645\u064a\u0644\u0627\u062f\u064a" },
|
||||
{ "calendarname.islamic",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0647\u062c\u0631\u064a" },
|
||||
{ "calendarname.islamic-civil",
|
||||
"\u062a\u0642\u0648\u064a\u0645 \u0627\u0633\u0644\u0627\u0645\u064a \u0645\u062f\u0646\u064a" },
|
||||
{ "calendarname.islamicc",
|
||||
"\u062a\u0642\u0648\u064a\u0645 \u0627\u0633\u0644\u0627\u0645\u064a \u0645\u062f\u0646\u064a" },
|
||||
{ "calendarname.japanese",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u064a\u0627\u0628\u0627\u0646\u064a" },
|
||||
{ "calendarname.roc",
|
||||
"\u062a\u0642\u0648\u064a\u0645 \u0645\u064a\u0646\u062c\u0648" },
|
||||
{ "field.dayperiod",
|
||||
"\u0635/\u0645" },
|
||||
{ "field.era",
|
||||
"\u0627\u0644\u0639\u0635\u0631" },
|
||||
{ "field.hour",
|
||||
"\u0627\u0644\u0633\u0627\u0639\u0627\u062a" },
|
||||
{ "field.minute",
|
||||
"\u0627\u0644\u062f\u0642\u0627\u0626\u0642" },
|
||||
{ "field.month",
|
||||
"\u0627\u0644\u0634\u0647\u0631" },
|
||||
{ "field.second",
|
||||
"\u0627\u0644\u062b\u0648\u0627\u0646\u064a" },
|
||||
{ "field.week",
|
||||
"\u0627\u0644\u0623\u0633\u0628\u0648\u0639" },
|
||||
{ "field.weekday",
|
||||
"\u0627\u0644\u064a\u0648\u0645" },
|
||||
{ "field.year",
|
||||
"\u0627\u0644\u0633\u0646\u0629" },
|
||||
{ "field.zone",
|
||||
"\u0627\u0644\u062a\u0648\u0642\u064a\u062a" },
|
||||
{ "islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM\u060c y GGGG",
|
||||
"d\u200f/M\u200f/yyyy",
|
||||
}
|
||||
},
|
||||
{ "islamic.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"\u0647\u0640",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u0645\u062d\u0631\u0645",
|
||||
"\u0635\u0641\u0631",
|
||||
"\u0631\u0628\u064a\u0639 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u0631\u0628\u064a\u0639 \u0627\u0644\u0622\u062e\u0631",
|
||||
"\u062c\u0645\u0627\u062f\u0649 \u0627\u0644\u0623\u0648\u0644\u0649",
|
||||
"\u062c\u0645\u0627\u062f\u0649 \u0627\u0644\u0622\u062e\u0631\u0629",
|
||||
"\u0631\u062c\u0628",
|
||||
"\u0634\u0639\u0628\u0627\u0646",
|
||||
"\u0631\u0645\u0636\u0627\u0646",
|
||||
"\u0634\u0648\u0627\u0644",
|
||||
"\u0630\u0648 \u0627\u0644\u0642\u0639\u062f\u0629",
|
||||
"\u0630\u0648 \u0627\u0644\u062d\u062c\u0629",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNames",
|
||||
new String[] {
|
||||
"\u0645\u062d\u0631\u0645",
|
||||
"\u0635\u0641\u0631",
|
||||
"\u0631\u0628\u064a\u0639 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u0631\u0628\u064a\u0639 \u0627\u0644\u0622\u062e\u0631",
|
||||
"\u062c\u0645\u0627\u062f\u0649 \u0627\u0644\u0623\u0648\u0644\u0649",
|
||||
"\u062c\u0645\u0627\u062f\u0649 \u0627\u0644\u0622\u062e\u0631\u0629",
|
||||
"\u0631\u062c\u0628",
|
||||
"\u0634\u0639\u0628\u0627\u0646",
|
||||
"\u0631\u0645\u0636\u0627\u0646",
|
||||
"\u0634\u0648\u0627\u0644",
|
||||
"\u0630\u0648 \u0627\u0644\u0642\u0639\u062f\u0629",
|
||||
"\u0630\u0648 \u0627\u0644\u062d\u062c\u0629",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNarrows",
|
||||
new String[] {
|
||||
"\u0661",
|
||||
"\u0662",
|
||||
"\u0663",
|
||||
"\u0664",
|
||||
"\u0665",
|
||||
"\u0666",
|
||||
"\u0667",
|
||||
"\u0668",
|
||||
"\u0669",
|
||||
"\u0661\u0660",
|
||||
"\u0661\u0661",
|
||||
"\u0661\u0662",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.short.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"\u0647\u0640",
|
||||
}
|
||||
},
|
||||
{ "java.time.buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y G",
|
||||
"d MMMM\u060c y G",
|
||||
"dd\u200f/MM\u200f/y G",
|
||||
"d\u200f/M\u200f/y G",
|
||||
}
|
||||
},
|
||||
{ "java.time.buddhist.short.Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0628\u0648\u0630\u064a",
|
||||
}
|
||||
},
|
||||
{ "java.time.islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM\u060c y G",
|
||||
"d\u200f/M\u200f/yyyy",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y G",
|
||||
"d MMMM\u060c y G",
|
||||
"dd\u200f/MM\u200f/y G",
|
||||
"d\u200f/M\u200f/y G",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.long.Eras",
|
||||
new String[] {
|
||||
"\u0645",
|
||||
"\u0645\u064a\u062c\u064a",
|
||||
"\u062a\u064a\u0634\u0648",
|
||||
"\u0634\u0648\u0648\u0627",
|
||||
"\u0647\u064a\u0633\u064a",
|
||||
"\u0631\u064a\u0648\u0627",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.short.Eras",
|
||||
new String[] {
|
||||
"\u0645",
|
||||
"\u0645\u064a\u062c\u064a",
|
||||
"\u062a\u064a\u0634\u0648",
|
||||
"\u0634\u0648\u0648\u0627",
|
||||
"\u0647\u064a\u0633\u064a",
|
||||
"\u0631\u064a\u0648\u0627",
|
||||
}
|
||||
},
|
||||
{ "java.time.long.Eras",
|
||||
new String[] {
|
||||
"\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
|
||||
"\u0645\u064a\u0644\u0627\u062f\u064a",
|
||||
}
|
||||
},
|
||||
{ "java.time.roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y G",
|
||||
"d MMMM\u060c y G",
|
||||
"dd\u200f/MM\u200f/y G",
|
||||
"d\u200f/M\u200f/y G",
|
||||
}
|
||||
},
|
||||
{ "java.time.short.Eras",
|
||||
new String[] {
|
||||
"\u0642.\u0645",
|
||||
"\u0645",
|
||||
}
|
||||
},
|
||||
{ "roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y GGGG",
|
||||
"d MMMM\u060c y GGGG",
|
||||
"dd\u200f/MM\u200f/y GGGG",
|
||||
"d\u200f/M\u200f/y GGGG",
|
||||
}
|
||||
},
|
||||
{ "roc.Eras",
|
||||
new String[] {
|
||||
"Before R.O.C.",
|
||||
"\u062c\u0645\u0647\u0648\u0631\u064a\u0629 \u0627\u0644\u0635\u064a",
|
||||
}
|
||||
},
|
||||
{ "roc.short.Eras",
|
||||
new String[] {
|
||||
"Before R.O.C.",
|
||||
"\u062c\u0645\u0647\u0648\u0631\u064a\u0629 \u0627\u0644\u0635\u064a",
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
151
jdkSrc/jdk8/sun/text/resources/be/CollationData_be.java
Normal file
151
jdkSrc/jdk8/sun/text/resources/be/CollationData_be.java
Normal file
@@ -0,0 +1,151 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.be;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class CollationData_be extends ListResourceBundle {
|
||||
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "Rule",
|
||||
"& 9 < \u0482 " + // thousand sign
|
||||
"& Z " + // Arabic script sorts after Z's
|
||||
"< \u0430 , \u0410" + // a
|
||||
"< \u0431 , \u0411" + // be
|
||||
"< \u0432 , \u0412" + // ve
|
||||
"< \u0433 , \u0413" + // ghe
|
||||
"; \u0491 , \u0490" + // ghe-upturn
|
||||
"; \u0495 , \u0494" + // ghe-mid-hook
|
||||
"; \u0453 , \u0403" + // gje
|
||||
"; \u0493 , \u0492" + // ghe-stroke
|
||||
"< \u0434 , \u0414" + // de
|
||||
"< \u0452 , \u0402" + // dje
|
||||
"< \u0435 , \u0415" + // ie
|
||||
"; \u04bd , \u04bc" + // che
|
||||
"; \u0451 , \u0401" + // io
|
||||
"; \u04bf , \u04be" + // che-descender
|
||||
"< \u0454 , \u0404" + // uk ie
|
||||
"< \u0436 , \u0416" + // zhe
|
||||
"; \u0497 , \u0496" + // zhe-descender
|
||||
"; \u04c2 , \u04c1" + // zhe-breve
|
||||
"< \u0437 , \u0417" + // ze
|
||||
"; \u0499 , \u0498" + // zh-descender
|
||||
"< \u0455 , \u0405" + // dze
|
||||
"< \u0438 , \u0418" + // i
|
||||
"< \u0456 , \u0406" + // uk/bg i
|
||||
"; \u04c0 " + // palochka
|
||||
"< \u0457 , \u0407" + // uk yi
|
||||
"< \u0439 , \u0419" + // short i
|
||||
"< \u0458 , \u0408" + // je
|
||||
"< \u043a , \u041a" + // ka
|
||||
"; \u049f , \u049e" + // ka-stroke
|
||||
"; \u04c4 , \u04c3" + // ka-hook
|
||||
"; \u049d , \u049c" + // ka-vt-stroke
|
||||
"; \u04a1 , \u04a0" + // bashkir-ka
|
||||
"; \u045c , \u040c" + // kje
|
||||
"; \u049b , \u049a" + // ka-descender
|
||||
"< \u043b , \u041b" + // el
|
||||
"< \u0459 , \u0409" + // lje
|
||||
"< \u043c , \u041c" + // em
|
||||
"< \u043d , \u041d" + // en
|
||||
"; \u0463 " + // yat
|
||||
"; \u04a3 , \u04a2" + // en-descender
|
||||
"; \u04a5 , \u04a4" + // en-ghe
|
||||
"; \u04bb , \u04ba" + // shha
|
||||
"; \u04c8 , \u04c7" + // en-hook
|
||||
"< \u045a , \u040a" + // nje
|
||||
"< \u043e , \u041e" + // o
|
||||
"; \u04a9 , \u04a8" + // ha
|
||||
"< \u043f , \u041f" + // pe
|
||||
"; \u04a7 , \u04a6" + // pe-mid-hook
|
||||
"< \u0440 , \u0420" + // er
|
||||
"< \u0441 , \u0421" + // es
|
||||
"; \u04ab , \u04aa" + // es-descender
|
||||
"< \u0442 , \u0422" + // te
|
||||
"; \u04ad , \u04ac" + // te-descender
|
||||
"< \u045b , \u040b" + // tshe
|
||||
"< \u0443 , \u0423" + // u
|
||||
"; \u04af , \u04ae" + // straight u
|
||||
"< \u045e , \u040e" + // short u
|
||||
"< \u04b1 , \u04b0" + // straight u-stroke
|
||||
"< \u0444 , \u0424" + // ef
|
||||
"< \u0445 , \u0425" + // ha
|
||||
"; \u04b3 , \u04b2" + // ha-descender
|
||||
"< \u0446 , \u0426" + // tse
|
||||
"; \u04b5 , \u04b4" + // te tse
|
||||
"< \u0447 , \u0427" + // che
|
||||
"; \u04b7 ; \u04b6" + // che-descender
|
||||
"; \u04b9 , \u04b8" + // che-vt-stroke
|
||||
"; \u04cc , \u04cb" + // che
|
||||
"< \u045f , \u040f" + // dzhe
|
||||
"< \u0448 , \u0428" + // sha
|
||||
"< \u0449 , \u0429" + // shcha
|
||||
"< \u044a , \u042a" + // hard sign
|
||||
"< \u044b , \u042b" + // yeru
|
||||
"< \u044c , \u042c" + // soft sign
|
||||
"< \u044d , \u042d" + // e
|
||||
"< \u044e , \u042e" + // yu
|
||||
"< \u044f , \u042f" + // ya
|
||||
"< \u0461 , \u0460" + // omega
|
||||
"< \u0462 " + // yat
|
||||
"< \u0465 , \u0464" + // iotified e
|
||||
"< \u0467 , \u0466" + // little yus
|
||||
"< \u0469 , \u0468" + // iotified little yus
|
||||
"< \u046b , \u046a" + // big yus
|
||||
"< \u046d , \u046c" + // iotified big yus
|
||||
"< \u046f , \u046e" + // ksi
|
||||
"< \u0471 , \u0470" + // psi
|
||||
"< \u0473 , \u0472" + // fita
|
||||
"< \u0475 , \u0474" + // izhitsa
|
||||
"; \u0477 , \u0476" + // izhitsa-double-grave
|
||||
"< \u0479 , \u0478" + // uk
|
||||
"< \u047b , \u047a" + // round omega
|
||||
"< \u047d , \u047c" + // omega-titlo
|
||||
"< \u047f , \u047e" + // ot
|
||||
"< \u0481 , \u0480" // koppa
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
225
jdkSrc/jdk8/sun/text/resources/be/FormatData_be.java
Normal file
225
jdkSrc/jdk8/sun/text/resources/be/FormatData_be.java
Normal file
@@ -0,0 +1,225 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.be;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_be extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f", // january
|
||||
"\u043b\u044e\u0442\u0430\u0433\u0430", // february
|
||||
"\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430", // march
|
||||
"\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430", // april
|
||||
"\u043c\u0430\u044f", // may
|
||||
"\u0447\u0440\u0432\u0435\u043d\u044f", // june
|
||||
"\u043b\u0456\u043f\u0435\u043d\u044f", // july
|
||||
"\u0436\u043d\u0456\u045e\u043d\u044f", // august
|
||||
"\u0432\u0435\u0440\u0430\u0441\u043d\u044f", // september
|
||||
"\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430", // october
|
||||
"\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430", // november
|
||||
"\u0441\u043d\u0435\u0436\u043d\u044f", // december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u0441\u0442\u0434", // abb january
|
||||
"\u043b\u044e\u0442", // abb february
|
||||
"\u0441\u043a\u0432", // abb march
|
||||
"\u043a\u0440\u0441", // abb april
|
||||
"\u043c\u0430\u0439", // abb may
|
||||
"\u0447\u0440\u0432", // abb june
|
||||
"\u043b\u043f\u043d", // abb july
|
||||
"\u0436\u043d\u0432", // abb august
|
||||
"\u0432\u0440\u0441", // abb september
|
||||
"\u043a\u0441\u0442", // abb october
|
||||
"\u043b\u0456\u0441", // abb november
|
||||
"\u0441\u043d\u0436", // abb december
|
||||
"" // abb month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNarrows",
|
||||
new String[] {
|
||||
"\u0441",
|
||||
"\u043b",
|
||||
"\u0441",
|
||||
"\u043a",
|
||||
"\u043c",
|
||||
"\u0447",
|
||||
"\u043b",
|
||||
"\u0436",
|
||||
"\u0432",
|
||||
"\u043a",
|
||||
"\u043b",
|
||||
"\u0441",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u043d\u044f\u0434\u0437\u0435\u043b\u044f", // Sunday
|
||||
"\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a", // Monday
|
||||
"\u0430\u045e\u0442\u043e\u0440\u0430\u043a", // Tuesday
|
||||
"\u0441\u0435\u0440\u0430\u0434\u0430", // Wednesday
|
||||
"\u0447\u0430\u0446\u0432\u0435\u0440", // Thursday
|
||||
"\u043f\u044f\u0442\u043d\u0456\u0446\u0430", // Friday
|
||||
"\u0441\u0443\u0431\u043e\u0442\u0430" // Saturday
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u043d\u0434", // abb Sunday
|
||||
"\u043f\u043d", // abb Monday
|
||||
"\u0430\u0442", // abb Tuesday
|
||||
"\u0441\u0440", // abb Wednesday
|
||||
"\u0447\u0446", // abb Thursday
|
||||
"\u043f\u0442", // abb Friday
|
||||
"\u0441\u0431" // abb Saturday
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u043d",
|
||||
"\u043f",
|
||||
"\u0430",
|
||||
"\u0441",
|
||||
"\u0447",
|
||||
"\u043f",
|
||||
"\u0441",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] { // era strings
|
||||
"\u0434\u0430 \u043d.\u0435.",
|
||||
"\u043d.\u0435."
|
||||
}
|
||||
},
|
||||
{ "short.Eras",
|
||||
new String[] {
|
||||
"\u0434\u0430 \u043d.\u044d.",
|
||||
"\u043d.\u044d.",
|
||||
}
|
||||
},
|
||||
{ "NumberElements",
|
||||
new String[] {
|
||||
",", // decimal separator
|
||||
"\u00a0", // group (thousands) separator
|
||||
";", // list separator
|
||||
"%", // percent sign
|
||||
"0", // native 0 digit
|
||||
"#", // pattern digit
|
||||
"-", // minus sign
|
||||
"E", // exponential
|
||||
"\u2030", // per mille
|
||||
"\u221e", // infinity
|
||||
"\ufffd" // NaN
|
||||
}
|
||||
},
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"H.mm.ss z", // full time pattern
|
||||
"H.mm.ss z", // long time pattern
|
||||
"H.mm.ss", // medium time pattern
|
||||
"H.mm", // short time pattern
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d, MMMM yyyy", // full date pattern
|
||||
"EEEE, d, MMMM yyyy", // long date pattern
|
||||
"d.M.yyyy", // medium date pattern
|
||||
"d.M.yy", // short date pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatterns",
|
||||
new String[] {
|
||||
"{1} {0}" // date-time pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatternChars", "GanjkHmsSEDFwWxhKzZ" },
|
||||
};
|
||||
}
|
||||
}
|
||||
63
jdkSrc/jdk8/sun/text/resources/be/FormatData_be_BY.java
Normal file
63
jdkSrc/jdk8/sun/text/resources/be/FormatData_be_BY.java
Normal file
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.be;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_be_BY extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###;-#,##0.###", // decimal pattern
|
||||
"\u00A4#,##0.##;-\u00A4#,##0.##", // currency pattern
|
||||
"#,##0%" // percent pattern
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
138
jdkSrc/jdk8/sun/text/resources/be/JavaTimeSupplementary_be.java
Normal file
138
jdkSrc/jdk8/sun/text/resources/be/JavaTimeSupplementary_be.java
Normal file
@@ -0,0 +1,138 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
// Note: this file has been generated by a tool.
|
||||
|
||||
package sun.text.resources.be;
|
||||
|
||||
import sun.util.resources.OpenListResourceBundle;
|
||||
|
||||
public class JavaTimeSupplementary_be extends OpenListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"1-\u0448\u044b \u043a\u0432.",
|
||||
"2-\u0433\u0456 \u043a\u0432.",
|
||||
"3-\u0446\u0456 \u043a\u0432.",
|
||||
"4-\u0442\u044b \u043a\u0432.",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1-\u0448\u044b \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
|
||||
"2-\u0433\u0456 \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
|
||||
"3-\u0446\u0456 \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
|
||||
"4-\u0442\u044b \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
|
||||
}
|
||||
},
|
||||
{ "calendarname.buddhist",
|
||||
"\u0431\u0443\u0434\u044b\u0441\u0446\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.gregorian",
|
||||
"\u0433\u0440\u044d\u0433\u0430\u0440\u044b\u044f\u043d\u0441\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.gregory",
|
||||
"\u0433\u0440\u044d\u0433\u0430\u0440\u044b\u044f\u043d\u0441\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamic",
|
||||
"\u043c\u0443\u0441\u0443\u043b\u044c\u043c\u0430\u043d\u0441\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamic-civil",
|
||||
"\u043c\u0443\u0441\u0443\u043b\u044c\u043c\u0430\u043d\u0441\u043a\u0456 \u0441\u0432\u0435\u0446\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamicc",
|
||||
"\u043c\u0443\u0441\u0443\u043b\u044c\u043c\u0430\u043d\u0441\u043a\u0456 \u0441\u0432\u0435\u0446\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.japanese",
|
||||
"\u044f\u043f\u043e\u043d\u0441\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "field.dayperiod",
|
||||
"\u0414\u041f/\u041f\u041f" },
|
||||
{ "field.era",
|
||||
"\u044d\u0440\u0430" },
|
||||
{ "field.hour",
|
||||
"\u0433\u0430\u0434\u0437\u0456\u043d\u0430" },
|
||||
{ "field.minute",
|
||||
"\u0445\u0432\u0456\u043b\u0456\u043d\u0430" },
|
||||
{ "field.month",
|
||||
"\u043c\u0435\u0441\u044f\u0446" },
|
||||
{ "field.second",
|
||||
"\u0441\u0435\u043a\u0443\u043d\u0434\u0430" },
|
||||
{ "field.week",
|
||||
"\u0442\u044b\u0434\u0437\u0435\u043d\u044c" },
|
||||
{ "field.weekday",
|
||||
"\u0434\u0437\u0435\u043d\u044c \u0442\u044b\u0434\u043d\u044f" },
|
||||
{ "field.year",
|
||||
"\u0433\u043e\u0434" },
|
||||
{ "field.zone",
|
||||
"Zone" },
|
||||
{ "java.time.buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y G",
|
||||
"d MMMM y G",
|
||||
"d MMM y G",
|
||||
"d.M.yy",
|
||||
}
|
||||
},
|
||||
{ "java.time.short.Eras",
|
||||
new String[] {
|
||||
"\u0434\u0430 \u043d.\u0435.",
|
||||
"\u043d.\u0435.",
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
152
jdkSrc/jdk8/sun/text/resources/bg/CollationData_bg.java
Normal file
152
jdkSrc/jdk8/sun/text/resources/bg/CollationData_bg.java
Normal file
@@ -0,0 +1,152 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.bg;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class CollationData_bg extends ListResourceBundle {
|
||||
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "Rule",
|
||||
/* for bg, default plus the following */
|
||||
"& 9 < \u0482 " + // thousand sign
|
||||
"& Z " + // Arabic script sorts after Z's
|
||||
"< \u0430 , \u0410" + // a
|
||||
"< \u0431 , \u0411" + // be
|
||||
"< \u0432 , \u0412" + // ve
|
||||
"< \u0433 , \u0413" + // ghe
|
||||
"; \u0491 , \u0490" + // ghe-upturn
|
||||
"; \u0495 , \u0494" + // ghe-mid-hook
|
||||
"; \u0453 , \u0403" + // gje
|
||||
"; \u0493 , \u0492" + // ghe-stroke
|
||||
"< \u0434 , \u0414" + // de
|
||||
"< \u0452 , \u0402" + // dje
|
||||
"< \u0435 , \u0415" + // ie
|
||||
"; \u04bd , \u04bc" + // che
|
||||
"; \u0451 , \u0401" + // io
|
||||
"; \u04bf , \u04be" + // che-descender
|
||||
"< \u0454 , \u0404" + // uk ie
|
||||
"< \u0436 , \u0416" + // zhe
|
||||
"; \u0497 , \u0496" + // zhe-descender
|
||||
"; \u04c2 , \u04c1" + // zhe-breve
|
||||
"< \u0437 , \u0417" + // ze
|
||||
"; \u0499 , \u0498" + // zh-descender
|
||||
"< \u0455 , \u0405" + // dze
|
||||
"< \u0438 , \u0418" + // i
|
||||
"< \u0456 , \u0406" + // uk/bg i
|
||||
"; \u04c0 " + // palochka
|
||||
"< \u0457 , \u0407" + // uk yi
|
||||
"< \u0439 , \u0419" + // short i
|
||||
"< \u0458 , \u0408" + // je
|
||||
"< \u043a , \u041a" + // ka
|
||||
"; \u049f , \u049e" + // ka-stroke
|
||||
"; \u04c4 , \u04c3" + // ka-hook
|
||||
"; \u049d , \u049c" + // ka-vt-stroke
|
||||
"; \u04a1 , \u04a0" + // bashkir-ka
|
||||
"; \u045c , \u040c" + // kje
|
||||
"; \u049b , \u049a" + // ka-descender
|
||||
"< \u043b , \u041b" + // el
|
||||
"< \u0459 , \u0409" + // lje
|
||||
"< \u043c , \u041c" + // em
|
||||
"< \u043d , \u041d" + // en
|
||||
"; \u0463 " + // yat
|
||||
"; \u04a3 , \u04a2" + // en-descender
|
||||
"; \u04a5 , \u04a4" + // en-ghe
|
||||
"; \u04bb , \u04ba" + // shha
|
||||
"; \u04c8 , \u04c7" + // en-hook
|
||||
"< \u045a , \u040a" + // nje
|
||||
"< \u043e , \u041e" + // o
|
||||
"; \u04a9 , \u04a8" + // ha
|
||||
"< \u043f , \u041f" + // pe
|
||||
"; \u04a7 , \u04a6" + // pe-mid-hook
|
||||
"< \u0440 , \u0420" + // er
|
||||
"< \u0441 , \u0421" + // es
|
||||
"; \u04ab , \u04aa" + // es-descender
|
||||
"< \u0442 , \u0422" + // te
|
||||
"; \u04ad , \u04ac" + // te-descender
|
||||
"< \u045b , \u040b" + // tshe
|
||||
"< \u0443 , \u0423" + // u
|
||||
"; \u04af , \u04ae" + // straight u
|
||||
"< \u045e , \u040e" + // short u
|
||||
"< \u04b1 , \u04b0" + // straight u-stroke
|
||||
"< \u0444 , \u0424" + // ef
|
||||
"< \u0445 , \u0425" + // ha
|
||||
"; \u04b3 , \u04b2" + // ha-descender
|
||||
"< \u0446 , \u0426" + // tse
|
||||
"; \u04b5 , \u04b4" + // te tse
|
||||
"< \u0447 , \u0427" + // che
|
||||
"; \u04b7 ; \u04b6" + // che-descender
|
||||
"; \u04b9 , \u04b8" + // che-vt-stroke
|
||||
"; \u04cc , \u04cb" + // che
|
||||
"< \u045f , \u040f" + // dzhe
|
||||
"< \u0448 , \u0428" + // sha
|
||||
"< \u0449 , \u0429" + // shcha
|
||||
"< \u044a , \u042a" + // hard sign
|
||||
"< \u044b , \u042b" + // yeru
|
||||
"< \u044c , \u042c" + // soft sign
|
||||
"< \u044d , \u042d" + // e
|
||||
"< \u044e , \u042e" + // yu
|
||||
"< \u044f , \u042f" + // ya
|
||||
"< \u0461 , \u0460" + // omega
|
||||
"< \u0462 " + // yat
|
||||
"< \u0465 , \u0464" + // iotified e
|
||||
"< \u0467 , \u0466" + // little yus
|
||||
"< \u0469 , \u0468" + // iotified little yus
|
||||
"< \u046b , \u046a" + // big yus
|
||||
"< \u046d , \u046c" + // iotified big yus
|
||||
"< \u046f , \u046e" + // ksi
|
||||
"< \u0471 , \u0470" + // psi
|
||||
"< \u0473 , \u0472" + // fita
|
||||
"< \u0475 , \u0474" + // izhitsa
|
||||
"; \u0477 , \u0476" + // izhitsa-double-grave
|
||||
"< \u0479 , \u0478" + // uk
|
||||
"< \u047b , \u047a" + // round omega
|
||||
"< \u047d , \u047c" + // omega-titlo
|
||||
"< \u047f , \u047e" + // ot
|
||||
"< \u0481 , \u0480" // koppa
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
225
jdkSrc/jdk8/sun/text/resources/bg/FormatData_bg.java
Normal file
225
jdkSrc/jdk8/sun/text/resources/bg/FormatData_bg.java
Normal file
@@ -0,0 +1,225 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.bg;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_bg extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u042f\u043d\u0443\u0430\u0440\u0438", // january
|
||||
"\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438", // february
|
||||
"\u041c\u0430\u0440\u0442", // march
|
||||
"\u0410\u043f\u0440\u0438\u043b", // april
|
||||
"\u041c\u0430\u0439", // may
|
||||
"\u042e\u043d\u0438", // june
|
||||
"\u042e\u043b\u0438", // july
|
||||
"\u0410\u0432\u0433\u0443\u0441\u0442", // august
|
||||
"\u0421\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438", // september
|
||||
"\u041e\u043a\u0442\u043e\u043c\u0432\u0440\u0438", // october
|
||||
"\u041d\u043e\u0435\u043c\u0432\u0440\u0438", // november
|
||||
"\u0414\u0435\u043a\u0435\u043c\u0432\u0440\u0438", // december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"I", // abb january
|
||||
"II", // abb february
|
||||
"III", // abb march
|
||||
"IV", // abb april
|
||||
"V", // abb may
|
||||
"VI", // abb june
|
||||
"VII", // abb july
|
||||
"VIII", // abb august
|
||||
"IX", // abb september
|
||||
"X", // abb october
|
||||
"XI", // abb november
|
||||
"XII", // abb december
|
||||
"" // abb month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"\u044f",
|
||||
"\u0444",
|
||||
"\u043c",
|
||||
"\u0430",
|
||||
"\u043c",
|
||||
"\u044e",
|
||||
"\u044e",
|
||||
"\u0430",
|
||||
"\u0441",
|
||||
"\u043e",
|
||||
"\u043d",
|
||||
"\u0434",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u041d\u0435\u0434\u0435\u043b\u044f", // Sunday
|
||||
"\u041f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a", // Monday
|
||||
"\u0412\u0442\u043e\u0440\u043d\u0438\u043a", // Tuesday
|
||||
"\u0421\u0440\u044f\u0434\u0430", // Wednesday
|
||||
"\u0427\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a", // Thursday
|
||||
"\u041f\u0435\u0442\u044a\u043a", // Friday
|
||||
"\u0421\u044a\u0431\u043e\u0442\u0430" // Saturday
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u041d\u0434", // abb Sunday
|
||||
"\u041f\u043d", // abb Monday
|
||||
"\u0412\u0442", // abb Tuesday
|
||||
"\u0421\u0440", // abb Wednesday
|
||||
"\u0427\u0442", // abb Thursday
|
||||
"\u041f\u0442", // abb Friday
|
||||
"\u0421\u0431" // abb Saturday
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u043d",
|
||||
"\u043f",
|
||||
"\u0432",
|
||||
"\u0441",
|
||||
"\u0447",
|
||||
"\u043f",
|
||||
"\u0441",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] { // era strings
|
||||
"\u043f\u0440.\u043d.\u0435.",
|
||||
"\u043d.\u0435."
|
||||
}
|
||||
},
|
||||
{ "short.Eras",
|
||||
new String[] {
|
||||
"\u043f\u0440. \u043d. \u0435.",
|
||||
"\u043e\u0442 \u043d. \u0435.",
|
||||
}
|
||||
},
|
||||
{ "NumberElements",
|
||||
new String[] {
|
||||
",", // decimal separator
|
||||
"\u00a0", // group (thousands) separator
|
||||
";", // list separator
|
||||
"%", // percent sign
|
||||
"0", // native 0 digit
|
||||
"#", // pattern digit
|
||||
"-", // minus sign
|
||||
"E", // exponential
|
||||
"\u2030", // per mille
|
||||
"\u221e", // infinity
|
||||
"\ufffd" // NaN
|
||||
}
|
||||
},
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz", // full time pattern
|
||||
"HH:mm:ss z", // long time pattern
|
||||
"HH:mm:ss", // medium time pattern
|
||||
"HH:mm", // short time pattern
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"dd MMMM y, EEEE", // full date pattern
|
||||
"dd MMMM y", // long date pattern
|
||||
"dd.MM.yyyy", // medium date pattern
|
||||
"dd.MM.yy", // short date pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatterns",
|
||||
new String[] {
|
||||
"{1} {0}" // date-time pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatternChars", "GanjkHmsSEDFwWxhKzZ" },
|
||||
};
|
||||
}
|
||||
}
|
||||
63
jdkSrc/jdk8/sun/text/resources/bg/FormatData_bg_BG.java
Normal file
63
jdkSrc/jdk8/sun/text/resources/bg/FormatData_bg_BG.java
Normal file
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.bg;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_bg_BG extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###;-#,##0.###", // decimal pattern
|
||||
"\u00A4#,##0.##;-\u00A4#,##0.##", // currency pattern
|
||||
"#,##0%" // percent pattern
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
163
jdkSrc/jdk8/sun/text/resources/bg/JavaTimeSupplementary_bg.java
Normal file
163
jdkSrc/jdk8/sun/text/resources/bg/JavaTimeSupplementary_bg.java
Normal file
@@ -0,0 +1,163 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
// Note: this file has been generated by a tool.
|
||||
|
||||
package sun.text.resources.bg;
|
||||
|
||||
import sun.util.resources.OpenListResourceBundle;
|
||||
|
||||
public class JavaTimeSupplementary_bg extends OpenListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"I \u0442\u0440\u0438\u043c.",
|
||||
"II \u0442\u0440\u0438\u043c.",
|
||||
"III \u0442\u0440\u0438\u043c.",
|
||||
"IV \u0442\u0440\u0438\u043c.",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1-\u0432\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
|
||||
"2-\u0440\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
|
||||
"3-\u0442\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
|
||||
"4-\u0442\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "calendarname.buddhist",
|
||||
"\u0411\u0443\u0434\u0438\u0441\u0442\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.gregorian",
|
||||
"\u0413\u0440\u0438\u0433\u043e\u0440\u0438\u0430\u043d\u0441\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.gregory",
|
||||
"\u0413\u0440\u0438\u0433\u043e\u0440\u0438\u0430\u043d\u0441\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamic",
|
||||
"\u0418\u0441\u043b\u044f\u043c\u0441\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamic-civil",
|
||||
"\u0418\u0441\u043b\u044f\u043c\u0441\u043a\u0438 \u0446\u0438\u0432\u0438\u043b\u0435\u043d \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamicc",
|
||||
"\u0418\u0441\u043b\u044f\u043c\u0441\u043a\u0438 \u0446\u0438\u0432\u0438\u043b\u0435\u043d \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.japanese",
|
||||
"\u042f\u043f\u043e\u043d\u0441\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.roc",
|
||||
"\u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440 \u043d\u0430 \u0420\u0435\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0438\u0442\u0430\u0439" },
|
||||
{ "field.dayperiod",
|
||||
"\u0434\u0435\u043d" },
|
||||
{ "field.era",
|
||||
"\u0435\u0440\u0430" },
|
||||
{ "field.hour",
|
||||
"\u0447\u0430\u0441" },
|
||||
{ "field.minute",
|
||||
"\u043c\u0438\u043d\u0443\u0442\u0430" },
|
||||
{ "field.month",
|
||||
"\u043c\u0435\u0441\u0435\u0446" },
|
||||
{ "field.second",
|
||||
"\u0441\u0435\u043a\u0443\u043d\u0434\u0430" },
|
||||
{ "field.week",
|
||||
"\u0441\u0435\u0434\u043c\u0438\u0446\u0430" },
|
||||
{ "field.weekday",
|
||||
"\u0414\u0435\u043d \u043e\u0442 \u0441\u0435\u0434\u043c\u0438\u0446\u0430\u0442\u0430" },
|
||||
{ "field.year",
|
||||
"\u0433\u043e\u0434\u0438\u043d\u0430" },
|
||||
{ "field.zone",
|
||||
"\u0437\u043e\u043d\u0430" },
|
||||
{ "islamic.MonthNames",
|
||||
new String[] {
|
||||
"\u043c\u0443\u0445\u0430\u0440\u0430\u043c",
|
||||
"\u0441\u0430\u0444\u0430\u0440",
|
||||
"\u0440\u0430\u0431\u0438-1",
|
||||
"\u0440\u0430\u0431\u0438-2",
|
||||
"\u0434\u0436\u0443\u043c\u0430\u0434\u0430-1",
|
||||
"\u0434\u0436\u0443\u043c\u0430\u0434\u0430-2",
|
||||
"\u0440\u0430\u0434\u0436\u0430\u0431",
|
||||
"\u0448\u0430\u0431\u0430\u043d",
|
||||
"\u0440\u0430\u043c\u0430\u0437\u0430\u043d",
|
||||
"\u0428\u0430\u0432\u0430\u043b",
|
||||
"\u0414\u0445\u0443\u043b-\u041a\u0430\u0430\u0434\u0430",
|
||||
"\u0414\u0445\u0443\u043b-\u0445\u0438\u0434\u0436\u0430",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "java.time.long.Eras",
|
||||
new String[] {
|
||||
"\u043f\u0440.\u0425\u0440.",
|
||||
"\u0441\u043b.\u0425\u0440.",
|
||||
}
|
||||
},
|
||||
{ "java.time.short.Eras",
|
||||
new String[] {
|
||||
"\u043f\u0440.\u043d.\u0435.",
|
||||
"\u043d.\u0435.",
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
55
jdkSrc/jdk8/sun/text/resources/ca/CollationData_ca.java
Normal file
55
jdkSrc/jdk8/sun/text/resources/ca/CollationData_ca.java
Normal file
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.ca;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class CollationData_ca extends ListResourceBundle {
|
||||
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "Rule", "@" }
|
||||
};
|
||||
}
|
||||
}
|
||||
303
jdkSrc/jdk8/sun/text/resources/ca/FormatData_ca.java
Normal file
303
jdkSrc/jdk8/sun/text/resources/ca/FormatData_ca.java
Normal file
@@ -0,0 +1,303 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.ca;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_ca extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"de gener",
|
||||
"de febrer",
|
||||
"de mar\u00e7",
|
||||
"d\u2019abril",
|
||||
"de maig",
|
||||
"de juny",
|
||||
"de juliol",
|
||||
"d\u2019agost",
|
||||
"de setembre",
|
||||
"d\u2019octubre",
|
||||
"de novembre",
|
||||
"de desembre",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"G",
|
||||
"F",
|
||||
"M",
|
||||
"A",
|
||||
"M",
|
||||
"J",
|
||||
"G",
|
||||
"A",
|
||||
"S",
|
||||
"O",
|
||||
"N",
|
||||
"D",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNames",
|
||||
new String[] {
|
||||
"gener", // january
|
||||
"febrer", // february
|
||||
"mar\u00e7", // march
|
||||
"abril", // april
|
||||
"maig", // may
|
||||
"juny", // june
|
||||
"juliol", // july
|
||||
"agost", // august
|
||||
"setembre", // september
|
||||
"octubre", // october
|
||||
"novembre", // november
|
||||
"desembre", // december
|
||||
"" // month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"de gen.",
|
||||
"de febr.",
|
||||
"de mar\u00e7",
|
||||
"d\u2019abr.",
|
||||
"de maig",
|
||||
"de juny",
|
||||
"de jul.",
|
||||
"d\u2019ag.",
|
||||
"de set.",
|
||||
"d\u2019oct.",
|
||||
"de nov.",
|
||||
"de des.",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthAbbreviations",
|
||||
new String[] {
|
||||
"gen.", // abb january
|
||||
"feb.", // abb february
|
||||
"mar\u00e7", // abb march
|
||||
"abr.", // abb april
|
||||
"maig", // abb may
|
||||
"juny", // abb june
|
||||
"jul.", // abb july
|
||||
"ag.", // abb august
|
||||
"set.", // abb september
|
||||
"oct.", // abb october
|
||||
"nov.", // abb november
|
||||
"des.", // abb december
|
||||
"" // abb month 13 if applicable
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNarrows",
|
||||
new String[] {
|
||||
"g",
|
||||
"f",
|
||||
"m",
|
||||
"a",
|
||||
"m",
|
||||
"j",
|
||||
"j",
|
||||
"a",
|
||||
"s",
|
||||
"o",
|
||||
"n",
|
||||
"d",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"diumenge", // Sunday
|
||||
"dilluns", // Monday
|
||||
"dimarts", // Tuesday
|
||||
"dimecres", // Wednesday
|
||||
"dijous", // Thursday
|
||||
"divendres", // Friday
|
||||
"dissabte" // Saturday
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNames",
|
||||
new String[] {
|
||||
"Diumenge",
|
||||
"Dilluns",
|
||||
"Dimarts",
|
||||
"Dimecres",
|
||||
"Dijous",
|
||||
"Divendres",
|
||||
"Dissabte",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"dg.", // abb Sunday
|
||||
"dl.", // abb Monday
|
||||
"dt.", // abb Tuesday
|
||||
"dc.", // abb Wednesday
|
||||
"dj.", // abb Thursday
|
||||
"dv.", // abb Friday
|
||||
"ds." // abb Saturday
|
||||
}
|
||||
},
|
||||
{ "standalone.DayAbbreviations",
|
||||
new String[] {
|
||||
"dg",
|
||||
"dl",
|
||||
"dt",
|
||||
"dc",
|
||||
"dj",
|
||||
"dv",
|
||||
"ds",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"G",
|
||||
"L", // Note: contributed item in CDLR
|
||||
"T",
|
||||
"C",
|
||||
"J",
|
||||
"V",
|
||||
"S",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNarrows",
|
||||
new String[] {
|
||||
"g",
|
||||
"l",
|
||||
"t",
|
||||
"c",
|
||||
"j",
|
||||
"v",
|
||||
"s",
|
||||
}
|
||||
},
|
||||
{ "short.Eras",
|
||||
new String[] {
|
||||
"aC",
|
||||
"dC",
|
||||
}
|
||||
},
|
||||
{ "NumberElements",
|
||||
new String[] {
|
||||
",", // decimal separator
|
||||
".", // group (thousands) separator
|
||||
";", // list separator
|
||||
"%", // percent sign
|
||||
"0", // native 0 digit
|
||||
"#", // pattern digit
|
||||
"-", // minus sign
|
||||
"E", // exponential
|
||||
"\u2030", // per mille
|
||||
"\u221e", // infinity
|
||||
"\ufffd" // NaN
|
||||
}
|
||||
},
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss z", // full time pattern
|
||||
"HH:mm:ss z", // long time pattern
|
||||
"HH:mm:ss", // medium time pattern
|
||||
"HH:mm", // short time pattern
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d' / 'MMMM' / 'yyyy", // full date pattern
|
||||
"d' / 'MMMM' / 'yyyy", // long date pattern
|
||||
"dd/MM/yyyy", // medium date pattern
|
||||
"dd/MM/yy", // short date pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatterns",
|
||||
new String[] {
|
||||
"{1} {0}" // date-time pattern
|
||||
}
|
||||
},
|
||||
{ "DateTimePatternChars", "GuMtkHmsSEDFwWahKzZ" },
|
||||
};
|
||||
}
|
||||
}
|
||||
63
jdkSrc/jdk8/sun/text/resources/ca/FormatData_ca_ES.java
Normal file
63
jdkSrc/jdk8/sun/text/resources/ca/FormatData_ca_ES.java
Normal file
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
*/
|
||||
|
||||
/*
|
||||
* (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
|
||||
* (C) Copyright IBM Corp. 1996 - 1998 - All Rights Reserved
|
||||
*
|
||||
* The original version of this source code and documentation
|
||||
* is copyrighted and owned by Taligent, Inc., a wholly-owned
|
||||
* subsidiary of IBM. These materials are provided under terms
|
||||
* of a License Agreement between Taligent and Sun. This technology
|
||||
* is protected by multiple US and International patents.
|
||||
*
|
||||
* This notice and attribution to Taligent may not be removed.
|
||||
* Taligent is a registered trademark of Taligent, Inc.
|
||||
*
|
||||
*/
|
||||
|
||||
package sun.text.resources.ca;
|
||||
|
||||
import sun.util.resources.ParallelListResourceBundle;
|
||||
|
||||
public class FormatData_ca_ES extends ParallelListResourceBundle {
|
||||
/**
|
||||
* Overrides ParallelListResourceBundle
|
||||
*/
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###;-#,##0.###", // decimal pattern
|
||||
"\u00A4 #,##0;-\u00A4 #,##0", // currency pattern
|
||||
"#,##0%" // percent pattern
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
140
jdkSrc/jdk8/sun/text/resources/ca/JavaTimeSupplementary_ca.java
Normal file
140
jdkSrc/jdk8/sun/text/resources/ca/JavaTimeSupplementary_ca.java
Normal file
@@ -0,0 +1,140 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
// Note: this file has been generated by a tool.
|
||||
|
||||
package sun.text.resources.ca;
|
||||
|
||||
import sun.util.resources.OpenListResourceBundle;
|
||||
|
||||
public class JavaTimeSupplementary_ca extends OpenListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
return new Object[][] {
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"1T",
|
||||
"2T",
|
||||
"3T",
|
||||
"4T",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1r trimestre",
|
||||
"2n trimestre",
|
||||
"3r trimestre",
|
||||
"4t trimestre",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "calendarname.buddhist",
|
||||
"calendari budista" },
|
||||
{ "calendarname.gregorian",
|
||||
"calendari gregori\u00e0" },
|
||||
{ "calendarname.gregory",
|
||||
"calendari gregori\u00e0" },
|
||||
{ "calendarname.islamic",
|
||||
"calendari musulm\u00e0" },
|
||||
{ "calendarname.islamic-civil",
|
||||
"calendari civil isl\u00e0mic" },
|
||||
{ "calendarname.islamicc",
|
||||
"calendari civil isl\u00e0mic" },
|
||||
{ "calendarname.japanese",
|
||||
"calendari japon\u00e8s" },
|
||||
{ "calendarname.roc",
|
||||
"calendari de la Rep\u00fablica de Xina" },
|
||||
{ "field.dayperiod",
|
||||
"a.m./p.m." },
|
||||
{ "field.era",
|
||||
"era" },
|
||||
{ "field.hour",
|
||||
"hora" },
|
||||
{ "field.minute",
|
||||
"minut" },
|
||||
{ "field.month",
|
||||
"mes" },
|
||||
{ "field.second",
|
||||
"segon" },
|
||||
{ "field.week",
|
||||
"setmana" },
|
||||
{ "field.weekday",
|
||||
"dia de la setmana" },
|
||||
{ "field.year",
|
||||
"any" },
|
||||
{ "field.zone",
|
||||
"zona" },
|
||||
{ "java.time.short.Eras",
|
||||
new String[] {
|
||||
"aC",
|
||||
"dC",
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
930
jdkSrc/jdk8/sun/text/resources/cldr/FormatData.java
Normal file
930
jdkSrc/jdk8/sun/text/resources/cldr/FormatData.java
Normal file
@@ -0,0 +1,930 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"May",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Dec",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"Sun",
|
||||
"Mon",
|
||||
"Tue",
|
||||
"Wed",
|
||||
"Thu",
|
||||
"Fri",
|
||||
"Sat",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"AM",
|
||||
"PM",
|
||||
}
|
||||
},
|
||||
{ "narrow.AmPmMarkers",
|
||||
new String[] {
|
||||
"a",
|
||||
"p",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"BCE",
|
||||
"CE",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Era" },
|
||||
{ "field.year", "Year" },
|
||||
{ "field.month", "Month" },
|
||||
{ "field.week", "Week" },
|
||||
{ "field.weekday", "Day of the Week" },
|
||||
{ "field.dayperiod", "Dayperiod" },
|
||||
{ "field.hour", "Hour" },
|
||||
{ "field.minute", "Minute" },
|
||||
{ "field.second", "Second" },
|
||||
{ "field.zone", "Zone" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, y MMMM dd",
|
||||
"y MMMM d",
|
||||
"y MMM d",
|
||||
"yyyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "DateTimePatterns",
|
||||
new String[] {
|
||||
"{1} {0}",
|
||||
}
|
||||
},
|
||||
{ "DateTimePatternChars", "GyMdkHmsSEDFwWahKzZ" },
|
||||
{ "buddhist.Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"BE",
|
||||
}
|
||||
},
|
||||
{ "java.time.buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, G y MMMM dd",
|
||||
"G y MMMM d",
|
||||
"G y MMM d",
|
||||
"GGGGG yyyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, GGGG y MMMM dd",
|
||||
"GGGG y MMMM d",
|
||||
"GGGG y MMM d",
|
||||
"G yyyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "japanese.Eras",
|
||||
new String[] {
|
||||
"CE",
|
||||
"Meiji",
|
||||
"Taish\u014d",
|
||||
"Sh\u014dwa",
|
||||
"Heisei",
|
||||
"Reiwa",
|
||||
}
|
||||
},
|
||||
{ "japanese.narrow.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"M",
|
||||
"T",
|
||||
"S",
|
||||
"H",
|
||||
"R",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, G y MMMM dd",
|
||||
"G y MMMM d",
|
||||
"G y MMM d",
|
||||
"GGGGG yy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "japanese.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, GGGG y MMMM dd",
|
||||
"GGGG y MMMM d",
|
||||
"GGGG y MMM d",
|
||||
"G yy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "japanese.DateTimePatterns",
|
||||
new String[] {
|
||||
"{1} {0}",
|
||||
}
|
||||
},
|
||||
{ "roc.Eras",
|
||||
new String[] {
|
||||
"Before R.O.C.",
|
||||
"R.O.C.",
|
||||
}
|
||||
},
|
||||
{ "java.time.roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, G y MMMM dd",
|
||||
"G y MMMM d",
|
||||
"G y MMM d",
|
||||
"GGGGG yyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, GGGG y MMMM dd",
|
||||
"GGGG y MMMM d",
|
||||
"GGGG y MMM d",
|
||||
"G yyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNames",
|
||||
new String[] {
|
||||
"Muharram",
|
||||
"Safar",
|
||||
"Rabi\u02bb I",
|
||||
"Rabi\u02bb II",
|
||||
"Jumada I",
|
||||
"Jumada II",
|
||||
"Rajab",
|
||||
"Sha\u02bbban",
|
||||
"Ramadan",
|
||||
"Shawwal",
|
||||
"Dhu\u02bbl-Qi\u02bbdah",
|
||||
"Dhu\u02bbl-Hijjah",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthAbbreviations",
|
||||
new String[] {
|
||||
"Muh.",
|
||||
"Saf.",
|
||||
"Rab. I",
|
||||
"Rab. II",
|
||||
"Jum. I",
|
||||
"Jum. II",
|
||||
"Raj.",
|
||||
"Sha.",
|
||||
"Ram.",
|
||||
"Shaw.",
|
||||
"Dhu\u02bbl-Q.",
|
||||
"Dhu\u02bbl-H.",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"AH",
|
||||
}
|
||||
},
|
||||
{ "java.time.islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, MMMM d, y G",
|
||||
"MMMM d, y G",
|
||||
"MMM d, y G",
|
||||
"M/d/yy G",
|
||||
}
|
||||
},
|
||||
{ "islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, MMMM d, y GGGG",
|
||||
"MMMM d, y GGGG",
|
||||
"MMM d, y GGGG",
|
||||
"M/d/yy GGGG",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-civil", "Islamic-Civil Calendar" },
|
||||
{ "calendarname.islamicc", "Islamic-Civil Calendar" },
|
||||
{ "calendarname.buddhist", "Buddhist Calendar" },
|
||||
{ "calendarname.islamic", "Islamic Calendar" },
|
||||
{ "calendarname.gregorian", "Gregorian Calendar" },
|
||||
{ "calendarname.gregory", "Gregorian Calendar" },
|
||||
{ "calendarname.roc", "Minguo Calendar" },
|
||||
{ "calendarname.japanese", "Japanese Calendar" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "arab.NumberElements",
|
||||
new String[] {
|
||||
"\u066b",
|
||||
"\u066c",
|
||||
"\u061b",
|
||||
"\u066a",
|
||||
"\u0660",
|
||||
"#",
|
||||
"-",
|
||||
"\u0627\u0633",
|
||||
"\u0609",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "arabext.NumberElements",
|
||||
new String[] {
|
||||
"\u066b",
|
||||
"\u066c",
|
||||
"\u061b",
|
||||
"\u066a",
|
||||
"\u06f0",
|
||||
"#",
|
||||
"-",
|
||||
"\u00d7\u06f1\u06f0^",
|
||||
"\u0609",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "bali.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1b50",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "beng.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u09e6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "cham.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\uaa50",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "deva.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0966",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "fullwide.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\uff10",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "gujr.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0ae6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "guru.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0a66",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "java.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\ua9d0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "kali.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\ua900",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "khmr.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u17e0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "knda.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0ce6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "laoo.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0ed0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "lana.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1a80",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "lanatham.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1a90",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "lepc.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1c40",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "limb.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1946",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mlym.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0d66",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mong.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1810",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mtei.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\uabf0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mymr.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1040",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "mymrshan.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1090",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "nkoo.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u07c0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "olck.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1c50",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "orya.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0b66",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "saur.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\ua8d0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "sund.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u1bb0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "talu.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u19d0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "tamldec.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0be6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "telu.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0c66",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "thai.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0e50",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "tibt.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0f20",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "vaii.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\ua620",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4\u00a0#,##0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
81
jdkSrc/jdk8/sun/text/resources/cldr/aa/FormatData_aa.java
Normal file
81
jdkSrc/jdk8/sun/text/resources/cldr/aa/FormatData_aa.java
Normal file
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.aa;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_aa extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
273
jdkSrc/jdk8/sun/text/resources/cldr/af/FormatData_af.java
Normal file
273
jdkSrc/jdk8/sun/text/resources/cldr/af/FormatData_af.java
Normal file
@@ -0,0 +1,273 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.af;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_af extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"Januarie",
|
||||
"Februarie",
|
||||
"Maart",
|
||||
"April",
|
||||
"Mei",
|
||||
"Junie",
|
||||
"Julie",
|
||||
"Augustus",
|
||||
"September",
|
||||
"Oktober",
|
||||
"November",
|
||||
"Desember",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNames",
|
||||
new String[] {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"April",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"Mei",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Okt",
|
||||
"Nov",
|
||||
"Des",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"J",
|
||||
"F",
|
||||
"M",
|
||||
"A",
|
||||
"M",
|
||||
"J",
|
||||
"J",
|
||||
"A",
|
||||
"S",
|
||||
"O",
|
||||
"N",
|
||||
"D",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"Sondag",
|
||||
"Maandag",
|
||||
"Dinsdag",
|
||||
"Woensdag",
|
||||
"Donderdag",
|
||||
"Vrydag",
|
||||
"Saterdag",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"So",
|
||||
"Ma",
|
||||
"Di",
|
||||
"Wo",
|
||||
"Do",
|
||||
"Vr",
|
||||
"Sa",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"S",
|
||||
"M",
|
||||
"D",
|
||||
"W",
|
||||
"D",
|
||||
"V",
|
||||
"S",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1ste kwartaal",
|
||||
"2de kwartaal",
|
||||
"3de kwartaal",
|
||||
"4de kwartaal",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"K1",
|
||||
"K2",
|
||||
"K3",
|
||||
"K4",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"vm.",
|
||||
"nm.",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"voor Christus",
|
||||
"na Christus",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"v.C.",
|
||||
"n.C.",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Era" },
|
||||
{ "field.year", "Jaar" },
|
||||
{ "field.month", "Maand" },
|
||||
{ "field.week", "Week" },
|
||||
{ "field.weekday", "Weeksdag" },
|
||||
{ "field.dayperiod", "AM/PM" },
|
||||
{ "field.hour", "Uur" },
|
||||
{ "field.minute", "Minuut" },
|
||||
{ "field.second", "Sekonde" },
|
||||
{ "field.zone", "Tydsone" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE dd MMMM y",
|
||||
"dd MMMM y",
|
||||
"dd MMM y",
|
||||
"yyyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-civil", "Islamitiese siviele kalender" },
|
||||
{ "calendarname.islamicc", "Islamitiese siviele kalender" },
|
||||
{ "calendarname.gregorian", "Gregoriese kalender" },
|
||||
{ "calendarname.gregory", "Gregoriese kalender" },
|
||||
{ "calendarname.japanese", "Japannese kalender" },
|
||||
{ "calendarname.buddhist", "Boeddhistiese kalender" },
|
||||
{ "calendarname.islamic", "Islamitiese kalender" },
|
||||
{ "calendarname.roc", "Minguo-kalender" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
"\u00a0",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4#,##0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
80
jdkSrc/jdk8/sun/text/resources/cldr/af/FormatData_af_NA.java
Normal file
80
jdkSrc/jdk8/sun/text/resources/cldr/af/FormatData_af_NA.java
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.af;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_af_NA extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4\u00a0#,##0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
232
jdkSrc/jdk8/sun/text/resources/cldr/agq/FormatData_agq.java
Normal file
232
jdkSrc/jdk8/sun/text/resources/cldr/agq/FormatData_agq.java
Normal file
@@ -0,0 +1,232 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.agq;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_agq extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300n\u00f9m",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300k\u0197\u0300z\u00f9\u0294",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300d\u0289\u0300gh\u00e0",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300t\u01ceaf\u0289\u0304gh\u0101",
|
||||
"ndz\u0254\u0300\u014b\u00e8s\u00e8e",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300nz\u00f9gh\u00f2",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300d\u00f9mlo",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300kw\u00eef\u0254\u0300e",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300t\u0197\u0300f\u0289\u0300gh\u00e0dzugh\u00f9",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300gh\u01d4uwel\u0254\u0300m",
|
||||
"ndz\u0254\u0300\u014b\u0254\u0300chwa\u0294\u00e0kaa wo",
|
||||
"ndz\u0254\u0300\u014b\u00e8fw\u00f2o",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"n\u00f9m",
|
||||
"k\u0268z",
|
||||
"t\u0268d",
|
||||
"taa",
|
||||
"see",
|
||||
"nzu",
|
||||
"dum",
|
||||
"f\u0254e",
|
||||
"dzu",
|
||||
"l\u0254m",
|
||||
"kaa",
|
||||
"fwo",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"n",
|
||||
"k",
|
||||
"t",
|
||||
"t",
|
||||
"s",
|
||||
"z",
|
||||
"k",
|
||||
"f",
|
||||
"d",
|
||||
"l",
|
||||
"c",
|
||||
"f",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"tsu\u0294nts\u0268",
|
||||
"tsu\u0294ukp\u00e0",
|
||||
"tsu\u0294ugh\u0254e",
|
||||
"tsu\u0294ut\u0254\u0300ml\u00f2",
|
||||
"tsu\u0294um\u00e8",
|
||||
"tsu\u0294ugh\u0268\u0302m",
|
||||
"tsu\u0294ndz\u0268k\u0254\u0294\u0254",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"nts",
|
||||
"kpa",
|
||||
"gh\u0254",
|
||||
"t\u0254m",
|
||||
"ume",
|
||||
"gh\u0268",
|
||||
"dzk",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"n",
|
||||
"k",
|
||||
"g",
|
||||
"t",
|
||||
"u",
|
||||
"g",
|
||||
"d",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"k\u0268b\u00e2 k\u0268 1",
|
||||
"ugb\u00e2 u 2",
|
||||
"ugb\u00e2 u 3",
|
||||
"ugb\u00e2 u 4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"a.g",
|
||||
"a.k",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"S\u011be K\u0268\u0300lesto",
|
||||
"B\u01cea K\u0268\u0300lesto",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"SK",
|
||||
"BK",
|
||||
}
|
||||
},
|
||||
{ "field.era", "k\u0268t\u00eegh" },
|
||||
{ "field.year", "k\u0268n\u00fbm" },
|
||||
{ "field.month", "ndz\u0254\u014b" },
|
||||
{ "field.week", "ew\u0268n" },
|
||||
{ "field.weekday", "tsu\u0294u m\u0268\u0300 \u00e8w\u0268\u0304n" },
|
||||
{ "field.dayperiod", "\u00e2 ts\u0268\u0300" },
|
||||
{ "field.hour", "t\u00e0m" },
|
||||
{ "field.minute", "men\u00e8" },
|
||||
{ "field.second", "s\u025bk\u0254\u0300n" },
|
||||
{ "field.zone", "d\u0268\u014b\u00f2 k\u0268 en\u0268\u0300gha" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM, y",
|
||||
"d/M/yyyy",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
"\u00a0",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"#,##0.00\u00a4",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
207
jdkSrc/jdk8/sun/text/resources/cldr/ak/FormatData_ak.java
Normal file
207
jdkSrc/jdk8/sun/text/resources/cldr/ak/FormatData_ak.java
Normal file
@@ -0,0 +1,207 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ak;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ak extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"Sanda-\u0186p\u025bp\u0254n",
|
||||
"Kwakwar-\u0186gyefuo",
|
||||
"Eb\u0254w-\u0186benem",
|
||||
"Eb\u0254bira-Oforisuo",
|
||||
"Esusow Aketseaba-K\u0254t\u0254nimba",
|
||||
"Obirade-Ay\u025bwohomumu",
|
||||
"Ay\u025bwoho-Kitawonsa",
|
||||
"Difuu-\u0186sandaa",
|
||||
"Fankwa-\u0190b\u0254",
|
||||
"\u0186b\u025bs\u025b-Ahinime",
|
||||
"\u0186ber\u025bf\u025bw-Obubuo",
|
||||
"Mumu-\u0186p\u025bnimba",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"S-\u0186",
|
||||
"K-\u0186",
|
||||
"E-\u0186",
|
||||
"E-O",
|
||||
"E-K",
|
||||
"O-A",
|
||||
"A-K",
|
||||
"D-\u0186",
|
||||
"F-\u0190",
|
||||
"\u0186-A",
|
||||
"\u0186-O",
|
||||
"M-\u0186",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"Kwesida",
|
||||
"Dwowda",
|
||||
"Benada",
|
||||
"Wukuda",
|
||||
"Yawda",
|
||||
"Fida",
|
||||
"Memeneda",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"Kwe",
|
||||
"Dwo",
|
||||
"Ben",
|
||||
"Wuk",
|
||||
"Yaw",
|
||||
"Fia",
|
||||
"Mem",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"K",
|
||||
"D",
|
||||
"B",
|
||||
"W",
|
||||
"Y",
|
||||
"F",
|
||||
"M",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"AN",
|
||||
"EW",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"Ansa Kristo",
|
||||
"Kristo Ekyiri",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"AK",
|
||||
"KE",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Bere" },
|
||||
{ "field.year", "Afe" },
|
||||
{ "field.month", "Bosome" },
|
||||
{ "field.week", "Dap\u025bn" },
|
||||
{ "field.weekday", "Dap\u025bn mu da" },
|
||||
{ "field.dayperiod", "Da bere" },
|
||||
{ "field.hour", "D\u0254nhwer" },
|
||||
{ "field.minute", "Sema" },
|
||||
{ "field.second", "S\u025bk\u025bnd" },
|
||||
{ "field.zone", "Bere apaamu" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, y MMMM dd",
|
||||
"y MMMM d",
|
||||
"y MMM d",
|
||||
"yy/MM/dd",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
"\u00a0",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4#,##0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
257
jdkSrc/jdk8/sun/text/resources/cldr/am/FormatData_am.java
Normal file
257
jdkSrc/jdk8/sun/text/resources/cldr/am/FormatData_am.java
Normal file
@@ -0,0 +1,257 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.am;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_am extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u1303\u1295\u12e9\u12c8\u122a",
|
||||
"\u134c\u1265\u1229\u12c8\u122a",
|
||||
"\u121b\u122d\u127d",
|
||||
"\u12a4\u1355\u1228\u120d",
|
||||
"\u121c\u12ed",
|
||||
"\u1301\u1295",
|
||||
"\u1301\u120b\u12ed",
|
||||
"\u12a6\u1308\u1235\u1275",
|
||||
"\u1234\u1355\u1274\u121d\u1260\u122d",
|
||||
"\u12a6\u12ad\u1270\u12cd\u1260\u122d",
|
||||
"\u1296\u126c\u121d\u1260\u122d",
|
||||
"\u12f2\u1234\u121d\u1260\u122d",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u1303\u1295\u12e9",
|
||||
"\u134c\u1265\u1229",
|
||||
"\u121b\u122d\u127d",
|
||||
"\u12a4\u1355\u1228",
|
||||
"\u121c\u12ed",
|
||||
"\u1301\u1295",
|
||||
"\u1301\u120b\u12ed",
|
||||
"\u12a6\u1308\u1235",
|
||||
"\u1234\u1355\u1274",
|
||||
"\u12a6\u12ad\u1270",
|
||||
"\u1296\u126c\u121d",
|
||||
"\u12f2\u1234\u121d",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"\u1303",
|
||||
"\u134c",
|
||||
"\u121b",
|
||||
"\u12a4",
|
||||
"\u121c",
|
||||
"\u1301",
|
||||
"\u1301",
|
||||
"\u12a6",
|
||||
"\u1234",
|
||||
"\u12a6",
|
||||
"\u1296",
|
||||
"\u12f2",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u12a5\u1211\u12f5",
|
||||
"\u1230\u129e",
|
||||
"\u121b\u12ad\u1230\u129e",
|
||||
"\u1228\u1261\u12d5",
|
||||
"\u1210\u1219\u1235",
|
||||
"\u12d3\u122d\u1265",
|
||||
"\u1245\u12f3\u121c",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u12a5\u1211\u12f5",
|
||||
"\u1230\u129e",
|
||||
"\u121b\u12ad\u1230",
|
||||
"\u1228\u1261\u12d5",
|
||||
"\u1210\u1219\u1235",
|
||||
"\u12d3\u122d\u1265",
|
||||
"\u1245\u12f3\u121c",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u12a5",
|
||||
"\u1230",
|
||||
"\u121b",
|
||||
"\u1228",
|
||||
"\u1210",
|
||||
"\u12d3",
|
||||
"\u1245",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1\u129b\u12cd \u1229\u1265",
|
||||
"\u1201\u1208\u1270\u129b\u12cd \u1229\u1265",
|
||||
"3\u129b\u12cd \u1229\u1265",
|
||||
"4\u129b\u12cd \u1229\u1265",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterNames",
|
||||
new String[] {
|
||||
"1\u129b\u12cd \u1229\u1265",
|
||||
"2\u129b\u12cd \u1229\u1265",
|
||||
"3\u129b\u12cd \u1229\u1265",
|
||||
"4\u129b\u12cd \u1229\u1265",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterAbbreviations",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u1321\u12cb\u1275",
|
||||
"\u12a8\u1233\u12d3\u1275",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"\u12d3\u1218\u1270 \u12d3\u1208\u121d",
|
||||
"\u12d3\u1218\u1270 \u121d\u1215\u1228\u1275",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"\u12d3/\u12d3",
|
||||
"\u12d3/\u121d",
|
||||
}
|
||||
},
|
||||
{ "field.era", "\u12d8\u1218\u1295" },
|
||||
{ "field.year", "\u12d3\u1218\u1275" },
|
||||
{ "field.month", "\u12c8\u122d" },
|
||||
{ "field.week", "\u1233\u121d\u1295\u1275" },
|
||||
{ "field.weekday", "\u12a0\u12d8\u1266\u1275" },
|
||||
{ "field.dayperiod", "\u1321\u12ce\u1275/\u12a8\u1230\u12a0\u1275" },
|
||||
{ "field.hour", "\u1230\u12d3\u1275" },
|
||||
{ "field.minute", "\u12f0\u1242\u1243" },
|
||||
{ "field.second", "\u1230\u12a8\u1295\u12f5" },
|
||||
{ "field.zone", "\u12e8\u1230\u12d3\u1275 \u1230\u1245" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM y",
|
||||
"dd/MM/yyyy",
|
||||
}
|
||||
},
|
||||
{ "calendarname.gregorian", "\u12e8\u130d\u122a\u130e\u122a\u12eb\u1295 \u1240\u1295 \u12a0\u1246\u1323\u1320\u122d" },
|
||||
{ "calendarname.gregory", "\u12e8\u130d\u122a\u130e\u122a\u12eb\u1295 \u1240\u1295 \u12a0\u1246\u1323\u1320\u122d" },
|
||||
{ "calendarname.roc", "\u12e8\u121a\u1295\u1309 \u12e8\u1240\u1295 \u12a0\u1246\u1323\u1320\u122d" },
|
||||
{ "calendarname.islamic-civil", "\u12e8\u12a5\u1235\u120b\u121d \u1205\u12dd\u1263\u12ca \u12e8\u1240\u1295 \u12a0\u1246\u1323\u1320\u122d" },
|
||||
{ "calendarname.islamicc", "\u12e8\u12a5\u1235\u120b\u121d \u1205\u12dd\u1263\u12ca \u12e8\u1240\u1295 \u12a0\u1246\u1323\u1320\u122d" },
|
||||
{ "calendarname.japanese", "\u12e8\u1303\u1353\u1295 \u12e8\u1240\u1295 \u12a0\u1246\u1323\u1320\u122d" },
|
||||
{ "calendarname.buddhist", "\u12e8\u1261\u12f2\u1235\u1275 \u1240\u1295 \u12a0\u1246\u1323\u1320\u122d" },
|
||||
{ "calendarname.islamic", "\u12e8\u12a5\u1235\u120b\u121b\u12ca \u12e8\u1230\u12d3\u1275 \u12a0\u1246\u1323\u1320\u122d" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4#,##0.00;(\u00a4#,##0.00)",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
412
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar.java
Normal file
412
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar.java
Normal file
@@ -0,0 +1,412 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u064a\u0646\u0627\u064a\u0631",
|
||||
"\u0641\u0628\u0631\u0627\u064a\u0631",
|
||||
"\u0645\u0627\u0631\u0633",
|
||||
"\u0623\u0628\u0631\u064a\u0644",
|
||||
"\u0645\u0627\u064a\u0648",
|
||||
"\u064a\u0648\u0646\u064a\u0648",
|
||||
"\u064a\u0648\u0644\u064a\u0648",
|
||||
"\u0623\u063a\u0633\u0637\u0633",
|
||||
"\u0633\u0628\u062a\u0645\u0628\u0631",
|
||||
"\u0623\u0643\u062a\u0648\u0628\u0631",
|
||||
"\u0646\u0648\u0641\u0645\u0628\u0631",
|
||||
"\u062f\u064a\u0633\u0645\u0628\u0631",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"\u064a",
|
||||
"\u0641",
|
||||
"\u0645",
|
||||
"\u0623",
|
||||
"\u0648",
|
||||
"\u0646",
|
||||
"\u0644",
|
||||
"\u063a",
|
||||
"\u0633",
|
||||
"\u0643",
|
||||
"\u0628",
|
||||
"\u062f",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0623\u062d\u062f",
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
|
||||
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
|
||||
"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
|
||||
"\u0627\u0644\u062e\u0645\u064a\u0633",
|
||||
"\u0627\u0644\u062c\u0645\u0639\u0629",
|
||||
"\u0627\u0644\u0633\u0628\u062a",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNames",
|
||||
new String[] {
|
||||
"",
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0623\u062d\u062f",
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
|
||||
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
|
||||
"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
|
||||
"\u0627\u0644\u062e\u0645\u064a\u0633",
|
||||
"\u0627\u0644\u062c\u0645\u0639\u0629",
|
||||
"\u0627\u0644\u0633\u0628\u062a",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayAbbreviations",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0623\u062d\u062f",
|
||||
"\u0627\u0644\u0627\u062b\u0646\u064a\u0646",
|
||||
"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621",
|
||||
"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
|
||||
"\u0627\u0644\u062e\u0645\u064a\u0633",
|
||||
"\u0627\u0644\u062c\u0645\u0639\u0629",
|
||||
"\u0627\u0644\u0633\u0628\u062a",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u062d",
|
||||
"\u0646",
|
||||
"\u062b",
|
||||
"\u0631",
|
||||
"\u062e",
|
||||
"\u062c",
|
||||
"\u0633",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0646\u064a",
|
||||
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0644\u062b",
|
||||
"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0631\u0627\u0628\u0639",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"\u0661",
|
||||
"\u0662",
|
||||
"\u0663",
|
||||
"\u0664",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u0635",
|
||||
"\u0645",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f",
|
||||
"\u0645\u064a\u0644\u0627\u062f\u064a",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"\u0642.\u0645",
|
||||
"\u0645",
|
||||
}
|
||||
},
|
||||
{ "field.era", "\u0627\u0644\u0639\u0635\u0631" },
|
||||
{ "field.year", "\u0627\u0644\u0633\u0646\u0629" },
|
||||
{ "field.month", "\u0627\u0644\u0634\u0647\u0631" },
|
||||
{ "field.week", "\u0627\u0644\u0623\u0633\u0628\u0648\u0639" },
|
||||
{ "field.weekday", "\u0627\u0644\u064a\u0648\u0645" },
|
||||
{ "field.dayperiod", "\u0635/\u0645" },
|
||||
{ "field.hour", "\u0627\u0644\u0633\u0627\u0639\u0627\u062a" },
|
||||
{ "field.minute", "\u0627\u0644\u062f\u0642\u0627\u0626\u0642" },
|
||||
{ "field.second", "\u0627\u0644\u062b\u0648\u0627\u0646\u064a" },
|
||||
{ "field.zone", "\u0627\u0644\u062a\u0648\u0642\u064a\u062a" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"zzzz h:mm:ss a",
|
||||
"z h:mm:ss a",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y",
|
||||
"d MMMM\u060c y",
|
||||
"dd\u200f/MM\u200f/yyyy",
|
||||
"d\u200f/M\u200f/yyyy",
|
||||
}
|
||||
},
|
||||
{ "buddhist.Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0628\u0648\u0630\u064a",
|
||||
}
|
||||
},
|
||||
{ "java.time.buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y G",
|
||||
"d MMMM\u060c y G",
|
||||
"dd\u200f/MM\u200f/y G",
|
||||
"d\u200f/M\u200f/y G",
|
||||
}
|
||||
},
|
||||
{ "buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y GGGG",
|
||||
"d MMMM\u060c y GGGG",
|
||||
"dd\u200f/MM\u200f/y GGGG",
|
||||
"d\u200f/M\u200f/y GGGG",
|
||||
}
|
||||
},
|
||||
{ "japanese.Eras",
|
||||
new String[] {
|
||||
"\u0645",
|
||||
"\u0645\u064a\u062c\u064a",
|
||||
"\u062a\u064a\u0634\u0648",
|
||||
"\u0634\u0648\u0648\u0627",
|
||||
"\u0647\u064a\u0633\u064a",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y G",
|
||||
"d MMMM\u060c y G",
|
||||
"dd\u200f/MM\u200f/y G",
|
||||
"d\u200f/M\u200f/y G",
|
||||
}
|
||||
},
|
||||
{ "japanese.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y GGGG",
|
||||
"d MMMM\u060c y GGGG",
|
||||
"dd\u200f/MM\u200f/y GGGG",
|
||||
"d\u200f/M\u200f/y GGGG",
|
||||
}
|
||||
},
|
||||
{ "roc.Eras",
|
||||
new String[] {
|
||||
"Before R.O.C.",
|
||||
"\u062c\u0645\u0647\u0648\u0631\u064a\u0629 \u0627\u0644\u0635\u064a",
|
||||
}
|
||||
},
|
||||
{ "java.time.roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y G",
|
||||
"d MMMM\u060c y G",
|
||||
"dd\u200f/MM\u200f/y G",
|
||||
"d\u200f/M\u200f/y G",
|
||||
}
|
||||
},
|
||||
{ "roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y GGGG",
|
||||
"d MMMM\u060c y GGGG",
|
||||
"dd\u200f/MM\u200f/y GGGG",
|
||||
"d\u200f/M\u200f/y GGGG",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNames",
|
||||
new String[] {
|
||||
"\u0645\u062d\u0631\u0645",
|
||||
"\u0635\u0641\u0631",
|
||||
"\u0631\u0628\u064a\u0639 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u0631\u0628\u064a\u0639 \u0627\u0644\u0622\u062e\u0631",
|
||||
"\u062c\u0645\u0627\u062f\u0649 \u0627\u0644\u0623\u0648\u0644\u0649",
|
||||
"\u062c\u0645\u0627\u062f\u0649 \u0627\u0644\u0622\u062e\u0631\u0629",
|
||||
"\u0631\u062c\u0628",
|
||||
"\u0634\u0639\u0628\u0627\u0646",
|
||||
"\u0631\u0645\u0636\u0627\u0646",
|
||||
"\u0634\u0648\u0627\u0644",
|
||||
"\u0630\u0648 \u0627\u0644\u0642\u0639\u062f\u0629",
|
||||
"\u0630\u0648 \u0627\u0644\u062d\u062c\u0629",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u0645\u062d\u0631\u0645",
|
||||
"\u0635\u0641\u0631",
|
||||
"\u0631\u0628\u064a\u0639 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u0631\u0628\u064a\u0639 \u0627\u0644\u0622\u062e\u0631",
|
||||
"\u062c\u0645\u0627\u062f\u0649 \u0627\u0644\u0623\u0648\u0644\u0649",
|
||||
"\u062c\u0645\u0627\u062f\u0649 \u0627\u0644\u0622\u062e\u0631\u0629",
|
||||
"\u0631\u062c\u0628",
|
||||
"\u0634\u0639\u0628\u0627\u0646",
|
||||
"\u0631\u0645\u0636\u0627\u0646",
|
||||
"\u0634\u0648\u0627\u0644",
|
||||
"\u0630\u0648 \u0627\u0644\u0642\u0639\u062f\u0629",
|
||||
"\u0630\u0648 \u0627\u0644\u062d\u062c\u0629",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNarrows",
|
||||
new String[] {
|
||||
"\u0661",
|
||||
"\u0662",
|
||||
"\u0663",
|
||||
"\u0664",
|
||||
"\u0665",
|
||||
"\u0666",
|
||||
"\u0667",
|
||||
"\u0668",
|
||||
"\u0669",
|
||||
"\u0661\u0660",
|
||||
"\u0661\u0661",
|
||||
"\u0661\u0662",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"\u0647\u0640",
|
||||
}
|
||||
},
|
||||
{ "java.time.islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM\u060c y G",
|
||||
"d\u200f/M\u200f/yyyy",
|
||||
}
|
||||
},
|
||||
{ "islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM\u060c y GGGG",
|
||||
"d\u200f/M\u200f/yyyy",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-umalqura", "\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0625\u0633\u0644\u0627\u0645\u064a [\u0623\u0645 \u0627\u0644\u0642\u0631\u0649]" },
|
||||
{ "calendarname.islamic-civil", "\u062a\u0642\u0648\u064a\u0645 \u0627\u0633\u0644\u0627\u0645\u064a \u0645\u062f\u0646\u064a" },
|
||||
{ "calendarname.islamicc", "\u062a\u0642\u0648\u064a\u0645 \u0627\u0633\u0644\u0627\u0645\u064a \u0645\u062f\u0646\u064a" },
|
||||
{ "calendarname.buddhist", "\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0628\u0648\u0630\u064a" },
|
||||
{ "calendarname.islamic", "\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0647\u062c\u0631\u064a" },
|
||||
{ "calendarname.gregorian", "\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0645\u064a\u0644\u0627\u062f\u064a" },
|
||||
{ "calendarname.gregory", "\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0645\u064a\u0644\u0627\u062f\u064a" },
|
||||
{ "calendarname.roc", "\u062a\u0642\u0648\u064a\u0645 \u0645\u064a\u0646\u062c\u0648" },
|
||||
{ "calendarname.japanese", "\u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u064a\u0627\u0628\u0627\u0646\u064a" },
|
||||
{ "DefaultNumberingSystem", "arab" },
|
||||
{ "arab.NumberElements",
|
||||
new String[] {
|
||||
"\u066b",
|
||||
"\u066c",
|
||||
"\u061b",
|
||||
"\u066a",
|
||||
"\u0660",
|
||||
"#",
|
||||
"-",
|
||||
"\u0627\u0633",
|
||||
"\u0609",
|
||||
"\u221e",
|
||||
"\u0644\u064a\u0633 \u0631\u0642\u0645",
|
||||
}
|
||||
},
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
".",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###;#,##0.###-",
|
||||
"\u00a4\u00a0#,##0.00;\u00a4\u00a0#,##0.00-",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
82
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_DZ.java
Normal file
82
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_DZ.java
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_DZ extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y",
|
||||
"d MMMM\u060c y",
|
||||
"yyyy/MM/dd",
|
||||
"yyyy/M/d",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
90
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_JO.java
Normal file
90
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_JO.java
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_JO extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
|
||||
"\u0634\u0628\u0627\u0637",
|
||||
"\u0622\u0630\u0627\u0631",
|
||||
"\u0646\u064a\u0633\u0627\u0646",
|
||||
"\u0623\u064a\u0627\u0631",
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646",
|
||||
"\u062a\u0645\u0648\u0632",
|
||||
"\u0622\u0628",
|
||||
"\u0623\u064a\u0644\u0648\u0644",
|
||||
"\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
|
||||
"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644",
|
||||
"",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
90
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_LB.java
Normal file
90
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_LB.java
Normal file
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_LB extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
|
||||
"\u0634\u0628\u0627\u0637",
|
||||
"\u0622\u0630\u0627\u0631",
|
||||
"\u0646\u064a\u0633\u0627\u0646",
|
||||
"\u0623\u064a\u0627\u0631",
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646",
|
||||
"\u062a\u0645\u0648\u0632",
|
||||
"\u0622\u0628",
|
||||
"\u0623\u064a\u0644\u0648\u0644",
|
||||
"\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
|
||||
"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644",
|
||||
"",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
82
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_MA.java
Normal file
82
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_MA.java
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_MA extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y",
|
||||
"d MMMM\u060c y",
|
||||
"yyyy/MM/dd",
|
||||
"yyyy/M/d",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
80
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_QA.java
Normal file
80
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_QA.java
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_QA extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#0.###;#0.###-",
|
||||
"\u00a4#0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
80
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_SA.java
Normal file
80
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_SA.java
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_SA extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#0.###;#0.###-",
|
||||
"\u00a4#0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
97
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_SY.java
Normal file
97
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_SY.java
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_SY extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
|
||||
"\u0634\u0628\u0627\u0637",
|
||||
"\u0622\u0630\u0627\u0631",
|
||||
"\u0646\u064a\u0633\u0627\u0646",
|
||||
"\u0623\u064a\u0627\u0631",
|
||||
"\u062d\u0632\u064a\u0631\u0627\u0646",
|
||||
"\u062a\u0645\u0648\u0632",
|
||||
"\u0622\u0628",
|
||||
"\u0623\u064a\u0644\u0648\u0644",
|
||||
"\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644",
|
||||
"\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a",
|
||||
"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#0.###;#0.###-",
|
||||
"\u00a4#0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
89
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_TN.java
Normal file
89
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_TN.java
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_TN extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE\u060c d MMMM\u060c y",
|
||||
"d MMMM\u060c y",
|
||||
"yyyy/MM/dd",
|
||||
"yyyy/M/d",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#0.###;#0.###-",
|
||||
"\u00a4#0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
80
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_YE.java
Normal file
80
jdkSrc/jdk8/sun/text/resources/cldr/ar/FormatData_ar_YE.java
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ar;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ar_YE extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#0.###;#0.###-",
|
||||
"\u00a4#0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
167
jdkSrc/jdk8/sun/text/resources/cldr/as/FormatData_as.java
Normal file
167
jdkSrc/jdk8/sun/text/resources/cldr/as/FormatData_as.java
Normal file
@@ -0,0 +1,167 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.as;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_as extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u099c\u09be\u09a8\u09c1\u09f1\u09be\u09f0\u09c0",
|
||||
"\u09ab\u09c7\u09ac\u09cd\u09f0\u09c1\u09f1\u09be\u09f0\u09c0",
|
||||
"\u09ae\u09be\u09f0\u09cd\u099a",
|
||||
"\u098f\u09aa\u09cd\u09f0\u09bf\u09b2",
|
||||
"\u09ae\u09c7",
|
||||
"\u099c\u09c1\u09a8",
|
||||
"\u099c\u09c1\u09b2\u09be\u0987",
|
||||
"\u0986\u0997\u09b7\u09cd\u099f",
|
||||
"\u099b\u09c7\u09aa\u09cd\u09a4\u09c7\u09ae\u09cd\u09ac\u09f0",
|
||||
"\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09f0",
|
||||
"\u09a8\u09f1\u09c7\u09ae\u09cd\u09ac\u09f0",
|
||||
"\u09a1\u09bf\u099a\u09c7\u09ae\u09cd\u09ac\u09f0",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u099c\u09be\u09a8\u09c1",
|
||||
"\u09ab\u09c7\u09ac\u09cd\u09f0\u09c1",
|
||||
"\u09ae\u09be\u09f0\u09cd\u099a",
|
||||
"\u098f\u09aa\u09cd\u09f0\u09bf\u09b2",
|
||||
"\u09ae\u09c7",
|
||||
"\u099c\u09c1\u09a8",
|
||||
"\u099c\u09c1\u09b2\u09be\u0987",
|
||||
"\u0986\u0997",
|
||||
"\u09b8\u09c7\u09aa\u09cd\u099f",
|
||||
"\u0985\u0995\u09cd\u099f\u09cb",
|
||||
"\u09a8\u09ad\u09c7",
|
||||
"\u09a1\u09bf\u09b8\u09c7",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u09a6\u09c7\u0993\u09ac\u09be\u09f0",
|
||||
"\u09b8\u09cb\u09ae\u09ac\u09be\u09f0",
|
||||
"\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09f0",
|
||||
"\u09ac\u09c1\u09a7\u09ac\u09be\u09f0",
|
||||
"\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09f0",
|
||||
"\u09b6\u09c1\u0995\u09cd\u09f0\u09ac\u09be\u09f0",
|
||||
"\u09b6\u09a8\u09bf\u09ac\u09be\u09f0",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u09f0\u09ac\u09bf",
|
||||
"\u09b8\u09cb\u09ae",
|
||||
"\u09ae\u0999\u09cd\u0997\u09b2",
|
||||
"\u09ac\u09c1\u09a7",
|
||||
"\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf",
|
||||
"\u09b6\u09c1\u0995\u09cd\u09f0",
|
||||
"\u09b6\u09a8\u09bf",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"\u09aa\u09cd\u09f0\u09a5\u09ae \u09aa\u09cd\u09f0\u09b9\u09f0",
|
||||
"\u09a6\u09cd\u09ac\u09bf\u09a4\u09c0\u09af\u09bc \u09aa\u09cd\u09f0\u09b9\u09f0",
|
||||
"\u09a4\u09c3\u09a4\u09c0\u09af\u09bc \u09aa\u09cd\u09f0\u09b9\u09f0",
|
||||
"\u099a\u09a4\u09c1\u09f0\u09cd\u09a5 \u09aa\u09cd\u09f0\u09b9\u09f0",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u09aa\u09c2\u09f0\u09cd\u09ac\u09be\u09b9\u09cd\u09a3",
|
||||
"\u0985\u09aa\u09f0\u09be\u09b9\u09cd\u09a3",
|
||||
}
|
||||
},
|
||||
{ "field.era", "\u09af\u09c1\u0997" },
|
||||
{ "field.year", "\u09ac\u099b\u09f0" },
|
||||
{ "field.month", "\u09ae\u09be\u09b9" },
|
||||
{ "field.week", "\u09b8\u09aa\u09cd\u09a4\u09be\u09b9" },
|
||||
{ "field.hour", "\u0998\u09a3\u09cd\u099f\u09be" },
|
||||
{ "field.minute", "\u09ae\u09bf\u09a8\u09bf\u099f" },
|
||||
{ "field.second", "\u099b\u09c7\u0995\u09c7\u09a3\u09cd\u09a1" },
|
||||
{ "field.zone", "\u0995\u09cd\u09b7\u09c7\u09a4\u09cd\u09f0" },
|
||||
{ "calendarname.islamic-civil", "\u0987\u099a\u09b2\u09be\u09ae\u09c0-\u09a8\u09be\u0997\u09f0\u09bf\u0995\u09f0 \u09aa\u099e\u09cd\u099c\u09bf\u0995\u09be" },
|
||||
{ "calendarname.islamicc", "\u0987\u099a\u09b2\u09be\u09ae\u09c0-\u09a8\u09be\u0997\u09f0\u09bf\u0995\u09f0 \u09aa\u099e\u09cd\u099c\u09bf\u0995\u09be" },
|
||||
{ "calendarname.japanese", "\u099c\u09be\u09aa\u09be\u09a8\u09c0 \u09aa\u099e\u09cd\u099c\u09bf\u0995\u09be" },
|
||||
{ "calendarname.roc", "\u099a\u09c0\u09a8\u09be \u0997\u09a3\u09f0\u09be\u099c\u09cd\u09af\u09f0 \u09aa\u099e\u09cd\u099c\u09bf\u0995\u09be" },
|
||||
{ "calendarname.islamic", "\u0987\u099a\u09b2\u09be\u09ae\u09c0 \u09aa\u099e\u09cd\u099c\u09bf\u0995\u09be" },
|
||||
{ "calendarname.gregorian", "\u0997\u09cd\u09f0\u09bf\u0997\u09cb\u09f0\u09c0\u09af\u09bc \u09aa\u099e\u09cd\u099c\u09bf\u0995\u09be" },
|
||||
{ "calendarname.gregory", "\u0997\u09cd\u09f0\u09bf\u0997\u09cb\u09f0\u09c0\u09af\u09bc \u09aa\u099e\u09cd\u099c\u09bf\u0995\u09be" },
|
||||
{ "calendarname.buddhist", "\u09ac\u09cc\u09a6\u09cd\u09a7 \u09aa\u099e\u09cd\u099c\u09bf\u0995\u09be" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##,##0.###",
|
||||
"\u00a4\u00a0#,##,##0.00",
|
||||
"#,##,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
224
jdkSrc/jdk8/sun/text/resources/cldr/asa/FormatData_asa.java
Normal file
224
jdkSrc/jdk8/sun/text/resources/cldr/asa/FormatData_asa.java
Normal file
@@ -0,0 +1,224 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.asa;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_asa extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"Januari",
|
||||
"Februari",
|
||||
"Machi",
|
||||
"Aprili",
|
||||
"Mei",
|
||||
"Juni",
|
||||
"Julai",
|
||||
"Agosti",
|
||||
"Septemba",
|
||||
"Oktoba",
|
||||
"Novemba",
|
||||
"Desemba",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mac",
|
||||
"Apr",
|
||||
"Mei",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Ago",
|
||||
"Sep",
|
||||
"Okt",
|
||||
"Nov",
|
||||
"Dec",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"J",
|
||||
"F",
|
||||
"M",
|
||||
"A",
|
||||
"M",
|
||||
"J",
|
||||
"J",
|
||||
"A",
|
||||
"S",
|
||||
"O",
|
||||
"N",
|
||||
"D",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"Jumapili",
|
||||
"Jumatatu",
|
||||
"Jumanne",
|
||||
"Jumatano",
|
||||
"Alhamisi",
|
||||
"Ijumaa",
|
||||
"Jumamosi",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"Jpi",
|
||||
"Jtt",
|
||||
"Jnn",
|
||||
"Jtn",
|
||||
"Alh",
|
||||
"Ijm",
|
||||
"Jmo",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"J",
|
||||
"J",
|
||||
"J",
|
||||
"J",
|
||||
"A",
|
||||
"I",
|
||||
"J",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"Robo 1",
|
||||
"Robo 2",
|
||||
"Robo 3",
|
||||
"Robo 4",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"R1",
|
||||
"R2",
|
||||
"R3",
|
||||
"R4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"icheheavo",
|
||||
"ichamthi",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"Kabla yakwe Yethu",
|
||||
"Baada yakwe Yethu",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"KM",
|
||||
"BM",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Edhi" },
|
||||
{ "field.year", "Mwaka" },
|
||||
{ "field.month", "Mweji" },
|
||||
{ "field.week", "Ndisha" },
|
||||
{ "field.weekday", "Thiku ya ndisha" },
|
||||
{ "field.dayperiod", "Marango athiku" },
|
||||
{ "field.hour", "Thaa" },
|
||||
{ "field.minute", "Dakika" },
|
||||
{ "field.second", "Thekunde" },
|
||||
{ "field.zone", "Majira Athaa" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM y",
|
||||
"dd/MM/yyyy",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"#,##0.00\u00a0\u00a4",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
224
jdkSrc/jdk8/sun/text/resources/cldr/az/FormatData_az.java
Normal file
224
jdkSrc/jdk8/sun/text/resources/cldr/az/FormatData_az.java
Normal file
@@ -0,0 +1,224 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.az;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_az extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"Yanvar",
|
||||
"Fevral",
|
||||
"Mart",
|
||||
"Aprel",
|
||||
"May",
|
||||
"\u0130yun",
|
||||
"\u0130yul",
|
||||
"Avqust",
|
||||
"Sentyabr",
|
||||
"Oktyabr",
|
||||
"Noyabr",
|
||||
"Dekabr",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"yan",
|
||||
"fev",
|
||||
"mar",
|
||||
"apr",
|
||||
"may",
|
||||
"iyn",
|
||||
"iyl",
|
||||
"avq",
|
||||
"sen",
|
||||
"okt",
|
||||
"noy",
|
||||
"dek",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"bazar",
|
||||
"bazar ert\u0259si",
|
||||
"\u00e7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131",
|
||||
"\u00e7\u0259r\u015f\u0259nb\u0259",
|
||||
"c\u00fcm\u0259 ax\u015fam\u0131",
|
||||
"c\u00fcm\u0259",
|
||||
"\u015f\u0259nb\u0259",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"B.",
|
||||
"B.E.",
|
||||
"\u00c7.A.",
|
||||
"\u00c7.",
|
||||
"C.A.",
|
||||
"C",
|
||||
"\u015e.",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"7",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1-ci kvartal",
|
||||
"2-ci kvartal",
|
||||
"3-c\u00fc kvartal",
|
||||
"4-c\u00fc kvartal",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"1-ci kv.",
|
||||
"2-ci kv.",
|
||||
"3-c\u00fc kv.",
|
||||
"4-c\u00fc kv.",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"eram\u0131zdan \u0259vv\u0259l",
|
||||
"bizim eram\u0131z\u0131n",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"e.\u0259.",
|
||||
"b.e.",
|
||||
}
|
||||
},
|
||||
{ "field.era", "era" },
|
||||
{ "field.year", "il" },
|
||||
{ "field.month", "ay" },
|
||||
{ "field.week", "h\u0259ft\u0259" },
|
||||
{ "field.weekday", "h\u0259ft\u0259 g\u00fcn\u00fc" },
|
||||
{ "field.hour", "saat" },
|
||||
{ "field.minute", "d\u0259qiq\u0259" },
|
||||
{ "field.second", "saniy\u0259" },
|
||||
{ "field.zone", "zona" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d, MMMM, y",
|
||||
"d MMMM , y",
|
||||
"d MMM, y",
|
||||
"yyyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "calendarname.gregorian", "Qreqoriy t\u0259qvimi" },
|
||||
{ "calendarname.gregory", "Qreqoriy t\u0259qvimi" },
|
||||
{ "calendarname.roc", "\u00c7in respublikas\u0131 t\u0259qvimi" },
|
||||
{ "calendarname.islamic-civil", "Ivrit t\u0259qvimi" },
|
||||
{ "calendarname.islamicc", "Ivrit t\u0259qvimi" },
|
||||
{ "calendarname.japanese", "Yapon t\u0259qvimi" },
|
||||
{ "calendarname.buddhist", "Budist t\u0259qvimi" },
|
||||
{ "calendarname.islamic", "M\u00fcs\u0259lman t\u0259qvimi" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
".",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4\u00a0#,##0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
140
jdkSrc/jdk8/sun/text/resources/cldr/az/FormatData_az_Cyrl.java
Normal file
140
jdkSrc/jdk8/sun/text/resources/cldr/az/FormatData_az_Cyrl.java
Normal file
@@ -0,0 +1,140 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.az;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_az_Cyrl extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0458\u0430\u043d\u0432\u0430\u0440",
|
||||
"\u0444\u0435\u0432\u0440\u0430\u043b",
|
||||
"\u043c\u0430\u0440\u0442",
|
||||
"\u0430\u043f\u0440\u0435\u043b",
|
||||
"\u043c\u0430\u0439",
|
||||
"\u0438\u0458\u0443\u043d",
|
||||
"\u0438\u0458\u0443\u043b",
|
||||
"\u0430\u0432\u0433\u0443\u0441\u0442",
|
||||
"\u0441\u0435\u043d\u0442\u0458\u0430\u0431\u0440",
|
||||
"\u043e\u043a\u0442\u0458\u0430\u0431\u0440",
|
||||
"\u043d\u043e\u0458\u0430\u0431\u0440",
|
||||
"\u0434\u0435\u043a\u0430\u0431\u0440",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u0431\u0430\u0437\u0430\u0440",
|
||||
"\u0431\u0430\u0437\u0430\u0440 \u0435\u0440\u0442\u04d9\u0441\u0438",
|
||||
"\u0447\u04d9\u0440\u0448\u04d9\u043d\u0431\u04d9 \u0430\u0445\u0448\u0430\u043c\u044b",
|
||||
"\u0447\u04d9\u0440\u0448\u04d9\u043d\u0431\u04d9",
|
||||
"\u04b9\u04af\u043c\u04d9 \u0430\u0445\u0448\u0430\u043c\u044b",
|
||||
"\u04b9\u04af\u043c\u04d9",
|
||||
"\u0448\u04d9\u043d\u0431\u04d9",
|
||||
}
|
||||
},
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d, MMMM, y",
|
||||
"d MMMM , y",
|
||||
"d MMM, y",
|
||||
"yyyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
".",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4\u00a0#,##0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
240
jdkSrc/jdk8/sun/text/resources/cldr/bas/FormatData_bas.java
Normal file
240
jdkSrc/jdk8/sun/text/resources/cldr/bas/FormatData_bas.java
Normal file
@@ -0,0 +1,240 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bas;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bas extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"K\u0254nd\u0254\u014b",
|
||||
"M\u00e0c\u025b\u0302l",
|
||||
"M\u00e0t\u00f9mb",
|
||||
"M\u00e0top",
|
||||
"M\u0300puy\u025b",
|
||||
"H\u00ecl\u00f2nd\u025b\u0300",
|
||||
"Nj\u00e8b\u00e0",
|
||||
"H\u00ecka\u014b",
|
||||
"D\u00ecp\u0254\u0300s",
|
||||
"B\u00ec\u00f2\u00f4m",
|
||||
"M\u00e0y\u025bs\u00e8p",
|
||||
"L\u00ecbuy li \u0144y\u00e8e",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"k\u0254n",
|
||||
"mac",
|
||||
"mat",
|
||||
"mto",
|
||||
"mpu",
|
||||
"hil",
|
||||
"nje",
|
||||
"hik",
|
||||
"dip",
|
||||
"bio",
|
||||
"may",
|
||||
"li\u0253",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"k",
|
||||
"m",
|
||||
"m",
|
||||
"m",
|
||||
"m",
|
||||
"h",
|
||||
"n",
|
||||
"h",
|
||||
"d",
|
||||
"b",
|
||||
"m",
|
||||
"l",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u014bgw\u00e0 n\u0254\u0302y",
|
||||
"\u014bgw\u00e0 nja\u014bgumba",
|
||||
"\u014bgw\u00e0 \u00fbm",
|
||||
"\u014bgw\u00e0 \u014bg\u00ea",
|
||||
"\u014bgw\u00e0 mb\u0254k",
|
||||
"\u014bgw\u00e0 k\u0254\u0254",
|
||||
"\u014bgw\u00e0 j\u00f4n",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"n\u0254y",
|
||||
"nja",
|
||||
"uum",
|
||||
"\u014bge",
|
||||
"mb\u0254",
|
||||
"k\u0254\u0254",
|
||||
"jon",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"n",
|
||||
"n",
|
||||
"u",
|
||||
"\u014b",
|
||||
"m",
|
||||
"k",
|
||||
"j",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"K\u00e8k bisu i so\u014b ia\u00e2",
|
||||
"K\u00e8k i \u0144yonos bi\u0253a\u00e0 i so\u014b ia\u00e2",
|
||||
"K\u00e8k i \u0144yonos bia\u00e2 i so\u014b ia\u00e2",
|
||||
"K\u00e8k i \u0144yonos bin\u00e2 i so\u014b ia\u00e2",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"K1s3",
|
||||
"K2s3",
|
||||
"K3s3",
|
||||
"K4s3",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"I bik\u025b\u0302gl\u00e0",
|
||||
"I \u0253ugaj\u0254p",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"bis\u016b bi Yes\u00f9 Kr\u01d0st\u00f2",
|
||||
"i mb\u016bs Yes\u00f9 Kr\u01d0st\u00f2",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"b.Y.K",
|
||||
"m.Y.K",
|
||||
}
|
||||
},
|
||||
{ "field.era", "k\u00e8k" },
|
||||
{ "field.year", "\u014bw\u00eci" },
|
||||
{ "field.month", "so\u014b" },
|
||||
{ "field.week", "s\u0254nd\u025b\u0302" },
|
||||
{ "field.weekday", "h\u00ecl\u0254 hi s\u0254nd\u025b\u0302" },
|
||||
{ "field.dayperiod", "nj\u01cem\u00f9ha" },
|
||||
{ "field.hour", "\u014bg\u025b\u014b" },
|
||||
{ "field.minute", "\u014bget" },
|
||||
{ "field.second", "h\u00ec\u014bge\u014bget" },
|
||||
{ "field.zone", "komboo i \u014bg\u025b\u014b" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM, y",
|
||||
"d/M/yyyy",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
"\u00a0",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"#,##0.00\u00a0\u00a4",
|
||||
"#,##0\u00a0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
308
jdkSrc/jdk8/sun/text/resources/cldr/be/FormatData_be.java
Normal file
308
jdkSrc/jdk8/sun/text/resources/cldr/be/FormatData_be.java
Normal file
@@ -0,0 +1,308 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.be;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_be extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c",
|
||||
"\u043b\u044e\u0442\u044b",
|
||||
"\u0441\u0430\u043a\u0430\u0432\u0456\u043a",
|
||||
"\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a",
|
||||
"\u043c\u0430\u0439",
|
||||
"\u0447\u044d\u0440\u0432\u0435\u043d\u044c",
|
||||
"\u043b\u0456\u043f\u0435\u043d\u044c",
|
||||
"\u0436\u043d\u0456\u0432\u0435\u043d\u044c",
|
||||
"\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c",
|
||||
"\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a",
|
||||
"\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434",
|
||||
"\u0441\u043d\u0435\u0436\u0430\u043d\u044c",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNames",
|
||||
new String[] {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\u0442\u0440\u0430\u0432\u0435\u043d\u044c",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u0441\u0442\u0443",
|
||||
"\u043b\u044e\u0442",
|
||||
"\u0441\u0430\u043a",
|
||||
"\u043a\u0440\u0430",
|
||||
"\u043c\u0430\u0439",
|
||||
"\u0447\u044d\u0440",
|
||||
"\u043b\u0456\u043f",
|
||||
"\u0436\u043d\u0456",
|
||||
"\u0432\u0435\u0440",
|
||||
"\u043a\u0430\u0441",
|
||||
"\u043b\u0456\u0441",
|
||||
"\u0441\u043d\u0435",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthAbbreviations",
|
||||
new String[] {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\u0442\u0440\u0430",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\u0442",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNarrows",
|
||||
new String[] {
|
||||
"\u0441",
|
||||
"\u043b",
|
||||
"\u0441",
|
||||
"\u043a",
|
||||
"\u043c",
|
||||
"\u0447",
|
||||
"\u043b",
|
||||
"\u0436",
|
||||
"\u0432",
|
||||
"\u043a",
|
||||
"\u043b",
|
||||
"\u0441",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u043d\u044f\u0434\u0437\u0435\u043b\u044f",
|
||||
"\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a",
|
||||
"\u0430\u045e\u0442\u043e\u0440\u0430\u043a",
|
||||
"\u0441\u0435\u0440\u0430\u0434\u0430",
|
||||
"\u0447\u0430\u0446\u0432\u0435\u0440",
|
||||
"\u043f\u044f\u0442\u043d\u0456\u0446\u0430",
|
||||
"\u0441\u0443\u0431\u043e\u0442\u0430",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u043d\u0434",
|
||||
"\u043f\u043d",
|
||||
"\u0430\u045e",
|
||||
"\u0441\u0440",
|
||||
"\u0447\u0446",
|
||||
"\u043f\u0442",
|
||||
"\u0441\u0431",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u043d",
|
||||
"\u043f",
|
||||
"\u0430",
|
||||
"\u0441",
|
||||
"\u0447",
|
||||
"\u043f",
|
||||
"\u0441",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1-\u0448\u044b \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
|
||||
"2-\u0433\u0456 \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
|
||||
"3-\u0446\u0456 \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
|
||||
"4-\u0442\u044b \u043a\u0432\u0430\u0440\u0442\u0430\u043b",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"1-\u0448\u044b \u043a\u0432.",
|
||||
"2-\u0433\u0456 \u043a\u0432.",
|
||||
"3-\u0446\u0456 \u043a\u0432.",
|
||||
"4-\u0442\u044b \u043a\u0432.",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u0434\u0430 \u043f\u0430\u043b\u0443\u0434\u043d\u044f",
|
||||
"\u043f\u0430\u0441\u043b\u044f \u043f\u0430\u043b\u0443\u0434\u043d\u044f",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"\u0434\u0430 \u043d.\u044d.",
|
||||
"\u043d.\u044d.",
|
||||
}
|
||||
},
|
||||
{ "field.era", "\u044d\u0440\u0430" },
|
||||
{ "field.year", "\u0433\u043e\u0434" },
|
||||
{ "field.month", "\u043c\u0435\u0441\u044f\u0446" },
|
||||
{ "field.week", "\u0442\u044b\u0434\u0437\u0435\u043d\u044c" },
|
||||
{ "field.weekday", "\u0434\u0437\u0435\u043d\u044c \u0442\u044b\u0434\u043d\u044f" },
|
||||
{ "field.dayperiod", "\u0414\u041f/\u041f\u041f" },
|
||||
{ "field.hour", "\u0433\u0430\u0434\u0437\u0456\u043d\u0430" },
|
||||
{ "field.minute", "\u0445\u0432\u0456\u043b\u0456\u043d\u0430" },
|
||||
{ "field.second", "\u0441\u0435\u043a\u0443\u043d\u0434\u0430" },
|
||||
{ "field.zone", "Zone" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH.mm.ss zzzz",
|
||||
"HH.mm.ss z",
|
||||
"HH.mm.ss",
|
||||
"HH.mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y",
|
||||
"d MMMM y",
|
||||
"d.M.yyyy",
|
||||
"d.M.yy",
|
||||
}
|
||||
},
|
||||
{ "java.time.buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y G",
|
||||
"d MMMM y G",
|
||||
"d MMM y G",
|
||||
"d.M.yy",
|
||||
}
|
||||
},
|
||||
{ "buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y GGGG",
|
||||
"d MMMM y GGGG",
|
||||
"d MMM y GGGG",
|
||||
"d.M.yy",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-civil", "\u043c\u0443\u0441\u0443\u043b\u044c\u043c\u0430\u043d\u0441\u043a\u0456 \u0441\u0432\u0435\u0446\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamicc", "\u043c\u0443\u0441\u0443\u043b\u044c\u043c\u0430\u043d\u0441\u043a\u0456 \u0441\u0432\u0435\u0446\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.gregorian", "\u0433\u0440\u044d\u0433\u0430\u0440\u044b\u044f\u043d\u0441\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.gregory", "\u0433\u0440\u044d\u0433\u0430\u0440\u044b\u044f\u043d\u0441\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.japanese", "\u044f\u043f\u043e\u043d\u0441\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.buddhist", "\u0431\u0443\u0434\u044b\u0441\u0446\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamic", "\u043c\u0443\u0441\u0443\u043b\u044c\u043c\u0430\u043d\u0441\u043a\u0456 \u043a\u0430\u043b\u044f\u043d\u0434\u0430\u0440" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
"\u00a0",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4#,##0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
185
jdkSrc/jdk8/sun/text/resources/cldr/bem/FormatData_bem.java
Normal file
185
jdkSrc/jdk8/sun/text/resources/cldr/bem/FormatData_bem.java
Normal file
@@ -0,0 +1,185 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bem;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bem extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"Januari",
|
||||
"Februari",
|
||||
"Machi",
|
||||
"Epreo",
|
||||
"Mei",
|
||||
"Juni",
|
||||
"Julai",
|
||||
"Ogasti",
|
||||
"Septemba",
|
||||
"Oktoba",
|
||||
"Novemba",
|
||||
"Disemba",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Jan",
|
||||
"Feb",
|
||||
"Mac",
|
||||
"Epr",
|
||||
"Mei",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Oga",
|
||||
"Sep",
|
||||
"Okt",
|
||||
"Nov",
|
||||
"Dis",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"J",
|
||||
"F",
|
||||
"M",
|
||||
"E",
|
||||
"M",
|
||||
"J",
|
||||
"J",
|
||||
"O",
|
||||
"S",
|
||||
"O",
|
||||
"N",
|
||||
"D",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"Pa Mulungu",
|
||||
"Palichimo",
|
||||
"Palichibuli",
|
||||
"Palichitatu",
|
||||
"Palichine",
|
||||
"Palichisano",
|
||||
"Pachibelushi",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"uluchelo",
|
||||
"akasuba",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"Before Yesu",
|
||||
"After Yesu",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"AD",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Inkulo" },
|
||||
{ "field.year", "Umwaka" },
|
||||
{ "field.month", "Umweshi" },
|
||||
{ "field.week", "Umulungu" },
|
||||
{ "field.weekday", "Ubushiku" },
|
||||
{ "field.dayperiod", "Akasuba" },
|
||||
{ "field.hour", "Insa" },
|
||||
{ "field.minute", "Mineti" },
|
||||
{ "field.second", "Sekondi" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM y",
|
||||
"dd/MM/yyyy",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4#,##0.00;(\u00a4#,##0.00)",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
224
jdkSrc/jdk8/sun/text/resources/cldr/bez/FormatData_bez.java
Normal file
224
jdkSrc/jdk8/sun/text/resources/cldr/bez/FormatData_bez.java
Normal file
@@ -0,0 +1,224 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bez;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bez extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"pa mwedzi gwa hutala",
|
||||
"pa mwedzi gwa wuvili",
|
||||
"pa mwedzi gwa wudatu",
|
||||
"pa mwedzi gwa wutai",
|
||||
"pa mwedzi gwa wuhanu",
|
||||
"pa mwedzi gwa sita",
|
||||
"pa mwedzi gwa saba",
|
||||
"pa mwedzi gwa nane",
|
||||
"pa mwedzi gwa tisa",
|
||||
"pa mwedzi gwa kumi",
|
||||
"pa mwedzi gwa kumi na moja",
|
||||
"pa mwedzi gwa kumi na mbili",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Hut",
|
||||
"Vil",
|
||||
"Dat",
|
||||
"Tai",
|
||||
"Han",
|
||||
"Sit",
|
||||
"Sab",
|
||||
"Nan",
|
||||
"Tis",
|
||||
"Kum",
|
||||
"Kmj",
|
||||
"Kmb",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"H",
|
||||
"V",
|
||||
"D",
|
||||
"T",
|
||||
"H",
|
||||
"S",
|
||||
"S",
|
||||
"N",
|
||||
"T",
|
||||
"K",
|
||||
"K",
|
||||
"K",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"pa mulungu",
|
||||
"pa shahuviluha",
|
||||
"pa hivili",
|
||||
"pa hidatu",
|
||||
"pa hitayi",
|
||||
"pa hihanu",
|
||||
"pa shahulembela",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"Mul",
|
||||
"Vil",
|
||||
"Hiv",
|
||||
"Hid",
|
||||
"Hit",
|
||||
"Hih",
|
||||
"Lem",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"M",
|
||||
"J",
|
||||
"H",
|
||||
"H",
|
||||
"H",
|
||||
"W",
|
||||
"J",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"Lobo 1",
|
||||
"Lobo 2",
|
||||
"Lobo 3",
|
||||
"Lobo 4",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"L1",
|
||||
"L2",
|
||||
"L3",
|
||||
"L4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"pamilau",
|
||||
"pamunyi",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"Kabla ya Mtwaa",
|
||||
"Baada ya Mtwaa",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"KM",
|
||||
"BM",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Amajira" },
|
||||
{ "field.year", "Mwaha" },
|
||||
{ "field.month", "Mwedzi" },
|
||||
{ "field.week", "Mlungu gumamfu" },
|
||||
{ "field.weekday", "Sihudza kasi" },
|
||||
{ "field.dayperiod", "Lwamelau" },
|
||||
{ "field.hour", "Saa" },
|
||||
{ "field.minute", "Dakika" },
|
||||
{ "field.second", "Sekunde" },
|
||||
{ "field.zone", "Amajira ga saa" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM y",
|
||||
"dd/MM/yyyy",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"#,##0.00\u00a4",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
292
jdkSrc/jdk8/sun/text/resources/cldr/bg/FormatData_bg.java
Normal file
292
jdkSrc/jdk8/sun/text/resources/cldr/bg/FormatData_bg.java
Normal file
@@ -0,0 +1,292 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bg;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bg extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u044f\u043d\u0443\u0430\u0440\u0438",
|
||||
"\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438",
|
||||
"\u043c\u0430\u0440\u0442",
|
||||
"\u0430\u043f\u0440\u0438\u043b",
|
||||
"\u043c\u0430\u0439",
|
||||
"\u044e\u043d\u0438",
|
||||
"\u044e\u043b\u0438",
|
||||
"\u0430\u0432\u0433\u0443\u0441\u0442",
|
||||
"\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438",
|
||||
"\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438",
|
||||
"\u043d\u043e\u0435\u043c\u0432\u0440\u0438",
|
||||
"\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u044f\u043d.",
|
||||
"\u0444\u0435\u0432\u0440.",
|
||||
"\u043c\u0430\u0440\u0442",
|
||||
"\u0430\u043f\u0440.",
|
||||
"\u043c\u0430\u0439",
|
||||
"\u044e\u043d\u0438",
|
||||
"\u044e\u043b\u0438",
|
||||
"\u0430\u0432\u0433.",
|
||||
"\u0441\u0435\u043f\u0442.",
|
||||
"\u043e\u043a\u0442.",
|
||||
"\u043d\u043e\u0435\u043c.",
|
||||
"\u0434\u0435\u043a.",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"\u044f",
|
||||
"\u0444",
|
||||
"\u043c",
|
||||
"\u0430",
|
||||
"\u043c",
|
||||
"\u044e",
|
||||
"\u044e",
|
||||
"\u0430",
|
||||
"\u0441",
|
||||
"\u043e",
|
||||
"\u043d",
|
||||
"\u0434",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u043d\u0435\u0434\u0435\u043b\u044f",
|
||||
"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a",
|
||||
"\u0432\u0442\u043e\u0440\u043d\u0438\u043a",
|
||||
"\u0441\u0440\u044f\u0434\u0430",
|
||||
"\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a",
|
||||
"\u043f\u0435\u0442\u044a\u043a",
|
||||
"\u0441\u044a\u0431\u043e\u0442\u0430",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u043d\u0434",
|
||||
"\u043f\u043d",
|
||||
"\u0432\u0442",
|
||||
"\u0441\u0440",
|
||||
"\u0447\u0442",
|
||||
"\u043f\u0442",
|
||||
"\u0441\u0431",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u043d",
|
||||
"\u043f",
|
||||
"\u0432",
|
||||
"\u0441",
|
||||
"\u0447",
|
||||
"\u043f",
|
||||
"\u0441",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1-\u0432\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
|
||||
"2-\u0440\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
|
||||
"3-\u0442\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
|
||||
"4-\u0442\u043e \u0442\u0440\u0438\u043c\u0435\u0441\u0435\u0447\u0438\u0435",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"I \u0442\u0440\u0438\u043c.",
|
||||
"II \u0442\u0440\u0438\u043c.",
|
||||
"III \u0442\u0440\u0438\u043c.",
|
||||
"IV \u0442\u0440\u0438\u043c.",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterAbbreviations",
|
||||
new String[] {
|
||||
"1 \u0442\u0440\u0438\u043c.",
|
||||
"2 \u0442\u0440\u0438\u043c.",
|
||||
"3 \u0442\u0440\u0438\u043c.",
|
||||
"4 \u0442\u0440\u0438\u043c.",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u043f\u0440. \u043e\u0431.",
|
||||
"\u0441\u043b. \u043e\u0431.",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"\u043f\u0440.\u0425\u0440.",
|
||||
"\u0441\u043b.\u0425\u0440.",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"\u043f\u0440. \u043d. \u0435.",
|
||||
"\u043e\u0442 \u043d. \u0435.",
|
||||
}
|
||||
},
|
||||
{ "narrow.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"\u0441\u043b.\u043d.\u0435.",
|
||||
}
|
||||
},
|
||||
{ "field.era", "\u0435\u0440\u0430" },
|
||||
{ "field.year", "\u0433\u043e\u0434\u0438\u043d\u0430" },
|
||||
{ "field.month", "\u043c\u0435\u0441\u0435\u0446" },
|
||||
{ "field.week", "\u0441\u0435\u0434\u043c\u0438\u0446\u0430" },
|
||||
{ "field.weekday", "\u0414\u0435\u043d \u043e\u0442 \u0441\u0435\u0434\u043c\u0438\u0446\u0430\u0442\u0430" },
|
||||
{ "field.dayperiod", "\u0434\u0435\u043d" },
|
||||
{ "field.hour", "\u0447\u0430\u0441" },
|
||||
{ "field.minute", "\u043c\u0438\u043d\u0443\u0442\u0430" },
|
||||
{ "field.second", "\u0441\u0435\u043a\u0443\u043d\u0434\u0430" },
|
||||
{ "field.zone", "\u0437\u043e\u043d\u0430" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"dd MMMM y, EEEE",
|
||||
"dd MMMM y",
|
||||
"dd.MM.yyyy",
|
||||
"dd.MM.yy",
|
||||
}
|
||||
},
|
||||
{ "DateTimePatterns",
|
||||
new String[] {
|
||||
"{1}, {0}",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNames",
|
||||
new String[] {
|
||||
"\u043c\u0443\u0445\u0430\u0440\u0430\u043c",
|
||||
"\u0441\u0430\u0444\u0430\u0440",
|
||||
"\u0440\u0430\u0431\u0438-1",
|
||||
"\u0440\u0430\u0431\u0438-2",
|
||||
"\u0434\u0436\u0443\u043c\u0430\u0434\u0430-1",
|
||||
"\u0434\u0436\u0443\u043c\u0430\u0434\u0430-2",
|
||||
"\u0440\u0430\u0434\u0436\u0430\u0431",
|
||||
"\u0448\u0430\u0431\u0430\u043d",
|
||||
"\u0440\u0430\u043c\u0430\u0437\u0430\u043d",
|
||||
"\u0428\u0430\u0432\u0430\u043b",
|
||||
"\u0414\u0445\u0443\u043b-\u041a\u0430\u0430\u0434\u0430",
|
||||
"\u0414\u0445\u0443\u043b-\u0445\u0438\u0434\u0436\u0430",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-civil", "\u0418\u0441\u043b\u044f\u043c\u0441\u043a\u0438 \u0446\u0438\u0432\u0438\u043b\u0435\u043d \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamicc", "\u0418\u0441\u043b\u044f\u043c\u0441\u043a\u0438 \u0446\u0438\u0432\u0438\u043b\u0435\u043d \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.buddhist", "\u0411\u0443\u0434\u0438\u0441\u0442\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.islamic", "\u0418\u0441\u043b\u044f\u043c\u0441\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.gregorian", "\u0413\u0440\u0438\u0433\u043e\u0440\u0438\u0430\u043d\u0441\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.gregory", "\u0413\u0440\u0438\u0433\u043e\u0440\u0438\u0430\u043d\u0441\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "calendarname.roc", "\u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440 \u043d\u0430 \u0420\u0435\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0438\u0442\u0430\u0439" },
|
||||
{ "calendarname.japanese", "\u042f\u043f\u043e\u043d\u0441\u043a\u0438 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
"\u00a0",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"#,##0.00\u00a0\u00a4",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
218
jdkSrc/jdk8/sun/text/resources/cldr/bm/FormatData_bm.java
Normal file
218
jdkSrc/jdk8/sun/text/resources/cldr/bm/FormatData_bm.java
Normal file
@@ -0,0 +1,218 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bm;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bm extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"zanwuye",
|
||||
"feburuye",
|
||||
"marisi",
|
||||
"awirili",
|
||||
"m\u025b",
|
||||
"zuw\u025bn",
|
||||
"zuluye",
|
||||
"uti",
|
||||
"s\u025btanburu",
|
||||
"\u0254kut\u0254buru",
|
||||
"nowanburu",
|
||||
"desanburu",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"zan",
|
||||
"feb",
|
||||
"nar",
|
||||
"awi",
|
||||
"m\u025b",
|
||||
"zuw",
|
||||
"zul",
|
||||
"uti",
|
||||
"s\u025bt",
|
||||
"\u0254ku",
|
||||
"now",
|
||||
"des",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"Z",
|
||||
"F",
|
||||
"M",
|
||||
"A",
|
||||
"M",
|
||||
"Z",
|
||||
"Z",
|
||||
"U",
|
||||
"S",
|
||||
"\u0186",
|
||||
"N",
|
||||
"D",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"kari",
|
||||
"nt\u025bn\u025b",
|
||||
"tarata",
|
||||
"araba",
|
||||
"alamisa",
|
||||
"juma",
|
||||
"sibiri",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"kar",
|
||||
"nt\u025b",
|
||||
"tar",
|
||||
"ara",
|
||||
"ala",
|
||||
"jum",
|
||||
"sib",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"K",
|
||||
"N",
|
||||
"T",
|
||||
"A",
|
||||
"A",
|
||||
"J",
|
||||
"S",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"kalo saba f\u0254l\u0254",
|
||||
"kalo saba filanan",
|
||||
"kalo saba sabanan",
|
||||
"kalo saba naaninan",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"KS1",
|
||||
"KS2",
|
||||
"KS3",
|
||||
"KS4",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"jezu krisiti \u0272\u025b",
|
||||
"jezu krisiti mink\u025b",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"J.-C. \u0272\u025b",
|
||||
"ni J.-C.",
|
||||
}
|
||||
},
|
||||
{ "field.era", "tile" },
|
||||
{ "field.year", "san" },
|
||||
{ "field.month", "kalo" },
|
||||
{ "field.week", "d\u0254g\u0254kun" },
|
||||
{ "field.weekday", "don" },
|
||||
{ "field.dayperiod", "s\u0254g\u0254ma/tile/wula/su" },
|
||||
{ "field.hour", "l\u025br\u025b" },
|
||||
{ "field.minute", "miniti" },
|
||||
{ "field.second", "sekondi" },
|
||||
{ "field.zone", "sigikun tilena" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM, y",
|
||||
"d/M/yyyy",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4#,##0.00;(\u00a4#,##0.00)",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
304
jdkSrc/jdk8/sun/text/resources/cldr/bn/FormatData_bn.java
Normal file
304
jdkSrc/jdk8/sun/text/resources/cldr/bn/FormatData_bn.java
Normal file
@@ -0,0 +1,304 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bn;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bn extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u099c\u09be\u09a8\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
|
||||
"\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09af\u09bc\u09be\u09b0\u09c0",
|
||||
"\u09ae\u09be\u09b0\u09cd\u099a",
|
||||
"\u098f\u09aa\u09cd\u09b0\u09bf\u09b2",
|
||||
"\u09ae\u09c7",
|
||||
"\u099c\u09c1\u09a8",
|
||||
"\u099c\u09c1\u09b2\u09be\u0987",
|
||||
"\u0986\u0997\u09b8\u09cd\u099f",
|
||||
"\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0",
|
||||
"\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0",
|
||||
"\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0",
|
||||
"\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"\u099c\u09be",
|
||||
"\u09ab\u09c7",
|
||||
"\u09ae\u09be",
|
||||
"\u098f",
|
||||
"\u09ae\u09c7",
|
||||
"\u099c\u09c1\u09a8",
|
||||
"\u099c\u09c1",
|
||||
"\u0986",
|
||||
"\u09b8\u09c7",
|
||||
"\u0985",
|
||||
"\u09a8",
|
||||
"\u09a1\u09bf",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0",
|
||||
"\u09b8\u09cb\u09ae\u09ac\u09be\u09b0",
|
||||
"\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0",
|
||||
"\u09ac\u09c1\u09a7\u09ac\u09be\u09b0",
|
||||
"\u09ac\u09c3\u09b9\u09b7\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0",
|
||||
"\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0",
|
||||
"\u09b6\u09a8\u09bf\u09ac\u09be\u09b0",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u09b0\u09ac\u09bf",
|
||||
"\u09b8\u09cb\u09ae",
|
||||
"\u09ae\u0999\u09cd\u0997\u09b2",
|
||||
"\u09ac\u09c1\u09a7",
|
||||
"\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf",
|
||||
"\u09b6\u09c1\u0995\u09cd\u09b0",
|
||||
"\u09b6\u09a8\u09bf",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u09b0",
|
||||
"\u09b8\u09cb",
|
||||
"\u09ae",
|
||||
"\u09ac\u09c1",
|
||||
"\u09ac\u09c3",
|
||||
"\u09b6\u09c1",
|
||||
"\u09b6",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"\u09aa\u09cd\u09b0\u09a5\u09ae \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6",
|
||||
"\u09a6\u09cd\u09ac\u09bf\u09a4\u09c0\u09af\u09bc \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6",
|
||||
"\u09a4\u09c3\u09a4\u09c0\u09af\u09bc \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6",
|
||||
"\u099a\u09a4\u09c1\u09b0\u09cd\u09a5 \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09e7",
|
||||
"\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09e8",
|
||||
"\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09e9",
|
||||
"\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09ea",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterAbbreviations",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterNarrows",
|
||||
new String[] {
|
||||
"\u09e7",
|
||||
"\u09e8",
|
||||
"\u09e9",
|
||||
"\u09ea",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u09aa\u09c2\u09b0\u09cd\u09ac\u09be\u09b9\u09cd\u09a3",
|
||||
"\u0985\u09aa\u09b0\u09be\u09b9\u09cd\u09a3",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"\u0996\u09c3\u09b7\u09cd\u099f\u09aa\u09c2\u09b0\u09cd\u09ac",
|
||||
"\u0996\u09c3\u09b7\u09cd\u099f\u09be\u09ac\u09cd\u09a6",
|
||||
}
|
||||
},
|
||||
{ "field.era", "\u09af\u09c1\u0997" },
|
||||
{ "field.year", "\u09ac\u099b\u09b0" },
|
||||
{ "field.month", "\u09ae\u09be\u09b8" },
|
||||
{ "field.week", "\u09b8\u09aa\u09cd\u09a4\u09be\u09b9" },
|
||||
{ "field.weekday", "\u09b8\u09aa\u09cd\u09a4\u09be\u09b9\u09c7\u09b0 \u09a6\u09bf\u09a8" },
|
||||
{ "field.dayperiod", "\u09aa\u09c2\u09b0\u09cd\u09ac\u09be\u09b9\u09cd\u09a3/\u0985\u09aa\u09b0\u09be\u09b9\u09cd\u09a3" },
|
||||
{ "field.hour", "\u0998\u09a8\u09cd\u099f\u09be" },
|
||||
{ "field.minute", "\u09ae\u09bf\u09a8\u09bf\u099f" },
|
||||
{ "field.second", "\u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1" },
|
||||
{ "field.zone", "\u098f\u09b2\u09be\u0995\u09be" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM, y",
|
||||
"d MMMM, y",
|
||||
"d MMM, y",
|
||||
"d/M/yy",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNames",
|
||||
new String[] {
|
||||
"\u09ae\u09b9\u09b0\u09b0\u09ae",
|
||||
"\u09b8\u09ab\u09b0",
|
||||
"\u09b0\u09ac\u09bf\u0989\u09b2 \u0986\u0989\u09af\u09bc\u09be\u09b2",
|
||||
"\u09b0\u09ac\u09bf\u0989\u09b8 \u09b8\u09be\u09a8\u09bf",
|
||||
"\u099c\u09ae\u09be\u09a6\u09bf\u0989\u09b2 \u0986\u0989\u09af\u09bc\u09be\u09b2",
|
||||
"\u099c\u09ae\u09be\u09a6\u09bf\u0989\u09b8 \u09b8\u09be\u09a8\u09bf",
|
||||
"\u09b0\u099c\u09ac",
|
||||
"\u09b6\u09be'\u09ac\u09be\u09a8",
|
||||
"\u09b0\u09ae\u099c\u09be\u09a8",
|
||||
"\u09b6\u09be\u0993\u09af\u09bc\u09be\u09b2",
|
||||
"\u099c\u09cd\u09ac\u09bf\u09b2\u0995\u09a6",
|
||||
"\u099c\u09cd\u09ac\u09bf\u09b2\u09b9\u099c\u09cd\u099c",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.MonthNarrows",
|
||||
new String[] {
|
||||
"\u09e7",
|
||||
"\u09e8",
|
||||
"\u09e9",
|
||||
"\u09ea",
|
||||
"\u09eb",
|
||||
"\u09ec",
|
||||
"\u09ed",
|
||||
"\u09ee",
|
||||
"\u09ef",
|
||||
"\u09e7\u09e6",
|
||||
"\u09e7\u09e7",
|
||||
"\u09e7\u09e8",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "islamic.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"\u09af\u09c1\u0997",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-civil", "\u0987\u09b8\u09b2\u09be\u09ae\u09bf\u0995-\u09b8\u09bf\u09ad\u09bf\u09b2 \u09ac\u09b0\u09cd\u09b7\u09aa\u099e\u09cd\u099c\u09c0" },
|
||||
{ "calendarname.islamicc", "\u0987\u09b8\u09b2\u09be\u09ae\u09bf\u0995-\u09b8\u09bf\u09ad\u09bf\u09b2 \u09ac\u09b0\u09cd\u09b7\u09aa\u099e\u09cd\u099c\u09c0" },
|
||||
{ "calendarname.buddhist", "\u09ac\u09cc\u09a6\u09cd\u09a7 \u09ac\u09b0\u09cd\u09b7\u09aa\u099e\u09cd\u099c\u09c0" },
|
||||
{ "calendarname.islamic", "\u0987\u09b8\u09b2\u09be\u09ae\u09bf\u0995 \u09ac\u09b0\u09cd\u09b7\u09aa\u099e\u09cd\u099c\u09c0" },
|
||||
{ "calendarname.gregorian", "\u0997\u09cd\u09b0\u09bf\u0997\u09cb\u09b0\u09bf\u09af\u09bc\u09be\u09a8 \u09ac\u09b0\u09cd\u09b7\u09aa\u099e\u09cd\u099c\u09c0" },
|
||||
{ "calendarname.gregory", "\u0997\u09cd\u09b0\u09bf\u0997\u09cb\u09b0\u09bf\u09af\u09bc\u09be\u09a8 \u09ac\u09b0\u09cd\u09b7\u09aa\u099e\u09cd\u099c\u09c0" },
|
||||
{ "calendarname.roc", "\u0997\u09a3\u09aa\u09cd\u09b0\u099c\u09be\u09a4\u09a8\u09cd\u09a4\u09cd\u09b0\u09c0 \u099a\u09c0\u09a8\u09be \u09ac\u09b0\u09cd\u09b7\u09aa\u099e\u09cd\u099c\u09c0" },
|
||||
{ "calendarname.japanese", "\u099c\u09be\u09aa\u09be\u09a8\u09bf \u09ac\u09b0\u09cd\u09b7\u09aa\u099e\u09cd\u099c\u09c0" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "beng.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u09e6",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"\u09b8\u0982\u0996\u09cd\u09af\u09be \u09a8\u09be",
|
||||
}
|
||||
},
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##,##0.###",
|
||||
"#,##,##0.00\u00a4;(#,##,##0.00\u00a4)",
|
||||
"#,##,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
91
jdkSrc/jdk8/sun/text/resources/cldr/bn/FormatData_bn_IN.java
Normal file
91
jdkSrc/jdk8/sun/text/resources/cldr/bn/FormatData_bn_IN.java
Normal file
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bn;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bn_IN extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"\u09a4\u09cd\u09b0\u09c8\u09ae\u09be\u09b8\u09bf\u0995",
|
||||
"\u09b7\u09be\u09a3\u09cd\u09ae\u09be\u09b8\u09bf\u0995",
|
||||
"\u09a4\u09c3\u09a4\u09c0\u09af\u09bc \u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6",
|
||||
"\u09ac\u09be\u09b0\u09cd\u09b7\u09bf\u0995",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"\u09a4\u09cd\u09b0\u09c8\u09ae\u09be\u09b8\u09bf\u0995",
|
||||
"\u09b7\u09be\u09a3\u09cd\u09ae\u09be\u09b8\u09bf\u0995",
|
||||
"\u099a\u09a4\u09c1\u09b0\u09cd\u09a5\u09be\u0982\u09b6 \u09e9",
|
||||
"\u09ac\u09be\u09b0\u09cd\u09b7\u09bf\u0995",
|
||||
}
|
||||
},
|
||||
{ "field.hour", "\u0998\u09a3\u09cd\u099f\u09be" },
|
||||
{ "field.second", "\u09b8\u09c7\u0995\u09c7\u09a3\u09cd\u09a1" },
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
204
jdkSrc/jdk8/sun/text/resources/cldr/bo/FormatData_bo.java
Normal file
204
jdkSrc/jdk8/sun/text/resources/cldr/bo/FormatData_bo.java
Normal file
@@ -0,0 +1,204 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bo;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bo extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f66\u0f74\u0f58\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54\u0f0b",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u0f5f\u0fb3\u0f0b\u0f21",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f22",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f23",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f24",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f25",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f26",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f27",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f28",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f29",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f21\u0f20",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f21\u0f21",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f21\u0f22",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b",
|
||||
"\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b",
|
||||
"\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b",
|
||||
"\u0f42\u0f5f\u0f60\u0f0b\u0f67\u0fb3\u0f42\u0f0b\u0f54\u0f0b",
|
||||
"\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74\u0f0b",
|
||||
"\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0f44\u0f66\u0f0b",
|
||||
"\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u0f49\u0f72\u0f0b\u0f58\u0f0b",
|
||||
"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b",
|
||||
"\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b",
|
||||
"\u0f67\u0fb3\u0f42\u0f0b\u0f54\u0f0b",
|
||||
"\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74\u0f0b",
|
||||
"\u0f66\u0f44\u0f66\u0f0b",
|
||||
"\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u0f49\u0f72",
|
||||
"\u0f5f\u0fb3",
|
||||
"\u0f58\u0f72",
|
||||
"\u0f67\u0fb3",
|
||||
"\u0f55\u0f74",
|
||||
"\u0f66",
|
||||
"\u0f66\u0fa4\u0f7a",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u0f66\u0f94\u0f0b\u0f51\u0fb2\u0f7c\u0f0b",
|
||||
"\u0f55\u0fb1\u0f72\u0f0b\u0f51\u0fb2\u0f7c\u0f0b",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"\u0f66\u0fa4\u0fb1\u0f72\u0f0b\u0f63\u0f7c\u0f0b\u0f66\u0f94\u0f7c\u0f53\u0f0d",
|
||||
"\u0f66\u0fa4\u0fb1\u0f72\u0f0b\u0f63\u0f7c\u0f0d",
|
||||
}
|
||||
},
|
||||
{ "field.year", "\u0f63\u0f7c\u0f0d" },
|
||||
{ "field.month", "\u0f5f\u0fb3\u0f0b\u0f56\u0f0b" },
|
||||
{ "field.hour", "\u0f46\u0f74\u0f0b\u0f59\u0f7c\u0f0b" },
|
||||
{ "field.minute", "\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0d" },
|
||||
{ "field.second", "\u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d" },
|
||||
{ "field.zone", "\u0f51\u0f74\u0f66\u0f0b\u0f5a\u0f7c\u0f51\u0f0d" },
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, y MMMM dd",
|
||||
"\u0f66\u0fa6\u0fb1\u0f72\u0f0b\u0f63\u0f7c\u0f0by MMMM\u0f60\u0f72\u0f0b\u0f59\u0f7a\u0f66\u0f0bd\u0f51",
|
||||
"y \u0f63\u0f7c\u0f0b\u0f60\u0f72\u0f0bMMM\u0f59\u0f7a\u0f66\u0f0bd",
|
||||
"yyyy-MM-dd",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "tibt.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"\u0f20",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"\u0f68\u0f44\u0f0b\u0f58\u0f7a\u0f53\u0f0b",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4\u00a0#,##0.00",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
236
jdkSrc/jdk8/sun/text/resources/cldr/br/FormatData_br.java
Normal file
236
jdkSrc/jdk8/sun/text/resources/cldr/br/FormatData_br.java
Normal file
@@ -0,0 +1,236 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.br;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_br extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"Genver",
|
||||
"C\u02bchwevrer",
|
||||
"Meurzh",
|
||||
"Ebrel",
|
||||
"Mae",
|
||||
"Mezheven",
|
||||
"Gouere",
|
||||
"Eost",
|
||||
"Gwengolo",
|
||||
"Here",
|
||||
"Du",
|
||||
"Kerzu",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNames",
|
||||
new String[] {
|
||||
"Genver",
|
||||
"C\u02bchwevrer",
|
||||
"Meurzh",
|
||||
"Ebrel",
|
||||
"Mae",
|
||||
"Mezheven",
|
||||
"Gouere",
|
||||
"Eost",
|
||||
"Gwengolo",
|
||||
"Here",
|
||||
"Du",
|
||||
"Kerzu",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Gen",
|
||||
"C\u02bchwe",
|
||||
"Meur",
|
||||
"Ebr",
|
||||
"Mae",
|
||||
"Mezh",
|
||||
"Goue",
|
||||
"Eost",
|
||||
"Gwen",
|
||||
"Here",
|
||||
"Du",
|
||||
"Ker",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthAbbreviations",
|
||||
new String[] {
|
||||
"Gen",
|
||||
"C\u02bchwe",
|
||||
"Meur",
|
||||
"Ebr",
|
||||
"Mae",
|
||||
"Mezh",
|
||||
"Goue",
|
||||
"Eost",
|
||||
"Gwen",
|
||||
"Here",
|
||||
"Du",
|
||||
"Ker",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"Sul",
|
||||
"Lun",
|
||||
"Meurzh",
|
||||
"Merc\u02bcher",
|
||||
"Yaou",
|
||||
"Gwener",
|
||||
"Sadorn",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNames",
|
||||
new String[] {
|
||||
"Sul",
|
||||
"Lun",
|
||||
"Meurzh",
|
||||
"Merc\u02bcher",
|
||||
"Yaou",
|
||||
"Gwener",
|
||||
"Sadorn",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"sul",
|
||||
"lun",
|
||||
"meu.",
|
||||
"mer.",
|
||||
"yaou",
|
||||
"gwe.",
|
||||
"sad.",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayAbbreviations",
|
||||
new String[] {
|
||||
"sul",
|
||||
"lun",
|
||||
"meu.",
|
||||
"mer.",
|
||||
"yaou",
|
||||
"gwe.",
|
||||
"sad.",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"su",
|
||||
"lu",
|
||||
"mz",
|
||||
"mc",
|
||||
"ya",
|
||||
"gw",
|
||||
"sa",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNarrows",
|
||||
new String[] {
|
||||
"su",
|
||||
"lu",
|
||||
"mz",
|
||||
"mc",
|
||||
"ya",
|
||||
"gw",
|
||||
"sa",
|
||||
}
|
||||
},
|
||||
{ "field.month", "miz" },
|
||||
{ "field.week", "sizhun" },
|
||||
{ "field.hour", "eur" },
|
||||
{ "field.minute", "munut" },
|
||||
{ "field.second", "eilenn" },
|
||||
{ "calendarname.gregorian", "deiziadur gregorian" },
|
||||
{ "calendarname.gregory", "deiziadur gregorian" },
|
||||
{ "calendarname.roc", "deiziadur Republik Sina" },
|
||||
{ "calendarname.islamic-civil", "deiziadur islamek keodedel" },
|
||||
{ "calendarname.islamicc", "deiziadur islamek keodedel" },
|
||||
{ "calendarname.japanese", "deiziadur japanat" },
|
||||
{ "calendarname.buddhist", "deiziadur boudaat" },
|
||||
{ "calendarname.islamic", "deiziadur islamek" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
"\u00a0",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
217
jdkSrc/jdk8/sun/text/resources/cldr/brx/FormatData_brx.java
Normal file
217
jdkSrc/jdk8/sun/text/resources/cldr/brx/FormatData_brx.java
Normal file
@@ -0,0 +1,217 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.brx;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_brx extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u091c\u093e\u0928\u0941\u0935\u093e\u0930\u0940",
|
||||
"\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940",
|
||||
"\u092e\u093e\u0930\u094d\u0938",
|
||||
"\u090f\u092b\u094d\u0930\u093f\u0932",
|
||||
"\u092e\u0947",
|
||||
"\u091c\u0941\u0928",
|
||||
"\u091c\u0941\u0932\u093e\u0907",
|
||||
"\u0906\u0917\u0938\u094d\u0925",
|
||||
"\u0938\u0947\u092c\u0925\u0947\u091c\u094d\u092c\u093c\u0930",
|
||||
"\u0905\u0916\u0925\u092c\u0930",
|
||||
"\u0928\u092c\u0947\u091c\u094d\u092c\u093c\u0930",
|
||||
"\u0926\u093f\u0938\u0947\u091c\u094d\u092c\u093c\u0930",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"\u091c",
|
||||
"\u092b\u0947",
|
||||
"\u092e\u093e",
|
||||
"\u090f",
|
||||
"\u092e\u0947",
|
||||
"\u091c\u0941",
|
||||
"\u091c\u0941",
|
||||
"\u0906",
|
||||
"\u0938\u0947",
|
||||
"\u0905",
|
||||
"\u0928",
|
||||
"\u0926\u093f",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u0930\u092c\u093f\u092c\u093e\u0930",
|
||||
"\u0938\u092e\u092c\u093e\u0930",
|
||||
"\u092e\u0902\u0917\u0932\u092c\u093e\u0930",
|
||||
"\u092c\u0941\u0926\u092c\u093e\u0930",
|
||||
"\u092c\u093f\u0938\u0925\u093f\u092c\u093e\u0930",
|
||||
"\u0938\u0941\u0916\u0941\u0930\u092c\u093e\u0930",
|
||||
"\u0938\u0941\u0928\u093f\u092c\u093e\u0930",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u0930\u092c\u093f",
|
||||
"\u0938\u092e",
|
||||
"\u092e\u0902\u0917\u0932",
|
||||
"\u092c\u0941\u0926",
|
||||
"\u092c\u093f\u0938\u0925\u093f",
|
||||
"\u0938\u0941\u0916\u0941\u0930",
|
||||
"\u0938\u0941\u0928\u093f",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u0930",
|
||||
"\u0938",
|
||||
"\u092e\u0902",
|
||||
"\u092c\u0941",
|
||||
"\u092c\u093f",
|
||||
"\u0938\u0941",
|
||||
"\u0938\u0941",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"\u0938\u093f\u0925\u093e\u0938\u0947/\u0916\u094b\u0928\u094d\u0926\u094b\u0938\u0947/\u092c\u093e\u0939\u093e\u0917\u094b\u0938\u0947",
|
||||
"\u0916\u093e\u0935\u0938\u0947/\u0916\u094b\u0928\u094d\u0926\u094b\u0928\u0948/\u092c\u093e\u0939\u093e\u0917\u094b\u0928\u0948",
|
||||
"\u0916\u093e\u0935\u0925\u093e\u092e/\u0916\u094b\u0928\u094d\u0926\u094b\u0925\u093e\u092e/\u092c\u093e\u0939\u093e\u0917\u094b\u0925\u093e\u092e",
|
||||
"\u0916\u093e\u0935\u092c\u094d\u0930\u0948/\u0916\u094b\u0928\u094d\u0926\u094b\u092c\u094d\u0930\u0948/\u092b\u0941\u0930\u093e/\u0906\u092c\u0941\u0902",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u092b\u0941\u0902",
|
||||
"\u092c\u0947\u0932\u093e\u0938\u0947",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"\u0908\u0938\u093e.\u092a\u0942\u0930\u094d\u0935",
|
||||
"\u0938\u0928",
|
||||
}
|
||||
},
|
||||
{ "field.era", "\u091c\u094c\u0925\u093e\u092f" },
|
||||
{ "field.year", "\u092c\u094b\u0938\u094b\u0930" },
|
||||
{ "field.month", "\u0926\u093e\u0928" },
|
||||
{ "field.week", "\u0938\u092c\u0925\u093e/\u0939\u092c\u0925\u093e" },
|
||||
{ "field.weekday", "\u0938\u092a\u094d\u0924\u093e\u0939 \u0915\u0947 \u0926\u093f\u0928" },
|
||||
{ "field.dayperiod", "\u092b\u0941\u0902/\u092c\u0947\u0932\u093e\u0938\u0947" },
|
||||
{ "field.hour", "\u0930\u093f\u0902\u0917\u093e" },
|
||||
{ "field.minute", "\u092e\u093f\u0928\u093f\u0925" },
|
||||
{ "field.second", "\u0938\u0947\u0916\u0947\u0928\u094d\u0926" },
|
||||
{ "field.zone", "\u0913\u0928\u0938\u094b\u0932" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, MMMM d, y",
|
||||
"MMMM d, y",
|
||||
"MMM d, y",
|
||||
"M/d/yy",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-civil", "\u0907\u0938\u094d\u0932\u093e\u092e\u0940 \u0928\u093e\u0917\u0930\u093f\u0915 \u092a\u0902\u091a\u093e\u0902\u0917" },
|
||||
{ "calendarname.islamicc", "\u0907\u0938\u094d\u0932\u093e\u092e\u0940 \u0928\u093e\u0917\u0930\u093f\u0915 \u092a\u0902\u091a\u093e\u0902\u0917" },
|
||||
{ "calendarname.buddhist", "\u092c\u094c\u0926\u094d\u0927 \u092a\u0902\u091a\u093e\u0902\u0917" },
|
||||
{ "calendarname.islamic", "\u0907\u0938\u094d\u0932\u093e\u092e\u0940 \u092a\u0902\u091a\u093e\u0902\u0917" },
|
||||
{ "calendarname.gregorian", "\u0917\u094d\u0930\u0947\u0917\u0930\u0940\u0905\u0928 \u092a\u0902\u091a\u093e\u0902\u0917" },
|
||||
{ "calendarname.gregory", "\u0917\u094d\u0930\u0947\u0917\u0930\u0940\u0905\u0928 \u092a\u0902\u091a\u093e\u0902\u0917" },
|
||||
{ "calendarname.roc", "\u091a\u0940\u0928\u0940 \u0917\u0923\u0924\u0902\u0924\u094d\u0930 \u092a\u0902\u091a\u093e\u0902\u0917" },
|
||||
{ "calendarname.japanese", "\u091c\u093e\u092a\u093e\u0928\u0940 \u092a\u0902\u091a\u093e\u0902\u0917" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##,##0.###",
|
||||
"\u00a4\u00a0#,##,##0.00",
|
||||
"#,##,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
252
jdkSrc/jdk8/sun/text/resources/cldr/bs/FormatData_bs.java
Normal file
252
jdkSrc/jdk8/sun/text/resources/cldr/bs/FormatData_bs.java
Normal file
@@ -0,0 +1,252 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.bs;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_bs extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"januar",
|
||||
"februar",
|
||||
"mart",
|
||||
"april",
|
||||
"maj",
|
||||
"juni",
|
||||
"juli",
|
||||
"avgust",
|
||||
"septembar",
|
||||
"oktobar",
|
||||
"novembar",
|
||||
"decembar",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"jan",
|
||||
"feb",
|
||||
"mar",
|
||||
"apr",
|
||||
"maj",
|
||||
"jun",
|
||||
"jul",
|
||||
"avg",
|
||||
"sep",
|
||||
"okt",
|
||||
"nov",
|
||||
"dec",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"j",
|
||||
"f",
|
||||
"m",
|
||||
"a",
|
||||
"m",
|
||||
"j",
|
||||
"j",
|
||||
"a",
|
||||
"s",
|
||||
"o",
|
||||
"n",
|
||||
"d",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"nedjelja",
|
||||
"ponedjeljak",
|
||||
"utorak",
|
||||
"srijeda",
|
||||
"\u010detvrtak",
|
||||
"petak",
|
||||
"subota",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"ned",
|
||||
"pon",
|
||||
"uto",
|
||||
"sri",
|
||||
"\u010det",
|
||||
"pet",
|
||||
"sub",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"Prvi kvartal",
|
||||
"Drugi kvartal",
|
||||
"Tre\u0107i kvartal",
|
||||
"\u010cetvrti kvartal",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"K1",
|
||||
"K2",
|
||||
"K3",
|
||||
"K4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"pre podne",
|
||||
"popodne",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"Pre nove ere",
|
||||
"Nove ere",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"p. n. e.",
|
||||
"n. e",
|
||||
}
|
||||
},
|
||||
{ "field.era", "era" },
|
||||
{ "field.year", "godina" },
|
||||
{ "field.month", "mesec" },
|
||||
{ "field.week", "nedelja" },
|
||||
{ "field.weekday", "dan u nedelji" },
|
||||
{ "field.dayperiod", "pre podne/ popodne" },
|
||||
{ "field.hour", "\u010das" },
|
||||
{ "field.minute", "minut" },
|
||||
{ "field.second", "sekund" },
|
||||
{ "field.zone", "zona" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, dd. MMMM y.",
|
||||
"dd. MMMM y.",
|
||||
"dd.MM.y.",
|
||||
"dd.MM.yy.",
|
||||
}
|
||||
},
|
||||
{ "islamic.Eras",
|
||||
new String[] {
|
||||
"",
|
||||
"AH",
|
||||
}
|
||||
},
|
||||
{ "java.time.islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, dd. MMMM y. G",
|
||||
"dd. MMMM y. G",
|
||||
"dd.MM.y. G",
|
||||
"dd.MM.y. G",
|
||||
}
|
||||
},
|
||||
{ "islamic.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, dd. MMMM y. GGGG",
|
||||
"dd. MMMM y. GGGG",
|
||||
"dd.MM.y. GGGG",
|
||||
"dd.MM.y. GGGG",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-civil", "Islamski civilni kalendar" },
|
||||
{ "calendarname.islamicc", "Islamski civilni kalendar" },
|
||||
{ "calendarname.buddhist", "Budisti\u010dki kalendar" },
|
||||
{ "calendarname.islamic", "Islamski kalendar" },
|
||||
{ "calendarname.gregorian", "Gregorijanski kalendar" },
|
||||
{ "calendarname.gregory", "Gregorijanski kalendar" },
|
||||
{ "calendarname.roc", "Kalendar Republike Kine" },
|
||||
{ "calendarname.japanese", "Japanski kalendar" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
".",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
82
jdkSrc/jdk8/sun/text/resources/cldr/byn/FormatData_byn.java
Normal file
82
jdkSrc/jdk8/sun/text/resources/cldr/byn/FormatData_byn.java
Normal file
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.byn;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_byn extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
350
jdkSrc/jdk8/sun/text/resources/cldr/ca/FormatData_ca.java
Normal file
350
jdkSrc/jdk8/sun/text/resources/cldr/ca/FormatData_ca.java
Normal file
@@ -0,0 +1,350 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.ca;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_ca extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"de gener",
|
||||
"de febrer",
|
||||
"de mar\u00e7",
|
||||
"d\u2019abril",
|
||||
"de maig",
|
||||
"de juny",
|
||||
"de juliol",
|
||||
"d\u2019agost",
|
||||
"de setembre",
|
||||
"d\u2019octubre",
|
||||
"de novembre",
|
||||
"de desembre",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNames",
|
||||
new String[] {
|
||||
"gener",
|
||||
"febrer",
|
||||
"mar\u00e7",
|
||||
"abril",
|
||||
"maig",
|
||||
"juny",
|
||||
"juliol",
|
||||
"agost",
|
||||
"setembre",
|
||||
"octubre",
|
||||
"novembre",
|
||||
"desembre",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"de gen.",
|
||||
"de febr.",
|
||||
"de mar\u00e7",
|
||||
"d\u2019abr.",
|
||||
"de maig",
|
||||
"de juny",
|
||||
"de jul.",
|
||||
"d\u2019ag.",
|
||||
"de set.",
|
||||
"d\u2019oct.",
|
||||
"de nov.",
|
||||
"de des.",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthAbbreviations",
|
||||
new String[] {
|
||||
"gen.",
|
||||
"febr.",
|
||||
"mar\u00e7",
|
||||
"abr.",
|
||||
"maig",
|
||||
"juny",
|
||||
"jul.",
|
||||
"ag.",
|
||||
"set.",
|
||||
"oct.",
|
||||
"nov.",
|
||||
"des.",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"G",
|
||||
"F",
|
||||
"M",
|
||||
"A",
|
||||
"M",
|
||||
"J",
|
||||
"G",
|
||||
"A",
|
||||
"S",
|
||||
"O",
|
||||
"N",
|
||||
"D",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNarrows",
|
||||
new String[] {
|
||||
"g",
|
||||
"f",
|
||||
"m",
|
||||
"a",
|
||||
"m",
|
||||
"j",
|
||||
"j",
|
||||
"a",
|
||||
"s",
|
||||
"o",
|
||||
"n",
|
||||
"d",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"diumenge",
|
||||
"dilluns",
|
||||
"dimarts",
|
||||
"dimecres",
|
||||
"dijous",
|
||||
"divendres",
|
||||
"dissabte",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNames",
|
||||
new String[] {
|
||||
"Diumenge",
|
||||
"Dilluns",
|
||||
"Dimarts",
|
||||
"Dimecres",
|
||||
"Dijous",
|
||||
"Divendres",
|
||||
"Dissabte",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"dg.",
|
||||
"dl.",
|
||||
"dt.",
|
||||
"dc.",
|
||||
"dj.",
|
||||
"dv.",
|
||||
"ds.",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayAbbreviations",
|
||||
new String[] {
|
||||
"dg",
|
||||
"dl",
|
||||
"dt",
|
||||
"dc",
|
||||
"dj",
|
||||
"dv",
|
||||
"ds",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"G",
|
||||
"l",
|
||||
"T",
|
||||
"C",
|
||||
"J",
|
||||
"V",
|
||||
"S",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNarrows",
|
||||
new String[] {
|
||||
"g",
|
||||
"l",
|
||||
"t",
|
||||
"c",
|
||||
"j",
|
||||
"v",
|
||||
"s",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1r trimestre",
|
||||
"2n trimestre",
|
||||
"3r trimestre",
|
||||
"4t trimestre",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterNames",
|
||||
new String[] {
|
||||
"1r trimestre",
|
||||
"2n trimestre",
|
||||
"3r trimestre",
|
||||
"4t trimestre",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"1T",
|
||||
"2T",
|
||||
"3T",
|
||||
"4T",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterAbbreviations",
|
||||
new String[] {
|
||||
"1T",
|
||||
"2T",
|
||||
"3T",
|
||||
"4T",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"a.m.",
|
||||
"p.m.",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"aC",
|
||||
"dC",
|
||||
}
|
||||
},
|
||||
{ "field.era", "era" },
|
||||
{ "field.year", "any" },
|
||||
{ "field.month", "mes" },
|
||||
{ "field.week", "setmana" },
|
||||
{ "field.weekday", "dia de la setmana" },
|
||||
{ "field.dayperiod", "a.m./p.m." },
|
||||
{ "field.hour", "hora" },
|
||||
{ "field.minute", "minut" },
|
||||
{ "field.second", "segon" },
|
||||
{ "field.zone", "zona" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"H:mm:ss zzzz",
|
||||
"H:mm:ss z",
|
||||
"H:mm:ss",
|
||||
"H:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE d MMMM 'de' y",
|
||||
"d MMMM 'de' y",
|
||||
"dd/MM/yyyy",
|
||||
"dd/MM/yy",
|
||||
}
|
||||
},
|
||||
{ "calendarname.gregorian", "calendari gregori\u00e0" },
|
||||
{ "calendarname.gregory", "calendari gregori\u00e0" },
|
||||
{ "calendarname.roc", "calendari de la Rep\u00fablica de Xina" },
|
||||
{ "calendarname.islamic-civil", "calendari civil isl\u00e0mic" },
|
||||
{ "calendarname.islamicc", "calendari civil isl\u00e0mic" },
|
||||
{ "calendarname.japanese", "calendari japon\u00e8s" },
|
||||
{ "calendarname.buddhist", "calendari budista" },
|
||||
{ "calendarname.islamic", "calendari musulm\u00e0" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
".",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"#,##0.00\u00a0\u00a4",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
217
jdkSrc/jdk8/sun/text/resources/cldr/cgg/FormatData_cgg.java
Normal file
217
jdkSrc/jdk8/sun/text/resources/cldr/cgg/FormatData_cgg.java
Normal file
@@ -0,0 +1,217 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.cgg;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_cgg extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"Okwokubanza",
|
||||
"Okwakabiri",
|
||||
"Okwakashatu",
|
||||
"Okwakana",
|
||||
"Okwakataana",
|
||||
"Okwamukaaga",
|
||||
"Okwamushanju",
|
||||
"Okwamunaana",
|
||||
"Okwamwenda",
|
||||
"Okwaikumi",
|
||||
"Okwaikumi na kumwe",
|
||||
"Okwaikumi na ibiri",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"KBZ",
|
||||
"KBR",
|
||||
"KST",
|
||||
"KKN",
|
||||
"KTN",
|
||||
"KMK",
|
||||
"KMS",
|
||||
"KMN",
|
||||
"KMW",
|
||||
"KKM",
|
||||
"KNK",
|
||||
"KNB",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"J",
|
||||
"F",
|
||||
"M",
|
||||
"A",
|
||||
"M",
|
||||
"J",
|
||||
"J",
|
||||
"A",
|
||||
"S",
|
||||
"O",
|
||||
"N",
|
||||
"D",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"Sande",
|
||||
"Orwokubanza",
|
||||
"Orwakabiri",
|
||||
"Orwakashatu",
|
||||
"Orwakana",
|
||||
"Orwakataano",
|
||||
"Orwamukaaga",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"SAN",
|
||||
"ORK",
|
||||
"OKB",
|
||||
"OKS",
|
||||
"OKN",
|
||||
"OKT",
|
||||
"OMK",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"S",
|
||||
"K",
|
||||
"R",
|
||||
"S",
|
||||
"N",
|
||||
"T",
|
||||
"M",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"KWOTA 1",
|
||||
"KWOTA 2",
|
||||
"KWOTA 3",
|
||||
"KWOTA 4",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"K1",
|
||||
"K2",
|
||||
"K3",
|
||||
"K4",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"Kurisito Atakaijire",
|
||||
"Kurisito Yaijire",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"BC",
|
||||
"AD",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Obunaku" },
|
||||
{ "field.year", "Omwaka" },
|
||||
{ "field.month", "Omwezi" },
|
||||
{ "field.week", "Esande" },
|
||||
{ "field.weekday", "Eizooba ry'okukora" },
|
||||
{ "field.dayperiod", "Nyomushana/nyekiro" },
|
||||
{ "field.hour", "Shaaha" },
|
||||
{ "field.minute", "Edakiika" },
|
||||
{ "field.second", "Obucweka/Esekendi" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM y",
|
||||
"dd/MM/yyyy",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4#,##0.00;-#,##0.00\u00a4",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
225
jdkSrc/jdk8/sun/text/resources/cldr/chr/FormatData_chr.java
Normal file
225
jdkSrc/jdk8/sun/text/resources/cldr/chr/FormatData_chr.java
Normal file
@@ -0,0 +1,225 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.chr;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_chr extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"\u13a4\u13c3\u13b8\u13d4\u13c5",
|
||||
"\u13a7\u13a6\u13b5",
|
||||
"\u13a0\u13c5\u13f1",
|
||||
"\u13a7\u13ec\u13c2",
|
||||
"\u13a0\u13c2\u13cd\u13ac\u13d8",
|
||||
"\u13d5\u13ad\u13b7\u13f1",
|
||||
"\u13ab\u13f0\u13c9\u13c2",
|
||||
"\u13a6\u13b6\u13c2",
|
||||
"\u13da\u13b5\u13cd\u13d7",
|
||||
"\u13da\u13c2\u13c5\u13d7",
|
||||
"\u13c5\u13d3\u13d5\u13c6",
|
||||
"\u13a4\u13cd\u13a9\u13f1",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"\u13a4\u13c3",
|
||||
"\u13a7\u13a6",
|
||||
"\u13a0\u13c5",
|
||||
"\u13a7\u13ec",
|
||||
"\u13a0\u13c2",
|
||||
"\u13d5\u13ad",
|
||||
"\u13ab\u13f0",
|
||||
"\u13a6\u13b6",
|
||||
"\u13da\u13b5",
|
||||
"\u13da\u13c2",
|
||||
"\u13c5\u13d3",
|
||||
"\u13a4\u13cd",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"\u13a4",
|
||||
"\u13a7",
|
||||
"\u13a0",
|
||||
"\u13a7",
|
||||
"\u13a0",
|
||||
"\u13d5",
|
||||
"\u13ab",
|
||||
"\u13a6",
|
||||
"\u13da",
|
||||
"\u13da",
|
||||
"\u13c5",
|
||||
"\u13a4",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"\u13a4\u13be\u13d9\u13d3\u13c6\u13cd\u13ac",
|
||||
"\u13a4\u13be\u13d9\u13d3\u13c9\u13c5\u13af",
|
||||
"\u13d4\u13b5\u13c1\u13a2\u13a6",
|
||||
"\u13e6\u13a2\u13c1\u13a2\u13a6",
|
||||
"\u13c5\u13a9\u13c1\u13a2\u13a6",
|
||||
"\u13e7\u13be\u13a9\u13b6\u13cd\u13d7",
|
||||
"\u13a4\u13be\u13d9\u13d3\u13c8\u13d5\u13be",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"\u13c6\u13cd\u13ac",
|
||||
"\u13c9\u13c5\u13af",
|
||||
"\u13d4\u13b5\u13c1",
|
||||
"\u13e6\u13a2\u13c1",
|
||||
"\u13c5\u13a9\u13c1",
|
||||
"\u13e7\u13be\u13a9",
|
||||
"\u13c8\u13d5\u13be",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"\u13c6",
|
||||
"\u13c9",
|
||||
"\u13d4",
|
||||
"\u13e6",
|
||||
"\u13c5",
|
||||
"\u13e7",
|
||||
"\u13a4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"\u13cc\u13be\u13b4",
|
||||
"\u13d2\u13af\u13f1\u13a2\u13d7\u13e2",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"\u13cf \u13e5\u13cc \u13be\u13d5\u13b2\u13cd\u13ac\u13be",
|
||||
"\u13a0\u13a9\u13c3\u13ae\u13b5\u13d3\u13cd\u13d7\u13f1 \u13a0\u13d5\u13d8\u13f1\u13cd\u13ac \u13f1\u13b0\u13e9 \u13e7\u13d3\u13c2\u13b8\u13a2\u13cd\u13d7",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"\u13a4\u13d3\u13b7\u13b8",
|
||||
"\u13a4\u13b6\u13d0\u13c5",
|
||||
}
|
||||
},
|
||||
{ "field.era", "\u13a1\u13b6\u13af \u13a0\u13e3\u13a2\u13b5\u13d2\u13a2" },
|
||||
{ "field.year", "\u13d1\u13d5\u13d8\u13f4\u13d3" },
|
||||
{ "field.month", "\u13cf\u13c5\u13d3" },
|
||||
{ "field.week", "\u13d2\u13be\u13d9\u13d3\u13c6\u13cd\u13d7" },
|
||||
{ "field.weekday", "\u13d2\u13be\u13d9\u13d3\u13c6\u13cd\u13d7 \u13a0\u13e3\u13a2\u13b5\u13d2" },
|
||||
{ "field.hour", "\u13d1\u13e3\u13b6\u13d3" },
|
||||
{ "field.minute", "\u13a2\u13ef\u13d4\u13ec\u13cd\u13d4\u13c5" },
|
||||
{ "field.second", "\u13a0\u13ce\u13e2" },
|
||||
{ "field.zone", "\u13a1\u13b6\u13af \u13a0\u13cd\u13d3\u13c5\u13c5" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"h:mm:ss a zzzz",
|
||||
"h:mm:ss a z",
|
||||
"h:mm:ss a",
|
||||
"h:mm a",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, MMMM d, y",
|
||||
"MMMM d, y",
|
||||
"MMM d, y",
|
||||
"M/d/yy",
|
||||
}
|
||||
},
|
||||
{ "calendarname.gregorian", "\u13c5\u13d9 \u13d7\u13ce\u13d7" },
|
||||
{ "calendarname.gregory", "\u13c5\u13d9 \u13d7\u13ce\u13d7" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
".",
|
||||
",",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"\u00a4#,##0.00;(\u00a4#,##0.00)",
|
||||
"#,##0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
416
jdkSrc/jdk8/sun/text/resources/cldr/cs/FormatData_cs.java
Normal file
416
jdkSrc/jdk8/sun/text/resources/cldr/cs/FormatData_cs.java
Normal file
@@ -0,0 +1,416 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.cs;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_cs extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"ledna",
|
||||
"\u00fanora",
|
||||
"b\u0159ezna",
|
||||
"dubna",
|
||||
"kv\u011btna",
|
||||
"\u010dervna",
|
||||
"\u010dervence",
|
||||
"srpna",
|
||||
"z\u00e1\u0159\u00ed",
|
||||
"\u0159\u00edjna",
|
||||
"listopadu",
|
||||
"prosince",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNames",
|
||||
new String[] {
|
||||
"leden",
|
||||
"\u00fanor",
|
||||
"b\u0159ezen",
|
||||
"duben",
|
||||
"kv\u011bten",
|
||||
"\u010derven",
|
||||
"\u010dervenec",
|
||||
"srpen",
|
||||
"z\u00e1\u0159\u00ed",
|
||||
"\u0159\u00edjen",
|
||||
"listopad",
|
||||
"prosinec",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Led",
|
||||
"\u00dano",
|
||||
"B\u0159e",
|
||||
"Dub",
|
||||
"Kv\u011b",
|
||||
"\u010cer",
|
||||
"\u010cvc",
|
||||
"Srp",
|
||||
"Z\u00e1\u0159",
|
||||
"\u0158\u00edj",
|
||||
"Lis",
|
||||
"Pro",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthAbbreviations",
|
||||
new String[] {
|
||||
"1.",
|
||||
"2.",
|
||||
"3.",
|
||||
"4.",
|
||||
"5.",
|
||||
"6.",
|
||||
"7.",
|
||||
"8.",
|
||||
"9.",
|
||||
"10.",
|
||||
"11.",
|
||||
"12.",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNarrows",
|
||||
new String[] {
|
||||
"l",
|
||||
"\u00fa",
|
||||
"b",
|
||||
"d",
|
||||
"k",
|
||||
"\u010d",
|
||||
"\u010d",
|
||||
"s",
|
||||
"z",
|
||||
"\u0159",
|
||||
"l",
|
||||
"p",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"ned\u011ble",
|
||||
"pond\u011bl\u00ed",
|
||||
"\u00fater\u00fd",
|
||||
"st\u0159eda",
|
||||
"\u010dtvrtek",
|
||||
"p\u00e1tek",
|
||||
"sobota",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNames",
|
||||
new String[] {
|
||||
"ned\u011ble",
|
||||
"pond\u011bl\u00ed",
|
||||
"\u00fater\u00fd",
|
||||
"st\u0159eda",
|
||||
"\u010dtvrtek",
|
||||
"p\u00e1tek",
|
||||
"sobota",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"ne",
|
||||
"po",
|
||||
"\u00fat",
|
||||
"st",
|
||||
"\u010dt",
|
||||
"p\u00e1",
|
||||
"so",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayAbbreviations",
|
||||
new String[] {
|
||||
"ne",
|
||||
"po",
|
||||
"\u00fat",
|
||||
"st",
|
||||
"\u010dt",
|
||||
"p\u00e1",
|
||||
"so",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"N",
|
||||
"P",
|
||||
"\u00da",
|
||||
"S",
|
||||
"\u010c",
|
||||
"P",
|
||||
"S",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayNarrows",
|
||||
new String[] {
|
||||
"N",
|
||||
"P",
|
||||
"\u00da",
|
||||
"S",
|
||||
"\u010c",
|
||||
"P",
|
||||
"S",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"1. \u010dtvrtlet\u00ed",
|
||||
"2. \u010dtvrtlet\u00ed",
|
||||
"3. \u010dtvrtlet\u00ed",
|
||||
"4. \u010dtvrtlet\u00ed",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterNames",
|
||||
new String[] {
|
||||
"1. \u010dtvrtlet\u00ed",
|
||||
"2. \u010dtvrtlet\u00ed",
|
||||
"3. \u010dtvrtlet\u00ed",
|
||||
"4. \u010dtvrtlet\u00ed",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "standalone.QuarterAbbreviations",
|
||||
new String[] {
|
||||
"Q1",
|
||||
"Q2",
|
||||
"Q3",
|
||||
"Q4",
|
||||
}
|
||||
},
|
||||
{ "QuarterNarrows",
|
||||
new String[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
}
|
||||
},
|
||||
{ "AmPmMarkers",
|
||||
new String[] {
|
||||
"dop.",
|
||||
"odp.",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"p\u0159. n. l.",
|
||||
"n. l.",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"p\u0159. n. l.",
|
||||
"n. l.",
|
||||
}
|
||||
},
|
||||
{ "narrow.Eras",
|
||||
new String[] {
|
||||
"p\u0159.n.l.",
|
||||
"n. l.",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Letopo\u010det" },
|
||||
{ "field.year", "Rok" },
|
||||
{ "field.month", "M\u011bs\u00edc" },
|
||||
{ "field.week", "T\u00fdden" },
|
||||
{ "field.weekday", "Den v t\u00fddnu" },
|
||||
{ "field.dayperiod", "AM/PM" },
|
||||
{ "field.hour", "Hodina" },
|
||||
{ "field.minute", "Minuta" },
|
||||
{ "field.second", "Sekunda" },
|
||||
{ "field.zone", "\u010casov\u00e9 p\u00e1smo" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"H:mm:ss zzzz",
|
||||
"H:mm:ss z",
|
||||
"H:mm:ss",
|
||||
"H:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d. MMMM y",
|
||||
"d. MMMM y",
|
||||
"d. M. yyyy",
|
||||
"dd.MM.yy",
|
||||
}
|
||||
},
|
||||
{ "java.time.buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d. MMMM y G",
|
||||
"d. MMMM y G",
|
||||
"d. M. y G",
|
||||
"dd.MM.yy GGGGG",
|
||||
}
|
||||
},
|
||||
{ "buddhist.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d. MMMM y GGGG",
|
||||
"d. MMMM y GGGG",
|
||||
"d. M. y GGGG",
|
||||
"dd.MM.yy G",
|
||||
}
|
||||
},
|
||||
{ "java.time.japanese.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE d. MMMM y G",
|
||||
"d. MMMM y G",
|
||||
"d. M. y G",
|
||||
"dd.MM.yy GGGGG",
|
||||
}
|
||||
},
|
||||
{ "japanese.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE d. MMMM y GGGG",
|
||||
"d. MMMM y GGGG",
|
||||
"d. M. y GGGG",
|
||||
"dd.MM.yy G",
|
||||
}
|
||||
},
|
||||
{ "roc.Eras",
|
||||
new String[] {
|
||||
"P\u0159ed R. O. C.",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "java.time.roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d. MMMM y G",
|
||||
"d. MMMM y G",
|
||||
"d. M. y G",
|
||||
"dd.MM.yy GGGGG",
|
||||
}
|
||||
},
|
||||
{ "roc.DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d. MMMM y GGGG",
|
||||
"d. MMMM y GGGG",
|
||||
"d. M. y GGGG",
|
||||
"dd.MM.yy G",
|
||||
}
|
||||
},
|
||||
{ "calendarname.islamic-civil", "Muslimsk\u00fd ob\u010dansk\u00fd kalend\u00e1\u0159" },
|
||||
{ "calendarname.islamicc", "Muslimsk\u00fd ob\u010dansk\u00fd kalend\u00e1\u0159" },
|
||||
{ "calendarname.buddhist", "Buddhistick\u00fd kalend\u00e1\u0159" },
|
||||
{ "calendarname.islamic", "Muslimsk\u00fd kalend\u00e1\u0159" },
|
||||
{ "calendarname.gregorian", "Gregori\u00e1nsk\u00fd kalend\u00e1\u0159" },
|
||||
{ "calendarname.gregory", "Gregori\u00e1nsk\u00fd kalend\u00e1\u0159" },
|
||||
{ "calendarname.roc", "Kalend\u00e1\u0159 \u010c\u00ednsk\u00e9 republiky" },
|
||||
{ "calendarname.japanese", "Japonsk\u00fd kalend\u00e1\u0159" },
|
||||
{ "DefaultNumberingSystem", "latn" },
|
||||
{ "latn.NumberElements",
|
||||
new String[] {
|
||||
",",
|
||||
"\u00a0",
|
||||
";",
|
||||
"%",
|
||||
"0",
|
||||
"#",
|
||||
"-",
|
||||
"E",
|
||||
"\u2030",
|
||||
"\u221e",
|
||||
"NaN",
|
||||
}
|
||||
},
|
||||
{ "NumberPatterns",
|
||||
new String[] {
|
||||
"#,##0.###",
|
||||
"#,##0.00\u00a0\u00a4",
|
||||
"#,##0\u00a0%",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
262
jdkSrc/jdk8/sun/text/resources/cldr/cy/FormatData_cy.java
Normal file
262
jdkSrc/jdk8/sun/text/resources/cldr/cy/FormatData_cy.java
Normal file
@@ -0,0 +1,262 @@
|
||||
/*
|
||||
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code 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
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT AND PERMISSION NOTICE
|
||||
*
|
||||
* Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under
|
||||
* the Terms of Use in http://www.unicode.org/copyright.html.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of the Unicode data files and any associated documentation (the "Data
|
||||
* Files") or Unicode software and any associated documentation (the
|
||||
* "Software") to deal in the Data Files or Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, and/or sell copies of the Data Files or Software, and
|
||||
* to permit persons to whom the Data Files or Software are furnished to do so,
|
||||
* provided that (a) the above copyright notice(s) and this permission notice
|
||||
* appear with all copies of the Data Files or Software, (b) both the above
|
||||
* copyright notice(s) and this permission notice appear in associated
|
||||
* documentation, and (c) there is clear notice in each modified Data File or
|
||||
* in the Software as well as in the documentation associated with the Data
|
||||
* File(s) or Software that the data or software has been modified.
|
||||
*
|
||||
* THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||
* KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
|
||||
* CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
* OF THE DATA FILES OR SOFTWARE.
|
||||
*
|
||||
* Except as contained in this notice, the name of a copyright holder shall not
|
||||
* be used in advertising or otherwise to promote the sale, use or other
|
||||
* dealings in these Data Files or Software without prior written authorization
|
||||
* of the copyright holder.
|
||||
*/
|
||||
|
||||
package sun.text.resources.cldr.cy;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
public class FormatData_cy extends ListResourceBundle {
|
||||
@Override
|
||||
protected final Object[][] getContents() {
|
||||
final Object[][] data = new Object[][] {
|
||||
{ "MonthNames",
|
||||
new String[] {
|
||||
"Ionawr",
|
||||
"Chwefror",
|
||||
"Mawrth",
|
||||
"Ebrill",
|
||||
"Mai",
|
||||
"Mehefin",
|
||||
"Gorffenaf",
|
||||
"Awst",
|
||||
"Medi",
|
||||
"Hydref",
|
||||
"Tachwedd",
|
||||
"Rhagfyr",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthNames",
|
||||
new String[] {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Gorffennaf",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthAbbreviations",
|
||||
new String[] {
|
||||
"Ion",
|
||||
"Chwef",
|
||||
"Mawrth",
|
||||
"Ebrill",
|
||||
"Mai",
|
||||
"Meh",
|
||||
"Gorff",
|
||||
"Awst",
|
||||
"Medi",
|
||||
"Hyd",
|
||||
"Tach",
|
||||
"Rhag",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "standalone.MonthAbbreviations",
|
||||
new String[] {
|
||||
"",
|
||||
"Chwe",
|
||||
"Maw",
|
||||
"Ebr",
|
||||
"",
|
||||
"",
|
||||
"Gor",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "MonthNarrows",
|
||||
new String[] {
|
||||
"I",
|
||||
"C",
|
||||
"M",
|
||||
"E",
|
||||
"M",
|
||||
"M",
|
||||
"G",
|
||||
"A",
|
||||
"M",
|
||||
"H",
|
||||
"T",
|
||||
"R",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNames",
|
||||
new String[] {
|
||||
"Dydd Sul",
|
||||
"Dydd Llun",
|
||||
"Dydd Mawrth",
|
||||
"Dydd Mercher",
|
||||
"Dydd Iau",
|
||||
"Dydd Gwener",
|
||||
"Dydd Sadwrn",
|
||||
}
|
||||
},
|
||||
{ "DayAbbreviations",
|
||||
new String[] {
|
||||
"Sul",
|
||||
"Llun",
|
||||
"Maw",
|
||||
"Mer",
|
||||
"Iau",
|
||||
"Gwen",
|
||||
"Sad",
|
||||
}
|
||||
},
|
||||
{ "standalone.DayAbbreviations",
|
||||
new String[] {
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"Gwe",
|
||||
"",
|
||||
}
|
||||
},
|
||||
{ "DayNarrows",
|
||||
new String[] {
|
||||
"S",
|
||||
"L",
|
||||
"M",
|
||||
"M",
|
||||
"I",
|
||||
"G",
|
||||
"S",
|
||||
}
|
||||
},
|
||||
{ "QuarterNames",
|
||||
new String[] {
|
||||
"Chwarter 1af",
|
||||
"2il chwarter",
|
||||
"3ydd chwarter",
|
||||
"4ydd chwarter",
|
||||
}
|
||||
},
|
||||
{ "QuarterAbbreviations",
|
||||
new String[] {
|
||||
"Ch1",
|
||||
"Ch2",
|
||||
"Ch3",
|
||||
"Ch4",
|
||||
}
|
||||
},
|
||||
{ "long.Eras",
|
||||
new String[] {
|
||||
"Cyn Crist",
|
||||
"Oed Crist",
|
||||
}
|
||||
},
|
||||
{ "Eras",
|
||||
new String[] {
|
||||
"CC",
|
||||
"OC",
|
||||
}
|
||||
},
|
||||
{ "narrow.Eras",
|
||||
new String[] {
|
||||
"C",
|
||||
"O",
|
||||
}
|
||||
},
|
||||
{ "field.era", "Oes" },
|
||||
{ "field.year", "Blwyddyn" },
|
||||
{ "field.month", "Mis" },
|
||||
{ "field.week", "Wythnos" },
|
||||
{ "field.weekday", "Dydd o'r Wythnos" },
|
||||
{ "field.dayperiod", "AM/PM" },
|
||||
{ "field.hour", "Awr" },
|
||||
{ "field.minute", "Munud" },
|
||||
{ "field.second", "Eiliad" },
|
||||
{ "field.zone", "Cylchfa" },
|
||||
{ "TimePatterns",
|
||||
new String[] {
|
||||
"HH:mm:ss zzzz",
|
||||
"HH:mm:ss z",
|
||||
"HH:mm:ss",
|
||||
"HH:mm",
|
||||
}
|
||||
},
|
||||
{ "DatePatterns",
|
||||
new String[] {
|
||||
"EEEE, d MMMM y",
|
||||
"d MMMM y",
|
||||
"d MMM y",
|
||||
"dd/MM/yyyy",
|
||||
}
|
||||
},
|
||||
};
|
||||
return data;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user