android 国际化及文本渲染框架[0] --- java scope


android 拥有一个比较复杂的国际化及文本渲染框架,包含有从java -> JNI -> C/C++ 的非常庞大的code。
在Java层,主要包含如下的一些package及classes:
android.graphics
android.text
android.text.format
java.text
java.util(partial)
java.util.regex


package
android.graphics
Classes
CanvasThe Canvas class holds the "draw" calls.
PaintThe Paint class holds the style and color information about how to draw geometries, text and bitmaps.
Paint.FontMetricsClass that describes the various metrics for a font at a given text size.
Paint.FontMetricsIntConvenience method for callers that want to have FontMetrics values as integers.
PaintFlagsDrawFilter
PathThe Path class encapsulates compound (multiple contour) geometric paths consisting of straight line segments, quadratic curves, and cubic curves.
PathEffectPathEffect is the base class for objects in the Paint that affect the geometry of a drawing primitive before it is transformed by the canvas' matrix and drawn.
PictureA picture records drawing calls (via the canvas returned by beginRecording) and can then play them back (via picture.draw(canvas) or canvas.drawPicture).
TypefaceThe Typeface class specifies the typeface and intrinsic style of a font.

package
android.text
Interfaces
EditableThis is the interface for text whose content and markup can be changed (as opposed to immutable text like Strings).
GetCharsPlease implement this interface if your CharSequence has a getChars() method like the one in String that is faster than calling charAt() multiple times.
Html.ImageGetterRetrieves images for HTML tags.
Html.TagHandlerIs notified when HTML tags are encountered that the parser does not know how to interpret.
InputFilterInputFilters can be attached to Editables to constrain the changes that can be made to them.
InputTypeBit definitions for an integer defining the basic content type of text held in an Editable object.
NoCopySpanThis interface should be added to a span object that should not be copied into a new Spenned when performing a slice or copy operation on the original Spanned it was placed in.
ParcelableSpanA special kind of Parcelable for objects that will serve as text spans.
SpannableThis is the interface for text to which markup objects can be attached and detached.
SpannedThis is the interface for text that has markup objects attached to ranges of it.
SpanWatcherWhen an object of this type is attached to a Spannable, its methods will be called to notify it that other markup objects have been added, changed, or removed.
TextUtils.EllipsizeCallback
TextUtils.StringSplitterAn interface for splitting strings according to rules that are opaque to the user of this interface.
TextWatcherWhen an object of a type is attached to an Editable, its methods will be called when the text is changed.


Classes
AlteredCharSequenceAn AlteredCharSequence is a CharSequence that is largely mirrored from another CharSequence, except that a specified range of characters are mirrored from a different char array instead.
AndroidCharacterAndroidCharacter exposes some character properties that are not easily accessed from java.lang.Character.
AnnotationAnnotations are simple key-value pairs that are preserved across TextView save/restore cycles and can be used to keep application-specific data that needs to be maintained for regions of text.
AutoTextThis class accesses a dictionary of corrections to frequent misspellings.
BoringLayoutA BoringLayout is a very simple Layout implementation for text that fits on a single line and is all left-to-right characters.
BoringLayout.Metrics
ClipboardManagerThis class is deprecated. Old text-only interface to the clipboard. See ClipboardManager for the modern API.
DynamicLayoutDynamicLayout is a text layout that updates itself as the text is edited.
Editable.FactoryFactory used by TextView to create new Editables.
HtmlThis class processes HTML strings into displayable styled text.
InputFilter.AllCapsThis filter will capitalize all the lower case letters that are added through edits.
InputFilter.LengthFilterThis filter will constrain edits not to make the length of the text greater than the specified length.
LayoutA base class that manages text layout in visual elements on the screen.
Layout.DirectionsStores information about bidirectional (left-to-right or right-to-left) text within the layout of a line.
LoginFilterAbstract class for filtering login-related text (user names and passwords)  
LoginFilter.PasswordFilterGMailThis filter is compatible with GMail passwords which restricts characters to the Latin-1 (ISO8859-1) char set.
LoginFilter.UsernameFilterGenericThis filter rejects characters in the user name that are not compatible with Google login.
LoginFilter.UsernameFilterGMailThis filter rejects characters in the user name that are not compatible with GMail account creation.
NoCopySpan.ConcreteConvenience equivalent for when you would just want a new Object() for a span but want it to be no-copy.
SelectionUtility class for manipulating cursors and selections in CharSequences.
Spannable.FactoryFactory used by TextView to create new Spannables.
SpannableStringThis is the class for text whose content is immutable but to which markup objects can be attached and detached.
SpannableStringBuilderThis is the class for text whose content and markup can both be changed.
SpannedStringThis is the class for text whose content and markup are immutable.
StaticLayoutStaticLayout is a Layout for text that will not be edited after it is laid out.
TextPaintTextPaint is an extension of Paint that leaves room for some extra data used during text measuring and drawing.
TextUtils
TextUtils.SimpleStringSplitterA simple string splitter.


Enums


package
android.text.format
Classes
DateFormatUtility class for producing strings with formatted date/time.
DateUtilsThis class contains various date-related utilities for creating text for things like elapsed time and date ranges, strings for days of the week and months, and AM/PM text etc.
FormatterUtility class to aid in formatting common values that are not covered by the Formatter class in java.util  
TimeAn alternative to the Calendar and GregorianCalendar classes.


package
java.text
Interfaces
AttributedCharacterIteratorExtends the CharacterIterator interface, adding support for iterating over attributes and not only characters.
CharacterIteratorAn interface for the bidirectional iteration over a group of characters.

Classes
AnnotationWrapper for a text attribute value which represents an annotation.
AttributedCharacterIterator.AttributeDefines keys for text attributes.
AttributedStringHolds a string with attributes describing the characters of this string.
BidiImplements the Unicode Bidirectional Algorithm.
BreakIteratorLocates boundaries in text.
ChoiceFormatReturns a fixed string based on a numeric value.
CollationElementIteratorCreated by a RuleBasedCollator to iterate through a string.
CollationKeyRepresents a string under the rules of a specific Collator object.
CollatorPerforms locale-sensitive string comparison.
DateFormatAn abstract class for date/time formatting subclasses which formats and parses dates or time in a language-independent manner.
DateFormat.FieldThe instances of this inner class are used as attribute keys and values in AttributedCharacterIteratorthat the formatToCharacterIterator(Object) method returns.
DateFormatSymbolsEncapsulates localized date-time formatting data, such as the names of the months, the names of the days of the week, and the time zone data.
DecimalFormatA concrete subclass of NumberFormat that formats decimal numbers.
DecimalFormatSymbolsEncapsulates the set of symbols (such as the decimal separator, the grouping separator, and so on) needed by DecimalFormat to format numbers.
FieldPositionIdentifies fields in formatted strings.
FormatThe base class for all formats.
Format.FieldInner class used to represent Format attributes in the AttributedCharacterIterator that theformatToCharacterIterator() method returns in Format subclasses.
MessageFormatProduces concatenated messages in language-neutral way.
MessageFormat.FieldThe instances of this inner class are used as attribute keys in AttributedCharacterIterator that theformatToCharacterIterator(Object) method returns.
NormalizerProvides normalization functions according to Unicode Standard Annex #15: Unicode Normalization Forms.
NumberFormatThe abstract base class for all number formats.
NumberFormat.FieldThe instances of this inner class are used as attribute keys and values in AttributedCharacterIteratorthat the formatToCharacterIterator(Object) method returns.
ParsePositionTracks the current position in a parsed string.
RuleBasedCollatorA concrete implementation class for Collation.
SimpleDateFormatA concrete class for formatting and parsing dates in a locale-sensitive manner.
StringCharacterIteratorAn implementation of CharacterIterator for strings.

Enums
Normalizer.FormThe normalization forms supported by the Normalizer.

Exceptions
ParseExceptionThrown when the string being parsed is not in the correct form.


package
java.util(partial)
Classes
CalendarCalendar is an abstract base class for converting between a Date object and a set of integer fields such as YEAR, MONTH, DAY, HOUR, and so on.
GregorianCalendarGregorianCalendar is a concrete subclass of Calendar and provides the standard calendar used by most of the world.
ListResourceBundleListResourceBundle is the abstract superclass of classes which provide resources by implementing the getContents() method to return the list of resources.
LocaleLocale represents a language/country/variant combination.
ResourceBundleResourceBundle is an abstract class which is the superclass of classes which provide Locale-specific resources.
ResourceBundle.ControlResourceBundle.Control is a static utility class defines ResourceBundle load access methods, its default access order is as the same as before.
SimpleTimeZoneSimpleTimeZone is a concrete subclass of TimeZone that represents a time zone for use with a Gregorian calendar.
TimeZone TimeZone represents a time zone, primarily used for configuring a Calendar or SimpleDateFormatinstance.


package
java.util.regex
Interfaces
MatchResultHolds the results of a successful match of a Pattern against a given string.

Classes
MatcherThe result of applying a Pattern to a given input.
PatternPatterns are compiled regular expressions.

Exceptions
PatternSyntaxExceptionEncapsulates a syntax error that occurred during the compilation of a Pattern.


09-18 21:56