pax_global_header00006660000000000000000000000064117264302560014520gustar00rootroot0000000000000052 comment=ae9dea8c2b8611ef0595ff780d074b7a1c795caa icu4j-4.4-4.4.2.2/000077500000000000000000000000001172643025600132105ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/APIChangeReport.html000066400000000000000000000652151172643025600170220ustar00rootroot00000000000000 ICU4J API Comparison: ICU4J 4.2.1 with ICU4J 4.4.1

ICU4J API Comparison: ICU4J 4.2.1 with ICU4J 4.4.1


Removed from ICU4J 4.2.1

Package com.ibm.icu.charset

Package com.ibm.icu.math

Package com.ibm.icu.text

Package com.ibm.icu.util


Withdrawn, Deprecated, or Obsoleted in ICU4J 4.4.1

Package com.ibm.icu.text

Package com.ibm.icu.util


Changed in ICU4J 4.4.1 (old, new)

Package com.ibm.icu.charset

Package com.ibm.icu.text

Package com.ibm.icu.util


Promoted to stable in ICU4J 4.4.1

Package com.ibm.icu.charset

Package com.ibm.icu.text

Package com.ibm.icu.util


Added in ICU4J 4.4.1

Package com.ibm.icu.charset

Package com.ibm.icu.lang

Package com.ibm.icu.text

Package com.ibm.icu.util


Contents generated by ReportAPI tool on Thu Apr 22 15:08:54 EDT 2010
Copyright (C) 2010, International Business Machines Corporation, All Rights Reserved.

icu4j-4.4-4.4.2.2/APIChangeReport441.html000066400000000000000000000016241172643025600172450ustar00rootroot00000000000000 ICU4J API Comparison: ICU4J 4.4 with ICU4J 4.4.1

ICU4J API Comparison: ICU4J 4.4 with ICU4J 4.4.1


Removed from ICU4J 4.4

(no API removed)


Withdrawn, Deprecated, or Obsoleted in ICU4J 4.4.1

(no API obsoleted)


Changed in ICU4J 4.4.1 (old, new)

(no API changed)


Promoted to stable in ICU4J 4.4.1

(no API promoted)


Added in ICU4J 4.4.1

(no API added)


Contents generated by ReportAPI tool on Fri Apr 23 10:40:31 EDT 2010
Copyright (C) 2010, International Business Machines Corporation, All Rights Reserved.

icu4j-4.4-4.4.2.2/APIChangeReport442.html000066400000000000000000000016241172643025600172460ustar00rootroot00000000000000 ICU4J API Comparison: ICU4J 4.4 with ICU4J 4.4.2

ICU4J API Comparison: ICU4J 4.4 with ICU4J 4.4.2


Removed from ICU4J 4.4

(no API removed)


Withdrawn, Deprecated, or Obsoleted in ICU4J 4.4.2

(no API obsoleted)


Changed in ICU4J 4.4.2 (old, new)

(no API changed)


Promoted to stable in ICU4J 4.4.2

(no API promoted)


Added in ICU4J 4.4.2

(no API added)


Contents generated by ReportAPI tool on Wed Sep 29 11:02:13 EDT 2010
Copyright (C) 2010, International Business Machines Corporation, All Rights Reserved.

icu4j-4.4-4.4.2.2/build.properties000066400000000000000000000006021172643025600164230ustar00rootroot00000000000000#******************************************************************************* #* Copyright (C) 2009-2011, International Business Machines Corporation and * #* others. All Rights Reserved. * #******************************************************************************* api.report.version = 4422 api.report.prev.version = 421 icu4j-4.4-4.4.2.2/build.xml000066400000000000000000001763271172643025600150510ustar00rootroot00000000000000
icu4j-4.4-4.4.2.2/demos/000077500000000000000000000000001172643025600143175ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/.classpath000066400000000000000000000010241172643025600162770ustar00rootroot00000000000000 icu4j-4.4-4.4.2.2/demos/.project000066400000000000000000000007271172643025600157740ustar00rootroot00000000000000 icu4j-demos icu4j-charset icu4j-core icu4j-shared org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature icu4j-4.4-4.4.2.2/demos/.settings/000077500000000000000000000000001172643025600162355ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/.settings/org.eclipse.core.resources.prefs000066400000000000000000000001251172643025600244460ustar00rootroot00000000000000#Wed Aug 31 03:50:12 EDT 2011 eclipse.preferences.version=1 encoding/=UTF-8 icu4j-4.4-4.4.2.2/demos/.settings/org.eclipse.jdt.core.prefs000066400000000000000000000640751172643025600232330ustar00rootroot00000000000000#Fri Aug 28 16:05:27 EDT 2009 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=ignore org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning org.eclipse.jdt.core.compiler.problem.deadCode=ignore org.eclipse.jdt.core.compiler.problem.deprecation=ignore org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.nullReference=warning org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled org.eclipse.jdt.core.compiler.problem.unusedImport=warning org.eclipse.jdt.core.compiler.problem.unusedLabel=warning org.eclipse.jdt.core.compiler.problem.unusedLocal=warning org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.5 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_assignment=0 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 org.eclipse.jdt.core.formatter.blank_lines_after_package=1 org.eclipse.jdt.core.formatter.blank_lines_before_field=0 org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 org.eclipse.jdt.core.formatter.blank_lines_before_method=1 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 org.eclipse.jdt.core.formatter.blank_lines_before_package=0 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false org.eclipse.jdt.core.formatter.comment.format_block_comments=true org.eclipse.jdt.core.formatter.comment.format_header=false org.eclipse.jdt.core.formatter.comment.format_html=true org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true org.eclipse.jdt.core.formatter.comment.format_line_comments=true org.eclipse.jdt.core.formatter.comment.format_source_code=true org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true org.eclipse.jdt.core.formatter.comment.indent_root_tags=true org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert org.eclipse.jdt.core.formatter.comment.line_length=120 org.eclipse.jdt.core.formatter.compact_else_if=true org.eclipse.jdt.core.formatter.continuation_indentation=2 org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true org.eclipse.jdt.core.formatter.indent_empty_lines=false org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false org.eclipse.jdt.core.formatter.indentation.size=4 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false org.eclipse.jdt.core.formatter.lineSplit=120 org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.core.formatter.tabulation.size=4 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true icu4j-4.4-4.4.2.2/demos/.settings/org.eclipse.jdt.ui.prefs000066400000000000000000000127261172643025600227140ustar00rootroot00000000000000#Tue Jun 09 16:57:19 EDT 2009 eclipse.preferences.version=1 formatter_profile=_ICU4J Standard formatter_settings_version=11 org.eclipse.jdt.ui.javadoc=false org.eclipse.jdt.ui.text.custom_code_templates= icu4j-4.4-4.4.2.2/demos/build.properties000066400000000000000000000005401172643025600175330ustar00rootroot00000000000000#******************************************************************************* #* Copyright (C) 2009, International Business Machines Corporation and * #* others. All Rights Reserved. * #******************************************************************************* shared.dir = ../main/shared icu4j-4.4-4.4.2.2/demos/build.xml000066400000000000000000000024261172643025600161440ustar00rootroot00000000000000 icu4j-4.4-4.4.2.2/demos/demos-build.launch000066400000000000000000000032071172643025600177210ustar00rootroot00000000000000 icu4j-4.4-4.4.2.2/demos/manifest.stub000066400000000000000000000006301172643025600170230ustar00rootroot00000000000000Manifest-Version: 1.0 Main-Class: com.ibm.icu.dev.demo.Launcher Class-Path: icu4j.jar Name: com/ibm/icu/dev/demo Specification-Title: ICU for Java Demo Specification-Version: @SPECVERSION@ Specification-Vendor: ICU Implementation-Title: ICU for Java Demo Implementation-Version: @IMPLVERSION@ Implementation-Vendor: IBM Corporation Implementation-Vendor-Id: com.ibm Copyright-Info: @COPYRIGHT@ icu4j-4.4-4.4.2.2/demos/src/000077500000000000000000000000001172643025600151065ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/000077500000000000000000000000001172643025600156645ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/000077500000000000000000000000001172643025600164335ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/000077500000000000000000000000001172643025600172135ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/000077500000000000000000000000001172643025600177715ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/000077500000000000000000000000001172643025600207155ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/Launcher.java000066400000000000000000000155711172643025600233320ustar00rootroot00000000000000/* ******************************************************************************* * Copyright (C) 2007, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Label; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import com.ibm.icu.dev.demo.impl.DemoApplet; import com.ibm.icu.dev.demo.impl.DemoUtility; import com.ibm.icu.util.VersionInfo; /** * @author srl * Application to provide a panel of demos to launch */ public class Launcher extends DemoApplet { private static final long serialVersionUID = -8054963875776183877L; /** * base package of all demos */ public static final String demoBase = "com.ibm.icu.dev.demo"; /** * list of classes, relative to the demoBase. all must have a static void main(String[]) */ public static final String demoList[] = { "calendar.CalendarApp", "charsetdet.DetectingViewer", "holiday.HolidayCalendarDemo", // "number.CurrencyDemo", -- console // "rbbi.DBBIDemo", // "rbbi.RBBIDemo", // "rbbi.TextBoundDemo", "rbnf.RbnfDemo", // "timescale.PivotDemo", -- console "translit.Demo", }; public class LauncherFrame extends Frame implements ActionListener { private static final long serialVersionUID = -8054963875776183878L; public Button buttonList[] = new Button[demoList.length]; // one button for each demo public Label statusLabel; private DemoApplet applet; LauncherFrame(DemoApplet applet) { init(); this.applet = applet; } public void init() { // close down when close is clicked. // TODO: this should be factored.. addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { setVisible(false); dispose(); if (applet != null) { applet.demoClosed(); } else System.exit(0); } } ); setBackground(DemoUtility.bgColor); setLayout(new BorderLayout()); Panel topPanel = new Panel(); topPanel.setLayout(new GridLayout(5,3)); for(int i=0;i 0 && locales[i].getLanguage().equals(locales[i-1].getLanguage()) || i < locales.length - 1 && locales[i].getLanguage().equals(locales[i+1].getLanguage())) { localeMenu.addItem( locales[i].getDisplayName() ); } else { localeMenu.addItem( locales[i].getDisplayLanguage()); } thisMatch = DemoUtility.compareLocales(locales[i], defaultLocale); if (thisMatch >= bestMatch) { bestMatch = thisMatch; selectMe = i; } } localeMenu.setBackground(DemoUtility.choiceColor); localeMenu.select(selectMe); Label localeLabel =new Label("Display Locale"); localeLabel.setFont(DemoUtility.labelFont); localePanel.add(localeLabel); localePanel.add(localeMenu); DemoUtility.fixGrid(localePanel,2); localeMenu.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { Locale loc = locales[localeMenu.getSelectedIndex()]; System.out.println("Change locale to " + loc.getDisplayName()); for (int i = 0; i < calendars.length; i++) { calendars[i].setLocale(loc); } millisFormat(); } } ); } add(rollAddPanel); add(DemoUtility.createSpacer()); add(localePanel); add(DemoUtility.createSpacer()); // COPYRIGHT Panel copyrightPanel = new Panel(); addWithFont (copyrightPanel,new Label(DemoUtility.copyright1, Label.LEFT), DemoUtility.creditFont); DemoUtility.fixGrid(copyrightPanel,1); add(copyrightPanel); } /** * This function is called when users change the pattern text. */ public void setFormatFromPattern() { String timePattern = patternText.getText(); for (int i = 0; i < calendars.length; i++) { calendars[i].applyPattern(timePattern); } millisFormat(); } /** * This function is called when it is necessary to parse the time * string in one of the formatted date fields */ public void textChanged(int index) { String rightString = calendars[index].text.getText(); ParsePosition status = new ParsePosition(0); if (rightString.length() == 0) { errorText("Error: no input to parse!"); return; } try { Date date = calendars[index].format.parse(rightString, status); time = date.getTime(); } catch (Exception e) { for (int i = 0; i < calendars.length; i++) { if (i != index) { calendars[i].text.setText("ERROR"); } } errorText("Exception: " + e.getClass().toString() + " parsing: "+rightString); return; } int start = calendars[index].text.getSelectionStart(); int end = calendars[index].text.getSelectionEnd(); millisFormat(); calendars[index].text.select(start,end); } /** * This function is called when it is necessary to format the time * in the "Millis" text field. */ public void millisFormat() { String out = ""; for (int i = 0; i < calendars.length; i++) { try { out = calendars[i].format.format(new Date(time)); calendars[i].text.setText(out); } catch (Exception e) { calendars[i].text.setText("ERROR"); errorText("Exception: " + e.getClass().toString() + " formatting " + calendars[i].name + " " + time); } } } /** * This function is called when users change the pattern text. */ public void patternTextChanged() { setFormatFromPattern(); } /** * This function is called when users select a new representative city. */ public void cityChanged() { TimeZone timeZone = TimeZone.getDefault(); for (int i = 0; i < calendars.length; i++) { calendars[i].format.setTimeZone(timeZone); } millisFormat(); } /** * This function is called when users select a new time field * to add or roll its value. */ public void dateFieldChanged(boolean isUp) { int field = kRollAddFields[dateMenu.getSelectedIndex()].field; for (int i = 0; i < calendars.length; i++) { if (calendars[i].rollAdd.getState()) { Calendar c = calendars[i].calendar; c.setTime(new Date(time)); if (getAdd.getState()) { c.add(field, isUp ? 1 : -1); } else { c.roll(field, isUp); } time = c.getTime().getTime(); millisFormat(); break; } } } /** * Print out the error message while debugging this program. */ public void errorText(String s) { if (true) { System.out.println(s); } } /** * Called if an action occurs in the CalendarCalcFrame object. */ public void actionPerformed(ActionEvent evt) { // *** Button events are handled here. Object obj = evt.getSource(); System.out.println("action " + obj); if (obj instanceof Button) { if (evt.getSource() == up) { dateFieldChanged(false); } else if (evt.getSource() == down) { dateFieldChanged(true); } } } /** * Handles the event. Returns true if the event is handled and should not * be passed to the parent of this component. The default event handler * calls some helper methods to make life easier on the programmer. */ protected void processKeyEvent(KeyEvent evt) { System.out.println("key " + evt); if (evt.getID() == KeyEvent.KEY_RELEASED) { if (evt.getSource() == patternText) { patternTextChanged(); } else { for (int i = 0; i < calendars.length; i++) { if (evt.getSource() == calendars[i].text) { textChanged(i); } } } } } protected void processWindowEvent(WindowEvent evt) { System.out.println("window " + evt); if (evt.getID() == WindowEvent.WINDOW_CLOSING && evt.getSource() == this) { this.hide(); this.dispose(); if (applet != null) { applet.demoClosed(); } else System.exit(0); } } /* protected void processEvent(AWTEvent evt) { if (evt.getID() == AWTEvent. Event.ACTION_EVENT && evt.target == up) { dateFieldChanged(true); return true; } else if (evt.id == Event.ACTION_EVENT && evt.target == down) { dateFieldChanged(false); return true; } } */ private static final int FIELD_COLUMNS = 35; class CalendarRec { public CalendarRec(String nameStr, Calendar cal) { name = nameStr; calendar = cal; rollAdd = new Checkbox(); text = new JTextField("",FIELD_COLUMNS); text.setFont(DemoUtility.editFont); format = DateFormat.getDateInstance(cal, DateFormat.FULL, Locale.getDefault()); //format.applyPattern(DEFAULT_FORMAT); } public void setLocale(Locale loc) { String pattern = toPattern(); format = DateFormat.getDateInstance(calendar, DateFormat.FULL, loc); applyPattern(pattern); } public void applyPattern(String pattern) { if (format instanceof SimpleDateFormat) { ((SimpleDateFormat)format).applyPattern(pattern); //hey {al} - // } else if (format instanceof java.text.SimpleDateFormat) { // ((java.text.SimpleDateFormat)format).applyPattern(pattern); } } private String toPattern() { if (format instanceof SimpleDateFormat) { return ((SimpleDateFormat)format).toPattern(); //hey {al} - // } else if (format instanceof java.text.SimpleDateFormat) { // return ((java.text.SimpleDateFormat)format).toPattern(); } return ""; } Calendar calendar; DateFormat format; String name; JTextField text; Checkbox rollAdd; } private final CalendarRec[] calendars = { new CalendarRec("Gregorian", new GregorianCalendar()), new CalendarRec("Hebrew", new HebrewCalendar()), new CalendarRec("Islamic (civil)", makeIslamic(true)), new CalendarRec("Islamic (true)", makeIslamic(false)), new CalendarRec("Buddhist", new BuddhistCalendar()), new CalendarRec("Japanese", new JapaneseCalendar()), // new CalendarRec("Chinese", new ChineseCalendar()), }; static private final Calendar makeIslamic(boolean civil) { IslamicCalendar cal = new IslamicCalendar(); cal.setCivil(civil); return cal; } } class RollAddField { RollAddField(int field, String name) { this.field = field; this.name = name; } int field; String name; } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/calendar/CalendarFrame.java000066400000000000000000000362051172643025600260230ustar00rootroot00000000000000/* ******************************************************************************* * Copyright (C) 1997-2007, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.calendar; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Choice; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Frame; import java.awt.Graphics; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Label; import java.awt.Panel; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Date; import java.util.Locale; import com.ibm.icu.dev.demo.impl.DemoApplet; import com.ibm.icu.dev.demo.impl.DemoUtility; import com.ibm.icu.text.DateFormat; import com.ibm.icu.util.BuddhistCalendar; import com.ibm.icu.util.Calendar; import com.ibm.icu.util.GregorianCalendar; import com.ibm.icu.util.HebrewCalendar; import com.ibm.icu.util.IslamicCalendar; import com.ibm.icu.util.JapaneseCalendar; import com.ibm.icu.util.SimpleTimeZone; /** * A Frame is a top-level window with a title. The default layout for a frame * is BorderLayout. The CalendarFrame class defines the window layout of * CalendarDemo. */ class CalendarFrame extends Frame { /** * For serialization */ private static final long serialVersionUID = -4289697663503820619L; private static final boolean DEBUG = false; private DemoApplet applet; /** * Constructs a new CalendarFrame that is initially invisible. */ public CalendarFrame(DemoApplet myApplet) { super("Calendar Demo"); this.applet = myApplet; init(); // When the window is closed, we want to shut down the applet or application addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { setVisible(false); dispose(); if (applet != null) { applet.demoClosed(); } else System.exit(0); } } ); } private Choice displayMenu; private Locale[] locales = DemoUtility.getG7Locales(); private Calendar calendars[] = new Calendar[2]; private Choice calMenu[] = new Choice[2]; private ColoredLabel monthLabel[] = new ColoredLabel[2]; private DateFormat monthFormat[] = new DateFormat[2]; private Button prevYear; private Button prevMonth; private Button gotoToday; private Button nextMonth; private Button nextYear; private CalendarPanel calendarPanel; private static void add(Container container, Component component, GridBagLayout g, GridBagConstraints c, int gridwidth, int weightx) { c.gridwidth = gridwidth; c.weightx = weightx; g.setConstraints(component, c); container.add(component); } /** * Initializes the applet. You never need to call this directly, it * is called automatically by the system once the applet is created. */ public void init() { setBackground(DemoUtility.bgColor); setLayout(new BorderLayout(10,10)); Panel topPanel = new Panel(); GridBagLayout g = new GridBagLayout(); topPanel.setLayout(g); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.HORIZONTAL; // Build the two menus for selecting which calendar is displayed, // plus the month/year label for each calendar for (int i = 0; i < 2; i++) { calMenu[i] = new Choice(); for (int j = 0; j < CALENDARS.length; j++) { calMenu[i].addItem(CALENDARS[j].name); } calMenu[i].setBackground(DemoUtility.choiceColor); calMenu[i].select(i); calMenu[i].addItemListener(new CalMenuListener()); // Label for the current month name monthLabel[i] = new ColoredLabel("", COLORS[i]); monthLabel[i].setFont(DemoUtility.titleFont); // And the default calendar to use for this slot calendars[i] = CALENDARS[i].calendar; add(topPanel, calMenu[i], g, c, 5, 0); add(topPanel, monthLabel[i], g, c, GridBagConstraints.REMAINDER, 1); } // Now add the next/previous year/month buttons: prevYear = new Button("<<"); prevYear.addActionListener(new AddAction(Calendar.YEAR, -1)); prevMonth = new Button("<"); prevMonth.addActionListener(new AddAction(Calendar.MONTH, -1)); gotoToday = new Button("Today"); gotoToday.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { calendarPanel.setDate( new Date() ); updateMonthName(); } } ); nextMonth = new Button(">"); nextMonth.addActionListener(new AddAction(Calendar.MONTH, 1)); nextYear = new Button(">>"); nextYear.addActionListener(new AddAction(Calendar.YEAR, 1)); c.fill = GridBagConstraints.NONE; add(topPanel, prevYear, g, c, 1, 0); add(topPanel, prevMonth, g, c, 1, 0); add(topPanel, gotoToday, g, c, 1, 0); add(topPanel, nextMonth, g, c, 1, 0); add(topPanel, nextYear, g, c, 1, 0); // Now add the menu for selecting the display language Panel displayPanel = new Panel(); { displayMenu = new Choice(); Locale defaultLocale = Locale.getDefault(); int bestMatch = -1, thisMatch = -1; int selectMe = 0; for (int i = 0; i < locales.length; i++) { if (i > 0 && locales[i].getLanguage().equals(locales[i-1].getLanguage()) || i < locales.length - 1 && locales[i].getLanguage().equals(locales[i+1].getLanguage())) { displayMenu.addItem( locales[i].getDisplayName() ); } else { displayMenu.addItem( locales[i].getDisplayLanguage()); } thisMatch = DemoUtility.compareLocales(locales[i], defaultLocale); if (thisMatch >= bestMatch) { bestMatch = thisMatch; selectMe = i; } } displayMenu.setBackground(DemoUtility.choiceColor); displayMenu.select(selectMe); displayMenu.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { Locale loc = locales[displayMenu.getSelectedIndex()]; calendarPanel.setLocale( loc ); monthFormat[0] = monthFormat[1] = null; updateMonthName(); repaint(); } } ); Label l1 = new Label("Display Language:", Label.RIGHT); l1.setFont(DemoUtility.labelFont); displayPanel.setLayout(new FlowLayout()); displayPanel.add(l1); displayPanel.add(displayMenu); } c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.EAST; add(topPanel, displayPanel, g, c, GridBagConstraints.REMAINDER, 0); // The title, buttons, etc. go in a panel at the top of the window add("North", topPanel); // The copyright notice goes at the bottom of the window Label copyright = new Label(DemoUtility.copyright1, Label.LEFT); copyright.setFont(DemoUtility.creditFont); add("South", copyright); // Now create the big calendar panel and stick it in the middle calendarPanel = new CalendarPanel( locales[displayMenu.getSelectedIndex()] ); add("Center", calendarPanel); for (int i = 0; i < 2; i++) { calendarPanel.setCalendar(i, calendars[i]); calendarPanel.setColor(i, COLORS[i]); } updateMonthName(); } private void updateMonthName() { for (int i = 0; i < 2; i++) { try { if (monthFormat[i] == null) { // TODO: optimize DateFormat f = DateFormat.getDateTimeInstance( calendars[i], DateFormat.MEDIUM, -1, locales[displayMenu.getSelectedIndex()]); if (f instanceof com.ibm.icu.text.SimpleDateFormat) { com.ibm.icu.text.SimpleDateFormat f1 = (com.ibm.icu.text.SimpleDateFormat) f; f1.applyPattern("MMMM, yyyy G"); f1.setTimeZone(new SimpleTimeZone(0, "UTC")); } monthFormat[i] = f; } } catch (ClassCastException e) { //hey {lw} - there's something wrong in this routine that cuases exceptions. System.out.println(e); } monthLabel[i].setText( monthFormat[i].format( calendarPanel.firstOfMonth() )); } } /** * CalMenuListener responds to events in the two popup menus that select * the calendar systems to be used in the display. It figures out which * of the two menus the event occurred in and updates the corresponding * element of the calendars[] array to match the new selection. */ private class CalMenuListener implements ItemListener { public void itemStateChanged(ItemEvent e) { for (int i = 0; i < calMenu.length; i++) { if (e.getItemSelectable() == calMenu[i]) { // We found the menu that the event happened in. // Figure out which new calendar they selected. Calendar newCal = CALENDARS[ calMenu[i].getSelectedIndex() ].calendar; if (newCal != calendars[i]) { // If any of the other menus are set to the same new calendar // we're about to use for this menu, set them to the current // calendar from *this* menu so we won't have two the same for (int j = 0; j < calendars.length; j++) { if (j != i && calendars[j] == newCal) { calendars[j] = calendars[i]; calendarPanel.setCalendar(j, calendars[j]); monthFormat[j] = null; for (int k = 0; k < CALENDARS.length; k++) { if (calendars[j] == CALENDARS[k].calendar) { calMenu[j].select(k); break; } } } } // Now update this menu to use the new calendar the user selected calendars[i] = newCal; calendarPanel.setCalendar(i, newCal); monthFormat[i] = null; updateMonthName(); } break; } } } } /** * AddAction handles the next/previous year/month buttons... */ private class AddAction implements ActionListener { AddAction(int field, int amount) { this.field = field; this.amount = amount; } public void actionPerformed(ActionEvent e) { calendarPanel.add(field, amount); updateMonthName(); } private int field, amount; } /** * ColoredLabel is similar to java.awt.Label, with two differences: * * - You can set its text color * * - It draws text using drawString rather than using a host-specific * "Peer" object like AWT does. On 1.2, using drawString gives * us Bidi reordering for free. */ static private class ColoredLabel extends Component { /** * For serialization */ private static final long serialVersionUID = 5004484960341875722L; public ColoredLabel(String label) { text = label; } public ColoredLabel(String label, Color c) { text = label; color = c; } public void setText(String label) { text = label; repaint(); } public void setFont(Font f) { font = f; repaint(); } public void paint(Graphics g) { FontMetrics fm = g.getFontMetrics(font); Rectangle bounds = getBounds(); g.setColor(color); g.setFont(font); g.drawString(text, fm.stringWidth("\u00a0"), bounds.height/2 + fm.getHeight() - fm.getAscent() + fm.getLeading()/2); } public Dimension getPreferredSize() { return getMinimumSize(); } public Dimension getMinimumSize() { FontMetrics fm = getFontMetrics(font); return new Dimension( fm.stringWidth(text) + 2*fm.stringWidth("\u00a0"), fm.getHeight() + fm.getLeading()*2); } String text; Color color = Color.black; Font font = DemoUtility.labelFont; } /** * Print out the error message while debugging this program. */ public void errorText(String s) { if (DEBUG) { System.out.println(s); } } class CalendarRec { public CalendarRec(String nameStr, Calendar cal) { name = nameStr; calendar = cal; } Calendar calendar; String name; } private final CalendarRec[] CALENDARS = { new CalendarRec("Gregorian Calendar", new GregorianCalendar()), new CalendarRec("Hebrew Calendar", new HebrewCalendar()), new CalendarRec("Islamic Calendar", makeIslamic(false)), new CalendarRec("Islamic Civil Calendar ", makeIslamic(true)), new CalendarRec("Buddhist Calendar", new BuddhistCalendar()), new CalendarRec("Japanese Calendar", new JapaneseCalendar()), }; static private final Calendar makeIslamic(boolean civil) { IslamicCalendar cal = new IslamicCalendar(); cal.setCivil(civil); return cal; } static final Color[] COLORS = { Color.blue, Color.black }; } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/calendar/CalendarPanel.java000066400000000000000000000300011172643025600260140ustar00rootroot00000000000000/* ******************************************************************************* * Copyright (C) 1997-2007, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.calendar; import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Point; import java.util.Date; import java.util.Locale; import com.ibm.icu.dev.demo.impl.DemoUtility; import com.ibm.icu.text.DateFormatSymbols; import com.ibm.icu.util.Calendar; import com.ibm.icu.util.SimpleTimeZone; class CalendarPanel extends Canvas { /** * For serialization */ private static final long serialVersionUID = 625400018027387141L; public CalendarPanel( Locale locale ) { setLocale(locale); } public void setLocale(Locale locale) { if (fDisplayLocale == null || !fDisplayLocale.equals(locale)) { fDisplayLocale = locale; dirty = true; for (int i = 0; i < fCalendar.length; i++) { if (fCalendar[i] != null) { fSymbols[i] = new DateFormatSymbols(fCalendar[i], fDisplayLocale); } } String lang = locale.getLanguage(); leftToRight = !(lang.equals("iw") || lang.equals("ar")); repaint(); } } public void setDate(Date date) { fStartOfMonth = date; dirty = true; repaint(); } public void add(int field, int delta) { synchronized(fCalendar) { fCalendar[0].setTime(fStartOfMonth); fCalendar[0].add(field, delta); fStartOfMonth = fCalendar[0].getTime(); } dirty = true; repaint(); } public void setColor(int index, Color c) { fColor[index] = c; repaint(); } public void setCalendar(int index, Calendar c) { Date date = (fCalendar[index] == null) ? new Date() : fCalendar[index].getTime(); fCalendar[index] = c; fCalendar[index].setTime(date); fSymbols[index] = new DateFormatSymbols(c, fDisplayLocale); dirty = true; repaint(); } public Calendar getCalendar(int index) { return fCalendar[index]; } public Locale getDisplayLocale() { return fDisplayLocale; } public Date firstOfMonth() { return fStartOfMonth; } private Date startOfMonth(Date dateInMonth) { synchronized(fCalendar) { fCalendar[0].setTime(dateInMonth); int era = fCalendar[0].get(Calendar.ERA); int year = fCalendar[0].get(Calendar.YEAR); int month = fCalendar[0].get(Calendar.MONTH); fCalendar[0].clear(); fCalendar[0].set(Calendar.ERA, era); fCalendar[0].set(Calendar.YEAR, year); fCalendar[0].set(Calendar.MONTH, month); fCalendar[0].set(Calendar.DATE, 1); return fCalendar[0].getTime(); } } private void calculate() { // // As a workaround for JDK 1.1.3 and below, where Calendars and time // zones are a bit goofy, always set my calendar's time zone to UTC. // You would think I would want to do this in the "set" function above, // but if I do that, the program hangs when this class is loaded, // perhaps due to some sort of static initialization ordering problem. // So I do it here instead. // fCalendar[0].setTimeZone(new SimpleTimeZone(0, "UTC")); Calendar c = (Calendar)fCalendar[0].clone(); // Temporary copy fStartOfMonth = startOfMonth(fStartOfMonth); // Stash away a few useful constants for this calendar and display minDay = c.getMinimum(Calendar.DAY_OF_WEEK); daysInWeek = c.getMaximum(Calendar.DAY_OF_WEEK) - minDay + 1; firstDayOfWeek = Calendar.getInstance(fDisplayLocale).getFirstDayOfWeek(); // Stash away a Date for the start of this month // Find the day of week of the first day in this month c.setTime(fStartOfMonth); firstDayInMonth = c.get(Calendar.DAY_OF_WEEK); int firstWeek = c.get(Calendar.WEEK_OF_MONTH); // Now find the # of days in the month c.roll(Calendar.DATE, false); daysInMonth = c.get(Calendar.DATE); // Finally, find the end of the month, i.e. the start of the next one c.roll(Calendar.DATE, true); c.add(Calendar.MONTH, 1); c.getTime(); // JDK 1.1.2 bug workaround c.add(Calendar.SECOND, -1); Date endOfMonth = c.getTime(); if(endOfMonth==null){ //do nothing } endOfMonth = null; int lastWeek = c.get(Calendar.WEEK_OF_MONTH); // Calculate the number of full or partial weeks in this month. numWeeks = lastWeek - firstWeek + 1; dirty = false; } static final int XINSET = 4; static final int YINSET = 2; /* * Convert from the day number within a month (1-based) * to the cell coordinates on the calendar (0-based) */ private void dateToCell(int date, Point pos) { int cell = (date + firstDayInMonth - firstDayOfWeek - minDay); if (firstDayInMonth < firstDayOfWeek) { cell += daysInWeek; } pos.x = cell % daysInWeek; pos.y = cell / daysInWeek; } //private Point dateToCell(int date) { // Point p = new Point(0,0); // dateToCell(date, p); // return p; //} public void paint(Graphics g) { if (dirty) { calculate(); } Point cellPos = new Point(0,0); // Temporary variable Dimension d = this.getSize(); g.setColor(Color.lightGray); g.fillRect(0,0,d.width,d.height); // Draw the day names at the top g.setColor(Color.black); g.setFont(DemoUtility.labelFont); FontMetrics fm = g.getFontMetrics(); int labelHeight = fm.getHeight() + YINSET * 2; int v = fm.getAscent() + YINSET; for (int i = 0; i < daysInWeek; i++) { int dayNum = (i + minDay + firstDayOfWeek - 2) % daysInWeek + 1; String dayName = fSymbols[0].getWeekdays()[dayNum]; double h; if (leftToRight) { h = d.width*(i + 0.5) / daysInWeek; } else { h = d.width*(daysInWeek - i - 0.5) / daysInWeek; } h -= fm.stringWidth(dayName) / 2; g.drawString(dayName, (int)h, v); } double cellHeight = (d.height - labelHeight - 1) / numWeeks; double cellWidth = (double)(d.width - 1) / daysInWeek; // Draw a white background in the part of the calendar // that displays this month. // First figure out how much of the first week should be shaded. { g.setColor(Color.white); dateToCell(1, cellPos); int width = (int)(cellPos.x*cellWidth); // Width of unshaded area if (leftToRight) { g.fillRect((int)(width), labelHeight , d.width - width, (int)cellHeight); } else { g.fillRect(0, labelHeight , d.width - width, (int)cellHeight); } // All of the intermediate weeks get shaded completely g.fillRect(0, (int)(labelHeight + cellHeight), d.width, (int)(cellHeight * (numWeeks - 2))); // Now figure out the last week. dateToCell(daysInMonth, cellPos); width = (int)((cellPos.x+1)*cellWidth); // Width of shaded area if (leftToRight) { g.fillRect(0, (int)(labelHeight + (numWeeks-1) * cellHeight), width, (int)cellHeight); } else { g.fillRect(d.width - width, (int)(labelHeight + (numWeeks-1) * cellHeight), width, (int)cellHeight); } } // Draw the X/Y grid lines g.setColor(Color.black); for (int i = 0; i <= numWeeks; i++) { int y = (int)(labelHeight + i * cellHeight); g.drawLine(0, y, d.width - 1, y); } for (int i = 0; i <= daysInWeek; i++) { int x = (int)(i * cellWidth); g.drawLine(x, labelHeight, x, d.height - 1); } // Now loop through all of the days in the month, figure out where // they go in the grid, and draw the day # for each one // Figure out the date of the first cell in the calendar display int cell = (1 + firstDayInMonth - firstDayOfWeek - minDay); if (firstDayInMonth < firstDayOfWeek) { cell += daysInWeek; } Calendar c = (Calendar)fCalendar[0].clone(); c.setTime(fStartOfMonth); c.add(Calendar.DATE, -cell); StringBuffer buffer = new StringBuffer(); for (int row = 0; row < numWeeks; row++) { for (int col = 0; col < daysInWeek; col++) { g.setFont(DemoUtility.numberFont); g.setColor(Color.black); fm = g.getFontMetrics(); int cellx; if (leftToRight) { cellx = (int)((col) * cellWidth); } else { cellx = (int)((daysInWeek - col - 1) * cellWidth); } int celly = (int)(row * cellHeight + labelHeight); for (int i = 0; i < 2; i++) { fCalendar[i].setTime(c.getTime()); int date = fCalendar[i].get(Calendar.DATE); buffer.setLength(0); buffer.append(date); String dayNum = buffer.toString(); int x; if (leftToRight) { x = cellx + (int)cellWidth - XINSET - fm.stringWidth(dayNum); } else { x = cellx + XINSET; } int y = celly + + fm.getAscent() + YINSET + i * fm.getHeight(); if (fColor[i] != null) { g.setColor(fColor[i]); } g.drawString(dayNum, x, y); if (date == 1 || row == 0 && col == 0) { g.setFont(DemoUtility.numberFont); String month = fSymbols[i].getMonths()[ fCalendar[i].get(Calendar.MONTH)]; if (leftToRight) { x = cellx + XINSET; } else { x = cellx + (int)cellWidth - XINSET - fm.stringWidth(month); } g.drawString(month, x, y); } } c.add(Calendar.DATE, 1); } } } // Important state variables private Calendar[] fCalendar = new Calendar[4]; private Color[] fColor = new Color[4]; private Locale fDisplayLocale; private DateFormatSymbols[] fSymbols = new DateFormatSymbols[4]; private Date fStartOfMonth = new Date(); // 00:00:00 on first day of month // Cached calculations to make drawing faster. private transient int minDay; // Minimum legal day # private transient int daysInWeek; // # of days in a week private transient int firstDayOfWeek; // First day to display in week private transient int numWeeks; // # full or partial weeks in month private transient int daysInMonth; // # days in this month private transient int firstDayInMonth; // Day of week of first day in month private transient boolean leftToRight; private transient boolean dirty = true; } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/calendar/package.html000066400000000000000000000004421172643025600247470ustar00rootroot00000000000000 Calendar demo applications including date/time arithmetic. icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/charsetdet/000077500000000000000000000000001172643025600230435ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/charsetdet/DetectingViewer.java000066400000000000000000000301541172643025600270010ustar00rootroot00000000000000/* ************************************************************************** * Copyright (C) 2005-2010, International Business Machines Corporation * * and others. All Rights Reserved. * ************************************************************************** * */ package com.ibm.icu.dev.demo.charsetdet; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.nio.ByteBuffer; import java.nio.charset.Charset; import java.security.AccessControlException; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextPane; import javax.swing.KeyStroke; import com.ibm.icu.charset.CharsetICU; import com.ibm.icu.dev.demo.impl.DemoApplet; import com.ibm.icu.text.CharsetDetector; import com.ibm.icu.text.CharsetMatch; /** * This simple application demonstrates how to use the CharsetDetector API. It * opens a file or web page, detects the encoding, and then displays it using that * encoding. */ public class DetectingViewer extends JFrame implements ActionListener { /** * For serialization */ private static final long serialVersionUID = -2307065724464747775L; private JTextPane text; private JFileChooser fileChooser; /** * @throws java.awt.HeadlessException */ public DetectingViewer() { super(); DemoApplet.demoFrameOpened(); try { fileChooser = new JFileChooser(); } catch (AccessControlException ace) { System.err.println("no file chooser - access control exception. Continuing without file browsing. "+ace.toString()); fileChooser = null; // } // setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(800, 800); setJMenuBar(makeMenus()); text = new JTextPane(); text.setContentType("text/plain"); text.setText(""); text.setSize(800, 800); Font font = new Font("Arial Unicode MS", Font.PLAIN, 24); text.setFont(font); JScrollPane scrollPane = new JScrollPane(text); getContentPane().add(scrollPane); setVisible(true); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { // setVisible(false); // dispose(); doQuit(); } } ); } public void actionPerformed(ActionEvent event) { String cmd = event.getActionCommand(); if (cmd.equals("New...")) { doNew(); } else if (cmd.equals("Open File...")) { doOpenFile(); } else if (cmd.equals("Open URL...")) { doOpenURL(); } else if (cmd.equals("Quit")) { doQuit(); } } public static void main(String[] args) { new DetectingViewer(); } private void errorDialog(String title, String msg) { JOptionPane.showMessageDialog(this, msg, title, JOptionPane.ERROR_MESSAGE); } private BufferedInputStream openFile(File file) { FileInputStream fileStream = null; try { fileStream = new FileInputStream(file); } catch (Exception e) { errorDialog("Error Opening File", e.getMessage()); return null; } return new BufferedInputStream(fileStream); } // private void openFile(String directory, String filename) // { // openFile(new File(directory, filename)); // } private BufferedInputStream openURL(String url) { InputStream s = null; try { URL aURL = new URL(url); s = aURL.openStream(); } catch (Exception e) { errorDialog("Error Opening URL", e.getMessage()); return null; } return new BufferedInputStream(s); } private String encodingName(CharsetMatch match) { return match.getName() + " (" + match.getLanguage() + ")"; } private void setMatchMenu(CharsetMatch[] matches) { JMenu menu = getJMenuBar().getMenu(1); JMenuItem menuItem; menu.removeAll(); for (int i = 0; i < matches.length; i += 1) { CharsetMatch match = matches[i]; menuItem = new JMenuItem(encodingName(match) + " " + match.getConfidence()); menu.add(menuItem); } } private byte[] scriptTag = {(byte) 's', (byte) 'c', (byte) 'r', (byte) 'i', (byte) 'p', (byte) 't'}; private byte[] styleTag = {(byte) 's', (byte) 't', (byte) 'y', (byte) 'l', (byte) 'e'}; private static int BUFFER_SIZE = 100000; private boolean openTag(byte[] buffer, int offset, int length, byte[] tag) { int tagLen = tag.length; int bufRem = length - offset; int b; for (b = 0; b < tagLen && b < bufRem; b += 1) { if (buffer[b + offset] != tag[b]) { return false; } } return b == tagLen; } private boolean closedTag(byte[] buffer, int offset, int length, byte[] tag) { if (buffer[offset] != (byte) '/') { return false; } return openTag(buffer, offset + 1, length, tag); } private byte[] filter(InputStream in) { byte[] buffer = new byte[BUFFER_SIZE]; int bytesRemaining = BUFFER_SIZE; int bufLen = 0; in.mark(BUFFER_SIZE); try { while (bytesRemaining > 0) { int bytesRead = in.read(buffer, bufLen, bytesRemaining); if (bytesRead <= 0) { break; } bufLen += bytesRead; bytesRemaining -= bytesRead; } } catch (Exception e) { // TODO: error handling? return null; } boolean inTag = false; boolean skip = false; int out = 0; for (int i = 0; i < bufLen; i += 1) { byte b = buffer[i]; if (b == (byte) '<') { inTag = true; if (openTag(buffer, i + 1, bufLen, scriptTag) || openTag(buffer, i + 1, bufLen, styleTag)) { skip = true; } else if (closedTag(buffer, i + 1, bufLen, scriptTag) || closedTag(buffer, i + 1, bufLen, styleTag)) { skip = false; } } else if (b == (byte) '>') { inTag = false; } else if (! (inTag || skip)) { buffer[out++] = b; } } byte[] filtered = new byte[out]; System.arraycopy(buffer, 0, filtered, 0, out); return filtered; } private CharsetMatch[] detect(byte[] bytes) { CharsetDetector det = new CharsetDetector(); det.setText(bytes); return det.detectAll(); } private CharsetMatch[] detect(BufferedInputStream inputStream) { CharsetDetector det = new CharsetDetector(); try { det.setText(inputStream); return det.detectAll(); } catch (Exception e) { // TODO: error message? return null; } } private void show(InputStream inputStream, CharsetMatch[] matches, String title) { InputStreamReader isr; char[] buffer = new char[1024]; int bytesRead = 0; if (matches == null || matches.length == 0) { errorDialog("Match Error", "No matches!"); return; } try { StringBuffer sb = new StringBuffer(); String encoding = matches[0].getName(); inputStream.reset(); if (encoding.startsWith("UTF-32")) { byte[] bytes = new byte[1024]; int offset = 0; int chBytes = 0; Charset utf32 = CharsetICU.forNameICU(encoding); while ((bytesRead = inputStream.read(bytes, offset, 1024)) >= 0) { offset = bytesRead % 4; chBytes = bytesRead - offset; sb.append(utf32.decode(ByteBuffer.wrap(bytes)).toString()); if (offset != 0) { for (int i = 0; i < offset; i += 1) { bytes[i] = bytes[chBytes + i]; } } } } else { isr = new InputStreamReader(inputStream, encoding); while ((bytesRead = isr.read(buffer, 0, 1024)) >= 0) { sb.append(buffer, 0, bytesRead); } isr.close(); } this.setTitle(title + " - " + encodingName(matches[0])); setMatchMenu(matches); text.setText(sb.toString()); } catch (IOException e) { errorDialog("IO Error", e.getMessage()); } catch (Exception e) { errorDialog("Internal Error", e.getMessage()); } } private void doNew() { // open a new window... } private void doOpenFile() { int retVal = fileChooser.showOpenDialog(this); if (retVal == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); BufferedInputStream inputStream = openFile(file); if (inputStream != null) { CharsetMatch[] matches = detect(inputStream); show(inputStream, matches, file.getName()); } } } private void doOpenURL() { String url = (String) JOptionPane.showInputDialog(this, "URL to open:", "Open URL", JOptionPane.PLAIN_MESSAGE, null, null, null); if (url != null && url.length() > 0) { BufferedInputStream inputStream = openURL(url); if (inputStream != null) { byte[] filtered = filter(inputStream); CharsetMatch[] matches = detect(filtered); show(inputStream, matches, url); } } } private void doQuit() { DemoApplet.demoFrameClosed(); this.setVisible(false); this.dispose(); } private JMenuBar makeMenus() { JMenu menu = new JMenu("File"); JMenuItem mi; mi = new JMenuItem("Open File..."); mi.setAccelerator((KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK))); mi.addActionListener(this); menu.add(mi); if(fileChooser == null) { mi.setEnabled(false); // no file chooser. } mi = new JMenuItem("Open URL..."); mi.setAccelerator((KeyStroke.getKeyStroke(KeyEvent.VK_U, ActionEvent.CTRL_MASK))); mi.addActionListener(this); menu.add(mi); mi = new JMenuItem("Quit"); mi.setAccelerator((KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK))); mi.addActionListener(this); menu.add(mi); JMenuBar mbar = new JMenuBar(); mbar.add(menu); menu = new JMenu("Detected Encodings"); mbar.add(menu); return mbar; } } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/holiday/000077500000000000000000000000001172643025600223465ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/holiday/HolidayBorderPanel.java000066400000000000000000000365741172643025600267370ustar00rootroot00000000000000/* ******************************************************************************* * Copyright (C) 1997-2010, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.holiday; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Insets; import java.awt.Panel; /** * Various graphical borders. The border itself is a Panel so that it can * contain other Components (i.e. it borders something). You use the * HolidayBorderPanel like any other Panel: you set the layout that you prefer and * add Components to it. Beware that a null layout does not obey the insets * of the panel so if you use null layouts, adjust your measurements to * handle the border by calling insets(). * * @author Andy Clark, Taligent Inc. * @version 1.0 */ public class HolidayBorderPanel extends Panel { /** * For serialization */ private static final long serialVersionUID = 4669213306492461159L; // Constants /** Solid border. */ public final static int SOLID = 0; /** A raised border. */ public final static int RAISED = 1; /** A lowered border. */ public final static int LOWERED = 2; /** An etched in border. */ public final static int IN = 3; /** An etched out border. */ public final static int OUT = 4; /** Left alignment. */ public final static int LEFT = 0; /** Center alignment. */ public final static int CENTER = 1; /** Right alignment. */ public final static int RIGHT = 2; /** Default style (IN). */ public final static int DEFAULT_STYLE = IN; /** Default thickness (10). */ public final static int DEFAULT_THICKNESS = 10; /** Default thickness for solid borders (4). */ public final static int DEFAULT_SOLID_THICKNESS = 4; /** Default thickness for raised borders (2). */ public final static int DEFAULT_RAISED_THICKNESS = 2; /** Default thickness for lowered borders (2). */ public final static int DEFAULT_LOWERED_THICKNESS = 2; /** Default thickness for etched-in borders (10). */ public final static int DEFAULT_IN_THICKNESS = 10; /** Default thickness for etched-out borders (10). */ public final static int DEFAULT_OUT_THICKNESS = 10; /** Default gap between border and contained component (5). */ public final static int DEFAULT_GAP = 5; /** Default color (black). Applies to SOLID and etched borders. */ public final static Color DEFAULT_COLOR = Color.black; /** Default font (TimesRoman,PLAIN,14). Only applies to etched borders. */ public final static Font DEFAULT_FONT = new Font("TimesRoman", Font.PLAIN, 14); /** Default alignment (LEFT). Only applies to etched borders. */ public final static int DEFAULT_ALIGNMENT = LEFT; // Data private int style; private int thickness; private int gap; private Color color; private Font font; private String text; private int alignment; /** * Constructor. Makes default border. */ public HolidayBorderPanel() { // initialize data style = DEFAULT_STYLE; thickness = DEFAULT_THICKNESS; gap = DEFAULT_GAP; color = DEFAULT_COLOR; text = null; font = DEFAULT_FONT; alignment = DEFAULT_ALIGNMENT; } /** * Constructor. Makes an etched IN border with given text caption. * * @param text Text caption */ public HolidayBorderPanel(String text) { this(); style = IN; this.text = text; } /** * Constructor. Makes SOLID border with color and thickness given. * * @param color The color for the border. * @param thickness The thickness of the border. */ public HolidayBorderPanel(Color color, int thickness) { this(); style = SOLID; this.color = color; this.thickness = thickness; } /** * Constructor. Makes a border of the given style with the default * thickness for that style. * * @param style The style for this border. */ public HolidayBorderPanel(int style) { this(); // set thickness appropriate to this style switch (style) { case SOLID: thickness = DEFAULT_SOLID_THICKNESS; break; case RAISED: thickness = DEFAULT_RAISED_THICKNESS; break; case LOWERED: thickness = DEFAULT_LOWERED_THICKNESS; break; case IN: thickness = DEFAULT_IN_THICKNESS; break; case OUT: thickness = DEFAULT_OUT_THICKNESS; break; default: thickness = DEFAULT_THICKNESS; } this.style = style; } /** * Constructor. Makes border with given style and thickness. * * @param style The style for this border. * @param thickness The thickness for this border. */ public HolidayBorderPanel(int style, int thickness) { this(); this.style = style; this.thickness = thickness; } /** * Returns the insets of this panel.. */ public Insets getInsets() { int adjustment = 0; // adjust for text string if (style == IN || style == OUT) { if (text != null && text.length() > 0) { try { // set font and get info int height = getGraphics().getFontMetrics(font).getHeight(); if (height > thickness) adjustment = height - thickness; } catch (Exception e) { // nothing: just in case there is no graphics context // at the beginning. System.out.print(""); } } } // return appropriate insets int dist = thickness + gap; return new Insets(dist + adjustment, dist, dist, dist); } /** * Sets the style of the border * * @param style The new style. */ public HolidayBorderPanel setStyle(int style) { // set the style and re-layout the panel this.style = style; doLayout(); repaint(); return this; } /** * Gets the style of the border */ public int getStyle() { return style; } /** * Sets the thickness of the border. * * @param thickness The new thickness */ public HolidayBorderPanel setThickness(int thickness) { if (thickness > 0) { this.thickness = thickness; doLayout(); repaint(); } return this; } /** * Gets the thickness of the border. */ public int getThickness() { return thickness; } /** * Sets the gap between the border and the contained Component. * * @param gap The new gap, in pixels. */ public HolidayBorderPanel setGap(int gap) { if (gap > -1) { this.gap = gap; doLayout(); repaint(); } return this; } /** * Gets the gap between the border and the contained Component. */ public int getGap() { return gap; } /** * Sets the current color for SOLID borders and the caption text * color for etched borders. * * @param color The new color. */ public HolidayBorderPanel setColor(Color color) { this.color = color; if (style == SOLID || style == IN || style == OUT) repaint(); return this; } /** * Gets the current color for SOLID borders and the caption * text color for etched borders. */ public Color getColor() { return color; } /** * Sets the font. Only applies to etched borders. */ public HolidayBorderPanel setTextFont(Font font) { // set font if (font != null) { this.font = font; if (style == IN || style == OUT) { doLayout(); repaint(); } } return this; } /** * Gets the font of the text. Only applies to etched borders. */ public Font getTextFont() { return font; } /** * Sets the text. Only applies to etched borders. * * @param text The new text. */ public HolidayBorderPanel setText(String text) { this.text = text; if (style == IN || style == OUT) { doLayout(); repaint(); } return this; } /** * Gets the text. Only applies to etched borders. */ public String getText() { return text; } /** * Sets the text alignment. Only applies to etched borders. * * @param alignment The new alignment. */ public HolidayBorderPanel setAlignment(int alignment) { this.alignment = alignment; if (style == IN || style == OUT) { doLayout(); repaint(); } return this; } /** * Gets the text alignment. */ public int getAlignment() { return alignment; } /** * Repaints the border. * * @param g The graphics context. */ public void paint(Graphics g) { // get current dimensions Dimension size = getSize(); int width = size.width; int height = size.height; // set colors Color light = getBackground().brighter().brighter().brighter(); Color dark = getBackground().darker().darker().darker(); // Draw border switch (style) { case RAISED: // 3D Border (in or out) case LOWERED: Color topleft = null; Color bottomright = null; // set colors if (style == RAISED) { topleft = light; bottomright = dark; } else { topleft = dark; bottomright = light; } // draw border g.setColor(topleft); for (int i = 0; i < thickness; i++) { g.drawLine(i, i, width - i - 2, i); g.drawLine(i, i + 1, i, height - i - 1); } g.setColor(bottomright); for (int i = 0; i < thickness; i++) { g.drawLine(i + 1, height - i - 1, width - i - 1, height - i - 1); g.drawLine(width - i - 1, i, width - i - 1, height - i - 2); } break; case IN: // Etched Border (in or out) case OUT: int adjust1 = 0; int adjust2 = 0; // set font and get info Font oldfont = g.getFont(); g.setFont(font); FontMetrics fm = g.getFontMetrics(); int ascent = fm.getAscent(); // set adjustment if (style == IN) adjust1 = 1; else adjust2 = 1; // Calculate adjustment for text int adjustment = 0; if (text != null && text.length() > 0) { if (ascent > thickness) adjustment = (ascent - thickness) / 2; } // The adjustment is there so that we always draw the // light rectangle first. Otherwise, your eye picks up // the discrepancy where the light rect. passes over // the darker rect. int x = thickness / 2; int y = thickness / 2 + adjustment; int w = width - thickness - 1; int h = height - thickness - 1 - adjustment; // draw rectangles g.setColor(light); g.drawRect(x + adjust1, y + adjust1, w, h); g.setColor(dark); g.drawRect(x + adjust2, y + adjust2, w, h); // draw text, if applicable if (text != null && text.length() > 0) { // calculate drawing area int fontheight = fm.getHeight(); int strwidth = fm.stringWidth(text); int textwidth = width - 2 * (thickness + 5); if (strwidth > textwidth) strwidth = textwidth; // calculate offset for alignment int offset; switch (alignment) { case CENTER: offset = (width - strwidth) / 2; break; case RIGHT: offset = width - strwidth - thickness - 5; break; case LEFT: default: // assume left alignment if invalid offset = thickness + 5; break; } // clear drawing area and set clipping region g.clearRect(offset - 5, 0, strwidth + 10, fontheight); g.clipRect(offset, 0, strwidth, fontheight); // draw text g.setColor(color); g.drawString(text, offset, ascent); // restore old clipping area g.clipRect(0, 0, width, height); } g.setFont(oldfont); break; case SOLID: default: // assume SOLID g.setColor(color); for (int i = 0; i < thickness; i++) g.drawRect(i, i, width - 2 * i - 1, height - 2 * i - 1); } } /** * Returns the settings of this HolidayBorderPanel instance as a string. */ public String toString() { StringBuffer str = new StringBuffer("HolidayBorderPanel["); // style str.append("style="); switch (style) { case SOLID: str.append("SOLID"); break; case RAISED: str.append("RAISED"); break; case LOWERED: str.append("LOWERED"); break; case IN: str.append("IN"); break; case OUT: str.append("OUT"); break; default: str.append("unknown"); } str.append(","); // thickness str.append("thickness="); str.append(thickness); str.append(","); // gap str.append("gap="); str.append(gap); str.append(","); // color str.append(color); str.append(","); // font str.append(font); str.append(","); // text str.append("text="); str.append(text); str.append(","); // alignment str.append("alignment="); switch (alignment) { case LEFT: str.append("LEFT"); break; case CENTER: str.append("CENTER"); break; case RIGHT: str.append("RIGHT"); break; default: str.append("unknown"); } str.append("]"); return str.toString(); } } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/holiday/HolidayCalendarDemo.java000066400000000000000000000633051172643025600270500ustar00rootroot00000000000000/* ******************************************************************************* * Copyright (C) 1996-2007, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.holiday; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Canvas; import java.awt.Choice; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Frame; import java.awt.Graphics; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Label; import java.awt.Panel; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.WindowEvent; import java.text.DateFormatSymbols; import java.util.Date; import java.util.Locale; import java.util.Vector; import com.ibm.icu.dev.demo.impl.DemoApplet; import com.ibm.icu.dev.demo.impl.DemoTextBox; import com.ibm.icu.dev.demo.impl.DemoUtility; import com.ibm.icu.text.SimpleDateFormat; import com.ibm.icu.util.Calendar; import com.ibm.icu.util.Holiday; import com.ibm.icu.util.SimpleTimeZone; /** * CalendarDemo demonstrates how Calendar works. */ public class HolidayCalendarDemo extends DemoApplet { /** * For serialization */ private static final long serialVersionUID = 4546085430817359372L; /** * The main function which defines the behavior of the CalendarDemo * applet when an applet is started. */ public static void main(String argv[]) { new HolidayCalendarDemo().showDemo(); } /* This creates a CalendarFrame for the demo applet. */ public Frame createDemoFrame(DemoApplet applet) { return new CalendarFrame(applet); } /** * A Frame is a top-level window with a title. The default layout for a frame * is BorderLayout. The CalendarFrame class defines the window layout of * CalendarDemo. */ private static class CalendarFrame extends Frame implements ActionListener, ItemListener { /** * For serialization */ private static final long serialVersionUID = -7023296782393042761L; private static final boolean DEBUG = false; //private Locale curLocale = Locale.US; // unused private DemoApplet applet; private static final Locale[] calendars = { //new Locale("de","AT"), Locale.CANADA, Locale.CANADA_FRENCH, Locale.FRANCE, Locale.GERMANY, new Locale("iw","IL"), new Locale("el","GR"), //new Locale("es","MX"), Locale.UK, Locale.US, }; private static final Locale[] displays = { Locale.CANADA, Locale.UK, Locale.US, Locale.FRANCE, Locale.CANADA_FRENCH, //new Locale("de","AT"), Locale.GERMAN, new Locale("el","GR"), //new Locale("iw","IL"), new Locale("es","MX"), }; /** * Constructs a new CalendarFrame that is initially invisible. */ public CalendarFrame(DemoApplet applet) { super("Calendar Demo"); this.applet = applet; init(); start(); enableEvents(WindowEvent.WINDOW_CLOSING); } /** * Initializes the applet. You never need to call this directly, it * is called automatically by the system once the applet is created. */ public void init() { // Get G7 locales only for demo purpose. To get all the locales // supported, switch to calling Calendar.getAvailableLocales(). // commented locales = displays; buildGUI(); } //------------------------------------------------------------ // package private //------------------------------------------------------------ void addWithFont(Container container, Component foo, Font font) { if (font != null) foo.setFont(font); container.add(foo); } /** * Called to start the applet. You never need to call this method * directly, it is called when the applet's document is visited. */ public void start() { // do nothing } private Choice localeMenu; private Choice displayMenu; private Locale[] locales; private Label monthLabel; private Button prevYear; private Button prevMonth; private Button gotoToday; private Button nextMonth; private Button nextYear; private CalendarPanel calendarPanel; private static final Locale kFirstLocale = Locale.US; private static void add(Container container, Component component, GridBagLayout g, GridBagConstraints c) { g.setConstraints(component, c); container.add(component); } public void buildGUI() { setBackground(DemoUtility.bgColor); setLayout(new BorderLayout(10,10)); // Label for the demo's title Label titleLabel = new Label("Calendar Demo", Label.CENTER); titleLabel.setFont(DemoUtility.titleFont); // Label for the current month name monthLabel = new Label("", Label.LEFT); monthLabel.setFont(new Font(DemoUtility.titleFont.getName(), DemoUtility.titleFont.getStyle(), (DemoUtility.titleFont.getSize() * 3)/2)); // Make the locale popup menus localeMenu= new Choice(); localeMenu.addItemListener(this); int selectMe = 0; for (int i = 0; i < calendars.length; i++) { if (i > 0 && calendars[i].getCountry().equals(calendars[i-1].getCountry()) || i < calendars.length - 1 && calendars[i].getCountry().equals(calendars[i+1].getCountry())) { localeMenu.addItem(calendars[i].getDisplayCountry() + " (" + calendars[i].getDisplayLanguage() + ")"); } else { localeMenu.addItem( calendars[i].getDisplayCountry() ); } if (calendars[i].equals(kFirstLocale)) { selectMe = i; } } localeMenu.setBackground(DemoUtility.choiceColor); localeMenu.select(selectMe); displayMenu = new Choice(); displayMenu.addItemListener(this); selectMe = 0; for (int i = 0; i < locales.length; i++) { if (i > 0 && locales[i].getLanguage().equals(locales[i-1].getLanguage()) || i < locales.length - 1 && locales[i].getLanguage().equals(locales[i+1].getLanguage())) { displayMenu.addItem( locales[i].getDisplayName() ); } else { displayMenu.addItem( locales[i].getDisplayLanguage()); } if (locales[i].equals(kFirstLocale)) { selectMe = i; } } displayMenu.setBackground(DemoUtility.choiceColor); displayMenu.select(selectMe); // Make all the next/previous/today buttons prevYear = new Button("<<"); prevYear.addActionListener(this); prevMonth = new Button("<"); prevMonth.addActionListener(this); gotoToday = new Button("Today"); gotoToday.addActionListener(this); nextMonth = new Button(">"); nextMonth.addActionListener(this); nextYear = new Button(">>"); nextYear.addActionListener(this); // The month name and the control buttons are bunched together Panel monthPanel = new Panel(); { GridBagLayout g = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); monthPanel.setLayout(g); c.weightx = 1; c.weighty = 1; c.gridwidth = 1; c.fill = GridBagConstraints.HORIZONTAL; c.gridwidth = GridBagConstraints.REMAINDER; add(monthPanel, monthLabel, g, c); c.gridwidth = 1; add(monthPanel, prevYear, g, c); add(monthPanel, prevMonth, g, c); add(monthPanel, gotoToday, g, c); add(monthPanel, nextMonth, g, c); c.gridwidth = GridBagConstraints.REMAINDER; add(monthPanel, nextYear, g, c); } // Stick the menu and buttons in a little "control panel" Panel menuPanel = new Panel(); { GridBagLayout g = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); menuPanel.setLayout(g); c.weightx = 1; c.weighty = 1; c.fill = GridBagConstraints.HORIZONTAL; c.gridwidth = GridBagConstraints.RELATIVE; Label l1 = new Label("Holidays"); l1.setFont(DemoUtility.labelFont); add(menuPanel, l1, g, c); c.gridwidth = GridBagConstraints.REMAINDER; add(menuPanel, localeMenu, g, c); c.gridwidth = GridBagConstraints.RELATIVE; Label l2 = new Label("Display:"); l2.setFont(DemoUtility.labelFont); add(menuPanel, l2, g, c); c.gridwidth = GridBagConstraints.REMAINDER; add(menuPanel, displayMenu, g, c); } // The title, buttons, etc. go in a panel at the top of the window Panel topPanel = new Panel(); { topPanel.setLayout(new BorderLayout()); //topPanel.add("North", titleLabel); topPanel.add("Center", monthPanel); topPanel.add("East", menuPanel); } add("North", topPanel); // The copyright notice goes at the bottom of the window Label copyright = new Label(DemoUtility.copyright1, Label.LEFT); copyright.setFont(DemoUtility.creditFont); add("South", copyright); // Now create the big calendar panel and stick it in the middle calendarPanel = new CalendarPanel( kFirstLocale ); add("Center", calendarPanel); updateMonthName(); } private void updateMonthName() { SimpleDateFormat f = new SimpleDateFormat("MMMM yyyyy", calendarPanel.getDisplayLocale()); f.setCalendar(calendarPanel.getCalendar()); f.setTimeZone(new SimpleTimeZone(0, "UTC")); // JDK 1.1.2 workaround monthLabel.setText( f.format( calendarPanel.firstOfMonth() )); } /** * Handles the event. Returns true if the event is handled and should not * be passed to the parent of this component. The default event handler * calls some helper methods to make life easier on the programmer. */ public void actionPerformed(ActionEvent e) { Object obj = e.getSource(); // *** Button events are handled here. if (obj instanceof Button) { if (obj == nextMonth) { calendarPanel.add(Calendar.MONTH, +1); } else if (obj == prevMonth) { calendarPanel.add(Calendar.MONTH, -1); } else if (obj == prevYear) { calendarPanel.add(Calendar.YEAR, -1); } else if (obj == nextYear) { calendarPanel.add(Calendar.YEAR, +1); } else if (obj == gotoToday) { calendarPanel.set( new Date() ); } updateMonthName(); } } public void itemStateChanged(ItemEvent e) { Object obj = e.getSource(); if (obj == localeMenu) { calendarPanel.setCalendarLocale(calendars[localeMenu.getSelectedIndex()]); updateMonthName(); } else if (obj == displayMenu) { calendarPanel.setDisplayLocale(locales[displayMenu.getSelectedIndex()]); updateMonthName(); } } /** * Print out the error message while debugging this program. */ public void errorText(String s) { if (DEBUG) { System.out.println(s); } } protected void processWindowEvent(WindowEvent e) { System.out.println("event " + e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { this.hide(); this.dispose(); if (applet != null) { applet.demoClosed(); } else { System.exit(0); } } } } private static class CalendarPanel extends Canvas { /** * For serialization */ private static final long serialVersionUID = 1521099412250120821L; public CalendarPanel( Locale locale ) { set(locale, locale, new Date()); } public void setCalendarLocale(Locale locale) { set(locale, fDisplayLocale, fCalendar.getTime()); } public void setDisplayLocale(Locale locale) { set(fCalendarLocale, locale, fCalendar.getTime()); } public void set(Date date) { set(fCalendarLocale, fDisplayLocale, date); } public void set(Locale loc, Locale display, Date date) { if (fCalendarLocale == null || !loc.equals(fCalendarLocale)) { fCalendarLocale = loc; fCalendar = Calendar.getInstance(fCalendarLocale); fAllHolidays = Holiday.getHolidays(fCalendarLocale); } if (fDisplayLocale == null || !display.equals(fDisplayLocale)) { fDisplayLocale = display; fSymbols = new DateFormatSymbols(fDisplayLocale); } fStartOfMonth = date; dirty = true; repaint(); } public void add(int field, int delta) { synchronized(fCalendar) { fCalendar.setTime(fStartOfMonth); fCalendar.add(field, delta); fStartOfMonth = fCalendar.getTime(); } dirty = true; repaint(); } public com.ibm.icu.util.Calendar getCalendar() { return fCalendar; } public Locale getCalendarLocale() { return fCalendarLocale; } public Locale getDisplayLocale() { return fDisplayLocale; } public Date firstOfMonth() { return fStartOfMonth; } private Date startOfMonth(Date dateInMonth) { synchronized(fCalendar) { fCalendar.setTime(dateInMonth); // TODO: synchronization int era = fCalendar.get(Calendar.ERA); int year = fCalendar.get(Calendar.YEAR); int month = fCalendar.get(Calendar.MONTH); fCalendar.clear(); fCalendar.set(Calendar.ERA, era); fCalendar.set(Calendar.YEAR, year); fCalendar.set(Calendar.MONTH, month); fCalendar.set(Calendar.DATE, 1); return fCalendar.getTime(); } } private void calculate() { // // As a workaround for JDK 1.1.3 and below, where Calendars and time // zones are a bit goofy, always set my calendar's time zone to UTC. // You would think I would want to do this in the "set" function above, // but if I do that, the program hangs when this class is loaded, // perhaps due to some sort of static initialization ordering problem. // So I do it here instead. // fCalendar.setTimeZone(new SimpleTimeZone(0, "UTC")); Calendar c = (Calendar)fCalendar.clone(); // Temporary copy fStartOfMonth = startOfMonth(fStartOfMonth); // Stash away a few useful constants for this calendar and display minDay = c.getMinimum(Calendar.DAY_OF_WEEK); daysInWeek = c.getMaximum(Calendar.DAY_OF_WEEK) - minDay + 1; firstDayOfWeek = Calendar.getInstance(fDisplayLocale).getFirstDayOfWeek(); // Stash away a Date for the start of this month // Find the day of week of the first day in this month c.setTime(fStartOfMonth); firstDayInMonth = c.get(Calendar.DAY_OF_WEEK); // Now find the # of days in the month c.roll(Calendar.DATE, false); daysInMonth = c.get(Calendar.DATE); // Finally, find the end of the month, i.e. the start of the next one c.roll(Calendar.DATE, true); c.add(Calendar.MONTH, 1); c.getTime(); // JDK 1.1.2 bug workaround c.add(Calendar.SECOND, -1); Date endOfMonth = c.getTime(); // // Calculate the number of full or partial weeks in this month. // To do this I can just reuse the code that calculates which // calendar cell contains a given date. // numWeeks = dateToCell(daysInMonth).y - dateToCell(1).y + 1; // Remember which holidays fall on which days in this month, // to save the trouble of having to do it later fHolidays.setSize(0); for (int h = 0; h < fAllHolidays.length; h++) { Date d = fStartOfMonth; while ( (d = fAllHolidays[h].firstBetween(d, endOfMonth) ) != null) { c.setTime(d); fHolidays.addElement( new HolidayInfo(c.get(Calendar.DATE), fAllHolidays[h], fAllHolidays[h].getDisplayName(fDisplayLocale) )); d.setTime( d.getTime() + 1000 ); // "d++" } } dirty = false; } static final int INSET = 2; /* * Convert from the day number within a month (1-based) * to the cell coordinates on the calendar (0-based) */ private void dateToCell(int date, Point pos) { int cell = (date + firstDayInMonth - firstDayOfWeek - minDay); if (firstDayInMonth < firstDayOfWeek) { cell += daysInWeek; } pos.x = cell % daysInWeek; pos.y = cell / daysInWeek; } private Point dateToCell(int date) { Point p = new Point(0,0); dateToCell(date, p); return p; } public void paint(Graphics g) { if (dirty) { calculate(); } Point cellPos = new Point(0,0); // Temporary variable Dimension d = getSize(); g.setColor(DemoUtility.bgColor); g.fillRect(0,0,d.width,d.height); // Draw the day names at the top g.setColor(Color.black); g.setFont(DemoUtility.labelFont); FontMetrics fm = g.getFontMetrics(); int labelHeight = fm.getHeight() + INSET * 2; int v = fm.getAscent() + INSET; for (int i = 0; i < daysInWeek; i++) { int dayNum = (i + minDay + firstDayOfWeek - 2) % daysInWeek + 1; String dayName = fSymbols.getWeekdays()[dayNum]; int h = (int) (d.width * (i + 0.5)) / daysInWeek; h -= fm.stringWidth(dayName) / 2; g.drawString(dayName, h, v); } double cellHeight = (d.height - labelHeight - 1) / numWeeks; double cellWidth = (double)(d.width - 1) / daysInWeek; // Draw a white background in the part of the calendar // that displays this month. // First figure out how much of the first week should be shaded. { g.setColor(Color.white); dateToCell(1, cellPos); int width = (int)(cellPos.x*cellWidth); // Width of unshaded area g.fillRect((int)(width), labelHeight , (int)(d.width - width), (int)cellHeight); // All of the intermediate weeks get shaded completely g.fillRect(0, (int)(labelHeight + cellHeight), d.width, (int)(cellHeight * (numWeeks - 2))); // Now figure out the last week. dateToCell(daysInMonth, cellPos); width = (int)((cellPos.x+1)*cellWidth); // Width of shaded area g.fillRect(0, (int)(labelHeight + (numWeeks-1) * cellHeight), width, (int)(cellHeight)); } // Draw the X/Y grid lines g.setColor(Color.black); for (int i = 0; i <= numWeeks; i++) { int y = (int)(labelHeight + i * cellHeight); g.drawLine(0, y, d.width - 1, y); } for (int i = 0; i <= daysInWeek; i++) { int x = (int)(i * cellWidth); g.drawLine(x, labelHeight, x, d.height - 1); } // Now loop through all of the days in the month, figure out where // they go in the grid, and draw the day # for each one Font numberFont = new Font("Helvetica",Font.PLAIN,12); // not used Font holidayFont = DemoUtility.creditFont; Calendar c = (Calendar)fCalendar.clone(); c.setTime(fStartOfMonth); for (int i = 1, h = 0; i <= daysInMonth; i++) { g.setFont(numberFont); g.setColor(Color.black); fm = g.getFontMetrics(); dateToCell(i, cellPos); int x = (int)((cellPos.x + 1) * cellWidth); int y = (int)(cellPos.y * cellHeight + labelHeight); StringBuffer buffer = new StringBuffer(); buffer.append(i); String dayNum = buffer.toString(); x = x - INSET - fm.stringWidth(dayNum); y = y + fm.getAscent() + INSET; g.drawString(dayNum, x, y); // See if any of the holidays land on this day.... HolidayInfo info = null; int count = 0; // Coordinates of lower-left corner of cell. x = (int)((cellPos.x) * cellWidth); y = (int)((cellPos.y+1) * cellHeight) + labelHeight; while (h < fHolidays.size() && (info = (HolidayInfo)fHolidays.elementAt(h)).date <= i) { if (info.date == i) { // Draw the holiday here. g.setFont(numberFont); g.setColor(Color.red); DemoTextBox box = new DemoTextBox(g, info.name, (int)(cellWidth - INSET)); box.draw(g, x + INSET, y - INSET - box.getHeight()); y -= (box.getHeight() + INSET); count++; } h++; } } } // Important state variables private Locale fCalendarLocale; // Whose calendar private Calendar fCalendar; // Calendar for calculations private Locale fDisplayLocale; // How to display it private DateFormatSymbols fSymbols; // Symbols for drawing private Date fStartOfMonth; // 00:00:00 on first day of month // Cached calculations to make drawing faster. private transient int minDay; // Minimum legal day # private transient int daysInWeek; // # of days in a week private transient int firstDayOfWeek; // First day to display in week private transient int numWeeks; // # full or partial weeks in month private transient int daysInMonth; // # days in this month private transient int firstDayInMonth; // Day of week of first day in month private transient Holiday[] fAllHolidays; private transient Vector fHolidays = new Vector(5,5); private transient boolean dirty = true; } private static class HolidayInfo { public HolidayInfo(int date, Holiday holiday, String name) { this.date = date; this.holiday = holiday; this.name = name; } public Holiday holiday; public int date; public String name; } } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/holiday/package.html000066400000000000000000000004011172643025600246220ustar00rootroot00000000000000 Holiday demo application. icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/impl/000077500000000000000000000000001172643025600216565ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/impl/AppletFrame.java000066400000000000000000000074661172643025600247360ustar00rootroot00000000000000/* ******************************************************************************* * Copyright (C) 1996-2010, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.impl; import java.applet.Applet; import java.applet.AppletContext; import java.applet.AppletStub; import java.applet.AudioClip; import java.awt.Frame; import java.awt.Image; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Enumeration; import java.util.Iterator; /** *

A Frame that runs an Applet within itself, making it possible * for an applet to run as an application. Usage: * *

 * public class MyApplet extends Applet {
 *     public static void main(String args[]) {
 *         MyApplet applet = new MyApplet();
 *         new AppletFrame("My Applet Running As An App", applet, 640, 480);
 *     }
 *     ...
 * }
 * 
 *
 * @author Alan Liu
 */
public class AppletFrame extends Frame implements AppletStub, AppletContext {

    /**
     * For serialization
     */
    private static final long serialVersionUID = 818828281190757725L;
    Applet applet;

    /**
     * Construct a Frame running the given Applet with the default size
     * of 640 by 480.
     * When the Frame is closed, the applet's stop() method is called,
     * the Frame is dispose()d of, and System.exit(0) is called.
     *
     * @param name the Frame title
     * @param applet the applet to be run
     */
    public AppletFrame(String name, Applet applet) {
        this(name, applet, 640, 480);
    }

    /**
     * Construct a Frame running the given Applet with the given size.
     * When the Frame is closed, the applet's stop() method is called,
     * the Frame is dispose()d of, and System.exit(0) is called.
     *
     * @param name the Frame title
     * @param applet the applet to be run
     * @param width width of the Frame
     * @param height height of the Frame
     */
    public AppletFrame(String name, Applet applet, int width, int height) {
        super(name);
        this.applet = applet;
        applet.setStub(this);

        setSize(width, height);
        add("Center", applet);
        show();
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                AppletFrame.this.applet.stop();
                dispose();
                System.exit(0);
            }
        });

        applet.init();
        applet.start();
    }

    // AppletStub API
    public void appletResize(int width, int height) {
        setSize(width, height);
    }

    public AppletContext getAppletContext() {
        return this;
    }

    public URL getCodeBase() {
        return null;
    }

    public URL getDocumentBase() {
        return null;
    }
    
    public String getParameter(String name) {
        return "PARAMETER";
    }

    public boolean isActive() {
        return true;
    }
    
    
    // AppletContext API
    public Applet getApplet(String name) {
        return applet;
    }

    public Enumeration getApplets() {
        return null;
    }

    public AudioClip getAudioClip(URL url) {
        return null;
    }

    public Image getImage(URL url) {
        return null;
    }

    public void showDocument(URL url) {}
    public void showDocument(URL url, String target) {}

    public void showStatus(String status) {
        System.out.println(status);
    }
    
    public void setStream(String key, InputStream stream) throws IOException {
    }
    
    public InputStream getStream(String key) {
        return null;
    }
    
    public Iterator getStreamKeys() {
        return null;
    }
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/impl/DemoApplet.java000066400000000000000000000047201172643025600245560ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1997-2010, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */

package com.ibm.icu.dev.demo.impl;

import java.awt.Button;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public abstract class DemoApplet extends java.applet.Applet {
    private static final long serialVersionUID = -8983602961925702071L;
    private Button   demoButton;
    private Frame    demoFrame;
    private static int demoFrameCount = 0;

    protected abstract Frame createDemoFrame(DemoApplet applet);
    protected Dimension getDefaultFrameSize(DemoApplet applet, Frame f) {
        return new Dimension(700, 550);
    }

    //Create a button that will display the demo
    public void init()
    {
        setBackground(Color.white);
        demoButton = new Button("Demo");
        demoButton.setBackground(Color.yellow);
        add( demoButton );

        demoButton.addActionListener( new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                if (e.getID() == ActionEvent.ACTION_PERFORMED) {
                    demoButton.setLabel("loading");

                    if (demoFrame == null) {
                       demoFrame = createDemoFrame(DemoApplet.this);
                       showDemo();
                    }

                    demoButton.setLabel("Demo");
                }
             }
        } );
    }

    public void showDemo()
    {
        demoFrame = createDemoFrame(this);
        demoFrame.doLayout();
        Dimension d = getDefaultFrameSize(this, demoFrame);
        demoFrame.setSize(d.width, d.height);
        demoFrame.show();
        demoFrameOpened();
    }

    public void demoClosed()
    {
        demoFrame = null;
        demoFrameClosed();
    }

    public static void demoFrameOpened() {
        demoFrameCount++;
        System.err.println("DemoFrameOpened, now at:"+demoFrameCount);
    }
    public static void demoFrameClosed() {
        if (--demoFrameCount == 0) {
            System.err.println("DemoFrameClosed, now at:"+demoFrameCount + " - quitting");
            System.exit(0);
        }
        System.err.println("DemoFrameClosed, now at:"+demoFrameCount);
    }
}

icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/impl/DemoTextBox.java000066400000000000000000000055531172643025600247330ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1997-2010, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
package com.ibm.icu.dev.demo.impl;


import java.awt.FontMetrics;
import java.awt.Graphics;
import java.text.BreakIterator;

public class DemoTextBox {

    public DemoTextBox(Graphics g, String text, int width)
    {
        this.text = text;
        this.chars = new char[text.length()];
        text.getChars(0, text.length(), chars, 0);

        this.width = width;
//        this.port = g;
        this.metrics = g.getFontMetrics();

        breakText();
    }

    public  int getHeight() {
        return (nbreaks + 1) * metrics.getHeight();
    }

    public  void draw(Graphics g, int x, int y)
    {
        int index = 0;

        y += metrics.getAscent();

        for (int i = 0; i < nbreaks; i++)
        {
            g.drawChars(chars, index, breakPos[i] - index, x, y);
            index = breakPos[i];
            y += metrics.getHeight();
        }

        g.drawChars(chars, index, chars.length - index, x, y);
    }


    private void breakText()
    {
        if (metrics.charsWidth(chars, 0, chars.length) > width)
        {
            BreakIterator iter = BreakIterator.getWordInstance();
            iter.setText(text);

            int start = iter.first();
            int end = start;
            int pos;

            while ( (pos = iter.next()) != BreakIterator.DONE )
            {
                int w = metrics.charsWidth(chars, start, pos - start);
                if (w > width)
                {
                    // We've gone past the maximum width, so break the line
                    if (end > start) {
                        // There was at least one break position before this point
                        breakPos[nbreaks++] = end;
                        start = end;
                        end = pos;
                    } else {
                        // There weren't any break positions before this one, so
                        // let this word overflow the margin (yuck)
                        breakPos[nbreaks++] = pos;
                        start = end = pos;
                    }
                } else {
                    // the current position still fits on the line; it's the best
                    // tentative break position we have so far.
                    end = pos;
                }

            }
        }
    }

    private String          text;
    private char[]          chars;
//    private Graphics        port;
    private FontMetrics     metrics;
    private int             width;

    private int[]           breakPos = new int[10]; // TODO: get real
    private int             nbreaks = 0;
}icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/impl/DemoUtility.java000066400000000000000000000112071172643025600247720ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1997-2010, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
package com.ibm.icu.dev.demo.impl;

import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextComponent;
import java.util.Locale;

public class DemoUtility
{
    public static final Font titleFont = new Font("TimesRoman",Font.BOLD,18);
    public static final Font labelFont = new Font("TimesRoman",Font.BOLD,14);
    public static final Font choiceFont = new Font("Helvetica",Font.BOLD,12);
    public static final Font editFont = new Font("Helvetica",Font.PLAIN,14);
    public static final Font creditFont = new Font("Helvetica",Font.PLAIN,10);
    public static final Font numberFont = new Font("sansserif", Font.PLAIN, 14);

    public static final Color bgColor = Color.lightGray;
    public static final Color choiceColor = Color.white;

    public static final String copyright1 =
        "Copyright (C) IBM Corp and others. 1997 - 2002 All Rights Reserved";

    /**
    Provides easy way to use basic functions of GridBagLayout, without
    the complications. After building a panel, and inserting all the
    * subcomponents, call this to lay it out in the desired number of columns.
    */
    public static void fixGrid(Container cont, int columns) {
        GridBagLayout gridbag = new GridBagLayout();
        cont.setLayout(gridbag);

        GridBagConstraints c = new GridBagConstraints();
        c.fill = GridBagConstraints.VERTICAL;
        c.weightx = 1.0;
        c.insets = new Insets(2,2,2,2);

        Component[] components = cont.getComponents();
        for (int i = 0; i < components.length; ++i) {
            // not used int colNumber = i%columns;
            c.gridwidth = 1;    // default
            if ((i%columns) == columns - 1)
                c.gridwidth = GridBagConstraints.REMAINDER;    // last in grid
            if (components[i] instanceof Label) {
                switch (((Label)components[i]).getAlignment()) {
                case Label.CENTER: c.anchor = GridBagConstraints.CENTER; break;
                case Label.LEFT: c.anchor = GridBagConstraints.WEST; break;
                case Label.RIGHT: c.anchor = GridBagConstraints.EAST; break;
                }
            }
            gridbag.setConstraints(components[i], c);
        }

    }

    /**
    Provides easy way to change the spacing around an object in a GridBagLayout.
    Call AFTER fixGridBag, passing in the container, the component, and the
    new insets.
    */
    public static void setInsets(Container cont, Component comp, Insets insets) {
        GridBagLayout gbl = (GridBagLayout)cont.getLayout();
        GridBagConstraints g = gbl.getConstraints(comp);
        g.insets = insets;
        gbl.setConstraints(comp,g);
    }

    public static Panel createSpacer() {
        Panel spacer = new Panel();
        spacer.setLayout(null);
        spacer.setSize(1000, 1);
        return spacer;
    }

    // to avoid goofy updates and misplaced cursors
    public static void setText(TextComponent area, String newText) {
        String foo = area.getText();
        if (foo.equals(newText)) return;
        area.setText(newText);
    }
    
    /**
     * Compares two locals. Return value is negative
     * if they're different, and more positive the more
     * fields that match.
     */
     
    public static int compareLocales(Locale l1, Locale l2)
    {
        int result = -1;
        
        if (l1.getLanguage().equals(l2.getLanguage())) {
            result += 1;
            
            if (l1.getCountry().equals(l2.getCountry())) {
                result += 1;
                
                if (l1.getVariant().equals(l2.getVariant())) {
                    result += 1;
                }
            }
        }
        
        return result;
    }
    
    /**
     * Get the G7 locale list for demos.
     */
    public static Locale[] getG7Locales() {
        return localeList;
    }
    private static Locale[] localeList = {
        new Locale("DA", "DK", ""),
        new Locale("EN", "US", ""),
        new Locale("EN", "GB", ""),
        new Locale("EN", "CA", ""),
        new Locale("FR", "FR", ""),
        new Locale("FR", "CA", ""),
        new Locale("DE", "DE", ""),
        new Locale("IT", "IT", ""),
    //new Locale("JA", "JP", ""),
    };
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/impl/DumbTextComponent.java000066400000000000000000000670761172643025600261600ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1996-2010, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
package com.ibm.icu.dev.demo.impl;
import java.awt.AWTEventMulticaster;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.text.BreakIterator;

// LIU: Changed from final to non-final
public class DumbTextComponent extends Canvas
  implements KeyListener, MouseListener, MouseMotionListener, FocusListener
{
    
    /**
     * For serialization
     */
    private static final long serialVersionUID = 8265547730738652151L;

//    private transient static final String copyright =
//      "Copyright \u00A9 1998, Mark Davis. All Rights Reserved.";
    private transient static boolean DEBUG = false;

    private String contents = "";
    private Selection selection = new Selection();
    private int activeStart = -1;
    private boolean editable = true;

    private transient Selection tempSelection = new Selection();
    private transient boolean focus;
    private transient BreakIterator lineBreaker = BreakIterator.getLineInstance();
    private transient BreakIterator wordBreaker = BreakIterator.getWordInstance();
    private transient BreakIterator charBreaker = BreakIterator.getCharacterInstance();
    private transient int lineAscent;
    private transient int lineHeight;
    private transient int lineLeading;
    private transient int lastHeight = 10;
    private transient int lastWidth = 50;
    private static final int MAX_LINES = 200; // LIU: Use symbolic name
    private transient int[] lineStarts = new int[MAX_LINES]; // LIU
    private transient int lineCount = 1;

    private transient boolean valid = false;
    private transient FontMetrics fm;
    private transient boolean redoLines = true;
    private transient boolean doubleClick = false;
    private transient TextListener textListener;
    private transient ActionListener selectionListener;
    private transient Image cacheImage;
    private transient Dimension mySize;
    private transient int xInset = 5;
    private transient int yInset = 5;
    private transient Point startPoint = new Point();
    private transient Point endPoint = new Point();
    private transient Point caretPoint = new Point();
    private transient Point activePoint = new Point();
    
    //private transient static String clipBoard;

    private static final char CR = '\015'; // LIU

    // ============================================

    public DumbTextComponent() {
        addMouseListener(this);
        addMouseMotionListener(this);
        addKeyListener(this);
        addFocusListener(this);
        setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));

    }

// ================ Events ====================

    // public boolean isFocusTraversable() { return true; }

    public void addActionListener(ActionListener l) {
        selectionListener = AWTEventMulticaster.add(selectionListener, l);
    }

    public void removeActionListener(ActionListener l) {
        selectionListener = AWTEventMulticaster.remove(selectionListener, l);
    }

    public void addTextListener(TextListener l) {
        textListener = AWTEventMulticaster.add(textListener, l);
    }

    public void removeTextListener(TextListener l) {
        textListener = AWTEventMulticaster.remove(textListener, l);
    }

    private transient boolean pressed;

    public void mousePressed(MouseEvent e) {
        if (DEBUG) System.out.println("mousePressed");
        if (pressed) {
            select(e,false);
        } else {
            doubleClick = e.getClickCount() > 1;
            requestFocus();
            select(e, true);
            pressed = true;
        }
    }

    public void mouseDragged(MouseEvent e) {
        if (DEBUG) System.out.println("mouseDragged");
        select(e, false);
    }

    public void mouseReleased(MouseEvent e) {
        if (DEBUG) System.out.println("mouseReleased");
        pressed = false;
    }

    public void mouseEntered(MouseEvent e) {
        //if (pressed) select(e, false);
    }

    public void mouseExited(MouseEvent e){
        //if (pressed) select(e, false);
    }

    public void mouseClicked(MouseEvent e) {}
    public void mouseMoved(MouseEvent e) {}


    public void focusGained(FocusEvent e) {
        if (DEBUG) System.out.println("focusGained");
        focus = true;
        valid = false;
        repaint(16);
    }
    public void focusLost(FocusEvent e) {
        if (DEBUG) System.out.println("focusLost");
        focus = false;
        valid = false;
        repaint(16);
    }

    public void select(MouseEvent e, boolean first) {
        setKeyStart(-1);
        point2Offset(e.getPoint(), tempSelection);
        if (first) {
            if ((e.getModifiers() & InputEvent.SHIFT_MASK) == 0) {
                tempSelection.anchor = tempSelection.caret;
            }
        }
        // fix words
        if (doubleClick) {
            tempSelection.expand(wordBreaker);
        }
        select(tempSelection);
    }
    
    public void keyPressed(KeyEvent e) {
        int code = e.getKeyCode();
        if (DEBUG) System.out.println("keyPressed "
          + hex((char)code) + ", " + hex((char)e.getModifiers()));
        int start = selection.getStart();
        int end = selection.getEnd();
        boolean shift = (e.getModifiers() & InputEvent.SHIFT_MASK) != 0;
        boolean ctrl = (e.getModifiers() & InputEvent.CTRL_MASK) != 0;
                
        switch (code) {
        case KeyEvent.VK_Q:
            if (!ctrl || !editable) break;
            setKeyStart(-1);
            fixHex();
            break;
        case KeyEvent.VK_V:
            if (!ctrl) break;
            if (!editable) {
                this.getToolkit().beep();
            } else {
                paste();
            }
            break;
        case KeyEvent.VK_C:
            if (!ctrl) break;
            copy();
            break;
        case KeyEvent.VK_X:
            if (!ctrl) break;
            if (!editable) {
                this.getToolkit().beep();
            } else {
                copy();
                insertText("");
            }
            break;
        case KeyEvent.VK_A:
            if (!ctrl) break;
            setKeyStart(-1);
            select(Integer.MAX_VALUE, 0, false);
            break;
        case KeyEvent.VK_RIGHT:
            setKeyStart(-1);
            tempSelection.set(selection);
            tempSelection.nextBound(ctrl ? wordBreaker : charBreaker, +1, shift);
            select(tempSelection);
            break;
        case KeyEvent.VK_LEFT:
            setKeyStart(-1);
            tempSelection.set(selection);
            tempSelection.nextBound(ctrl ? wordBreaker : charBreaker, -1, shift);
            select(tempSelection);
            break;
        case KeyEvent.VK_UP: // LIU: Add support for up arrow
            setKeyStart(-1);
            tempSelection.set(selection);
            tempSelection.caret = lineDelta(tempSelection.caret, -1);
            if (!shift) {
                tempSelection.anchor = tempSelection.caret;
            }
            select(tempSelection);
            break;
        case KeyEvent.VK_DOWN: // LIU: Add support for down arrow
            setKeyStart(-1);
            tempSelection.set(selection);
            tempSelection.caret = lineDelta(tempSelection.caret, +1);
            if (!shift) {
                tempSelection.anchor = tempSelection.caret;
            }
            select(tempSelection);
            break;
        case KeyEvent.VK_DELETE: // LIU: Add delete key support
            if (!editable) break;
            setKeyStart(-1);
            if (contents.length() == 0) break;
            start = selection.getStart();
            end = selection.getEnd();
            if (start == end) {
                ++end;
                if (end > contents.length()) {
                    getToolkit().beep();
                    return;
                }
            }
            replaceRange("", start, end);
            break;            
        }
    }

    void copy() {
        Clipboard cb = this.getToolkit().getSystemClipboard();
        StringSelection ss = new StringSelection(
            contents.substring(selection.getStart(), selection.getEnd()));
        cb.setContents(ss, ss);
    }
    
    void paste () {
        Clipboard cb = this.getToolkit().getSystemClipboard();
        Transferable t = cb.getContents(this);
        if (t == null) {
            this.getToolkit().beep();
            return;
        }
        try {
            String temp = (String) t.getTransferData(DataFlavor.stringFlavor);
            insertText(temp);
        } catch (Exception e) {
            this.getToolkit().beep();
        }            
    }

    /**
     * LIU: Given an offset into contents, moves up or down by lines,
     * according to lineStarts[].
     * @param off the offset into contents
     * @param delta how many lines to move up (< 0) or down (> 0)
     * @return the new offset into contents
     */
    private int lineDelta(int off, int delta) {
        int line = findLine(off, false);
        int posInLine = off - lineStarts[line];
        // System.out.println("off=" + off + " at " + line + ":" + posInLine);
        line += delta;
        if (line < 0) {
            line = posInLine = 0;
        } else if (line >= lineCount) {
            return contents.length();
        }
        off = lineStarts[line] + posInLine;
        if (off >= lineStarts[line+1]) {
            off = lineStarts[line+1] - 1;
        }
        return off;
    }
      
    public void keyReleased(KeyEvent e) {
        int code = e.getKeyCode();
        if (DEBUG) System.out.println("keyReleased "
          + hex((char)code) + ", " + hex((char)e.getModifiers()));
    }

    public void keyTyped(KeyEvent e) {
        char ch = e.getKeyChar();
        if (DEBUG) System.out.println("keyTyped "
          + hex((char)ch) + ", " + hex((char)e.getModifiers()));
        if ((e.getModifiers() & InputEvent.CTRL_MASK) != 0) return;
        int start, end;
        switch (ch) {
        case KeyEvent.CHAR_UNDEFINED:
            break;
        case KeyEvent.VK_BACK_SPACE:
            //setKeyStart(-1);
            if (!editable) break;
            if (contents.length() == 0) break;
            start = selection.getStart();
            end = selection.getEnd();
            if (start == end) {
                --start;
                if (start < 0) {
                    getToolkit().beep(); // LIU: Add audio feedback of NOP
                    return;
                }
            }
            replaceRange("", start, end);
            break;        
        case KeyEvent.VK_DELETE:
            //setKeyStart(-1);
            if (!editable) break;
            if (contents.length() == 0) break;
            start = selection.getStart();
            end = selection.getEnd();
            if (start == end) {
                ++end;
                if (end > contents.length()) {
                    getToolkit().beep(); // LIU: Add audio feedback of NOP
                    return;
                }
            }
            replaceRange("", start, end);
            break;
        default:
            if (!editable) break;
            // LIU: Dispatch to subclass API
            handleKeyTyped(e);
            break;
        }
    }

    // LIU: Subclass API for handling of key typing
    protected void handleKeyTyped(KeyEvent e) {
        insertText(String.valueOf(e.getKeyChar()));
    }
    
    protected void setKeyStart(int keyStart) {
        if (activeStart != keyStart) {
            activeStart = keyStart;
            repaint(10);
        }
    }
    
    protected void validateKeyStart() {
        if (activeStart > selection.getStart()) {
            activeStart = selection.getStart();
            repaint(10);
        }
    }
    
    protected int getKeyStart() {
        return activeStart;
    }

// ===================== Control ======================

    public synchronized void setEditable(boolean b) {
        editable = b;
    }

    public boolean isEditable() {
        return editable;
    }

    public void select(Selection newSelection) {
        newSelection.pin(contents);
        if (!selection.equals(newSelection)) {
            selection.set(newSelection);
            if (selectionListener != null) {
                selectionListener.actionPerformed(
                  new ActionEvent(this, ActionEvent.ACTION_PERFORMED,
                    "Selection Changed", 0));
            }
            repaint(10);
            valid = false;
        }
    }

    public void select(int start, int end) {
        select(start, end, false);
    }

    public void select(int start, int end, boolean clickAfter) {
        tempSelection.set(start, end, clickAfter);
        select(tempSelection);
    }

    public int getSelectionStart() {
        return selection.getStart();
    }

    public int getSelectionEnd() {
        return selection.getEnd();
    }

    public void setBounds(int x, int y, int w, int h) {
        super.setBounds(x,y,w,h);
        redoLines = true;
    }

    public Dimension getPreferredSize() {
        return new Dimension(lastWidth,lastHeight);
    }

    public Dimension getMaximumSize() {
        return new Dimension(lastWidth,lastHeight);
    }

    public Dimension getMinimumSize() {
        return new Dimension(lastHeight,lastHeight);
    }

    public void setText(String text) {
        setText2(text);
        select(tempSelection.set(selection).pin(contents));
    }

    public void setText2(String text) {
        contents = text;
        charBreaker.setText(text);
        wordBreaker.setText(text);
        lineBreaker.setText(text);
        redoLines = true;
        if (textListener != null)
            textListener.textValueChanged(
              new TextEvent(this, TextEvent.TEXT_VALUE_CHANGED));
        repaint(16);
    }

    public void insertText(String text) {
        if (activeStart == -1) activeStart = selection.getStart();
        replaceRange(text, selection.getStart(), selection.getEnd());
    }

    public void replaceRange(String s, int start, int end) {
        setText2(contents.substring(0,start) + s
          + contents.substring(end));
        select(tempSelection.set(selection).
          fixAfterReplace(start, end, s.length()));
        validateKeyStart();
    }

    public String getText() {
        return contents;
    }

    public void setFont(Font font) {
        super.setFont(font);
        redoLines = true;
        repaint(16);
    }

    // ================== Graphics ======================

    public void update(Graphics g) {
        if (DEBUG) System.out.println("update");
        paint(g);
    }

    public void paint(Graphics g) {
        mySize = getSize();
        if (cacheImage == null
          || cacheImage.getHeight(this) != mySize.height
          || cacheImage.getWidth(this) != mySize.width) {
            cacheImage = createImage(mySize.width, mySize.height);
            valid = false;
        }
        if (!valid || redoLines) {
            if (DEBUG) System.out.println("painting");
            paint2(cacheImage.getGraphics());
            valid = true;
        }
        //getToolkit().sync();
        if (DEBUG) System.out.println("copying");
        g.drawImage(cacheImage,
          0, 0, mySize.width, mySize.height,
          0, 0, mySize.width, mySize.height,
          this);
    }

    public void paint2(Graphics g) {
        g.clearRect(0, 0, mySize.width, mySize.height);
        if (DEBUG) System.out.println("print");
        if (focus) g.setColor(Color.black);
        else g.setColor(Color.gray);
        g.drawRect(0,0,mySize.width-1,mySize.height-1);
        g.setClip(1,1,
          mySize.width-2,mySize.height-2);
        g.setColor(Color.black);
        g.setFont(getFont());
        fm = g.getFontMetrics();
        lineAscent = fm.getAscent();
        lineLeading = fm.getLeading();
        lineHeight = lineAscent + fm.getDescent() + lineLeading;
        int y = yInset + lineAscent;
        String lastSubstring = "";
        if (redoLines) fixLineStarts(mySize.width-xInset-xInset);
        for (int i = 0; i < lineCount; y += lineHeight, ++i) {
            // LIU: Don't display terminating ^M characters
            int lim = lineStarts[i+1];
            if (lim > 0 && contents.length() > 0 &&
                contents.charAt(lim-1) == CR) --lim;
            lastSubstring = contents.substring(lineStarts[i],lim);
            g.drawString(lastSubstring, xInset, y);
        }
        drawSelection(g, lastSubstring);
        lastHeight = y + yInset - lineHeight + yInset;
        lastWidth = mySize.width-xInset-xInset;
    }

    void paintRect(Graphics g, int x, int y, int w, int h) {
        if (focus) {
            g.fillRect(x, y, w, h);
        } else {
            g.drawRect(x, y, w-1, h-1);
        }
    }

    public void drawSelection(Graphics g, String lastSubstring) {
        g.setXORMode(Color.black);
        if (activeStart != -1) {
            offset2Point(activeStart, false, activePoint);
            g.setColor(Color.magenta);
            int line = activePoint.x - 1;
            g.fillRect(line, activePoint.y, 1, lineHeight);
        }
        if (selection.isCaret()) {
            offset2Point(selection.caret, selection.clickAfter, caretPoint);
        } else {
            if (focus) g.setColor(Color.blue);
            else g.setColor(Color.yellow);
            offset2Point(selection.getStart(), true, startPoint);
            offset2Point(selection.getEnd(), false, endPoint);
            if (selection.getStart() == selection.caret)
                caretPoint.setLocation(startPoint);
            else caretPoint.setLocation(endPoint);
            if (startPoint.y == endPoint.y) {
                paintRect(g, startPoint.x, startPoint.y,
                  Math.max(1,endPoint.x-startPoint.x), lineHeight);
            } else {
                paintRect(g, startPoint.x, startPoint.y,
                  (mySize.width-xInset)-startPoint.x, lineHeight);
                if (startPoint.y + lineHeight < endPoint.y)
                  paintRect(g, xInset, startPoint.y + lineHeight,
                  (mySize.width-xInset)-xInset, endPoint.y - startPoint.y - lineHeight);
                paintRect(g, xInset, endPoint.y, endPoint.x-xInset, lineHeight);
            }
        }
        if (focus || selection.isCaret()) {
            if (focus) g.setColor(Color.green);
            else g.setColor(Color.red);
            int line = caretPoint.x - (selection.clickAfter ? 0 : 1);
            g.fillRect(line, caretPoint.y, 1, lineHeight);
            int w = lineHeight/12 + 1;
            int braces = line - (selection.clickAfter ? -1 : w);
            g.fillRect(braces, caretPoint.y, w, 1);
            g.fillRect(braces, caretPoint.y + lineHeight - 1, w, 1);
        }
    }

    public Point offset2Point(int off, boolean start, Point p) {
        int line = findLine(off, start);
        int width = 0;
        try {
            width = fm.stringWidth(
              contents.substring(lineStarts[line], off));
        } catch (Exception e) {
            System.out.println(e);
        }
        p.x = width + xInset;
        if (p.x > mySize.width - xInset)
            p.x = mySize.width - xInset;
        p.y = lineHeight * line + yInset;
        return p;
    }

    private int findLine(int off, boolean start) {
        // if it is start, then go to the next line!
        if (start) ++off;
        for (int i = 1; i < lineCount; ++i) {
            // LIU: This was <= ; changed to < to make caret after
            // final CR in line appear at START of next line.
            if (off < lineStarts[i]) return i-1;
        }
        // LIU: Check for special case; after CR at end of the last line
        if (off == lineStarts[lineCount] &&
            off > 0 && contents.length() > 0 && contents.charAt(off-1) == CR) {
            return lineCount;
        }
        return lineCount-1;
    }

    // offsets on any line will go from start,true to end,false
    // excluding start,false and end,true
    public Selection point2Offset(Point p, Selection o) {
        if (p.y < yInset) {
            o.caret = 0;
            o.clickAfter = true;
            return o;
        }
        int line = (p.y - yInset)/lineHeight;
        if (line >= lineCount) {
            o.caret = contents.length();
            o.clickAfter = false;
            return o;
        }
        int target = p.x - xInset;
        if (target <= 0) {
            o.caret = lineStarts[line];
            o.clickAfter = true;
            return o;
        }
        int lowGuess = lineStarts[line];
        int lowWidth = 0;
        int highGuess = lineStarts[line+1];
        int highWidth = fm.stringWidth(contents.substring(lineStarts[line],highGuess));
        if (target >= highWidth) {
            o.caret = lineStarts[line+1];
            o.clickAfter = false;
            return o;
        }
        while (lowGuess < highGuess - 1) {
            int guess = (lowGuess + highGuess)/2;
            int width = fm.stringWidth(contents.substring(lineStarts[line],guess));
            if (width <= target) {
                lowGuess = guess;
                lowWidth = width;
                if (width == target) break;
            } else {
                highGuess = guess;
                highWidth = width;
            }
        }
        // at end, either lowWidth < target < width(low+1), or lowWidth = target
        int highBound = charBreaker.following(lowGuess);
        int lowBound = charBreaker.previous();
        // we are now at character boundaries
        if (lowBound != lowGuess)
            lowWidth = fm.stringWidth(contents.substring(lineStarts[line],lowBound));
        if (highBound != highGuess)
            highWidth = fm.stringWidth(contents.substring(lineStarts[line],highBound));
        // we now have the right widths
        if (target - lowWidth < highWidth - target) {
            o.caret = lowBound;
            o.clickAfter = true;
        } else {
            o.caret = highBound;
            o.clickAfter = false;
        }
        // we now have the closest!
        return o;
    }

    private void fixLineStarts(int width) {
        lineCount = 1;
        lineStarts[0] = 0;
        if (contents.length() == 0) {
            lineStarts[1] = 0;
            return;
        }
        int end = 0;
        // LIU: Add check for MAX_LINES
        for (int start = 0; start < contents.length() && lineCount < MAX_LINES;
             start = end) {
            end = nextLine(fm, start, width);
            lineStarts[lineCount++] = end;
            if (end == start) { // LIU: Assertion
                throw new RuntimeException("nextLine broken");
            }
        }
        --lineCount;
        redoLines = false;
    }

    // LIU: Enhanced to wrap long lines.  Bug with return of start fixed.
    public int nextLine(FontMetrics fMtr, int start, int width) {
        int len = contents.length();
        for (int i = start; i < len; ++i) {
            // check for line separator
            char ch = (contents.charAt(i));
            if (ch >= 0x000A && ch <= 0x000D || ch == 0x2028 || ch == 0x2029) {
                len = i + 1;
                if (ch == 0x000D && i+1 < len && contents.charAt(i+1) == 0x000A) // crlf
                    ++len; // grab extra char
                break;
            }
        }
        String subject = contents.substring(start,len);
        if (visibleWidth(fMtr, subject) <= width)
          return len;

        // LIU: Remainder of this method rewritten to accomodate lines
        // longer than the component width by first trying to break
        // into lines; then words; finally chars.
        int n = findFittingBreak(fMtr, subject, width, lineBreaker);
        if (n == 0) {
            n = findFittingBreak(fMtr, subject, width, wordBreaker);
        }
        if (n == 0) {
            n = findFittingBreak(fMtr, subject, width, charBreaker);
        }
        return n > 0 ? start + n : len;
    }

    /**
     * LIU: Finds the longest substring that fits a given width
     * composed of subunits returned by a BreakIterator.  If the smallest
     * subunit is too long, returns 0.
     * @param fMtr metrics to use
     * @param line the string to be fix into width
     * @param width line.substring(0, result) must be <= width
     * @param breaker the BreakIterator that will be used to find subunits
     * @return maximum characters, at boundaries returned by breaker,
     * that fit into width, or zero on failure
     */
    private int findFittingBreak(FontMetrics fMtr, String line, int width,
                                 BreakIterator breaker) {
        breaker.setText(line);
        int last = breaker.first();
        int end = breaker.next();
        while (end != BreakIterator.DONE &&
               visibleWidth(fMtr, line.substring(0, end)) <= width) {
            last = end;
            end = breaker.next();
        }
        return last;
    }

    public int visibleWidth(FontMetrics fMtr, String s) {
        int i;
        for (i = s.length()-1; i >= 0; --i) {
            char ch = s.charAt(i);
            if (!(ch == ' ' || ch >= 0x000A && ch <= 0x000D || ch == 0x2028 || ch == 0x2029))
                return fMtr.stringWidth(s.substring(0,i+1));
        }
        return 0;
    }

// =============== Utility ====================

    private void fixHex() {
        if (selection.getEnd() == 0) return;
        int store = 0;
        int places = 1;
        int count = 0;
        int min = Math.min(8,selection.getEnd());
        for (int i = 0; i < min; ++i) {
            char ch = contents.charAt(selection.getEnd()-1-i);
            int value = Character.getNumericValue(ch);
            if (value < 0 || value > 15) break;
            store += places * value;
            ++count;
            places *= 16;
        }
        String add = "";
        int bottom = store & 0xFFFF;
        if (store >= 0xD8000000 && store < 0xDC000000
          && bottom >= 0xDC00 && bottom < 0xE000) { // surrogates
            add = "" + (char)(store >> 16) + (char)bottom;
        } else if (store > 0xFFFF && store <= 0x10FFFF) {
            store -= 0x10000;
            add = "" + (char)(((store >> 10) & 0x3FF) + 0xD800)
              + (char)((store & 0x3FF) + 0xDC00);
              
        } else if (count >= 4) {
            count = 4;
            add = ""+(char)(store & 0xFFFF);
        } else {
            count = 1;
            char ch = contents.charAt(selection.getEnd()-1);
            add = hex(ch);
            if (ch >= 0xDC00 && ch <= 0xDFFF && selection.getEnd() > 1) {
                ch = contents.charAt(selection.getEnd()-2);
                if (ch >= 0xD800 && ch <= 0xDBFF) {
                    count = 2;
                    add = hex(ch) + add;
                }
            }
        }
        replaceRange(add, selection.getEnd()-count, selection.getEnd());
    }

    public static String hex(char ch) {
        String result = Integer.toString(ch,16).toUpperCase();
        result = "0000".substring(result.length(),4) + result;
        return result;
    }
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/impl/Selection.java000066400000000000000000000113661172643025600244550ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1996-2010, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
package com.ibm.icu.dev.demo.impl;
import java.text.BreakIterator;

public final class Selection {

    public int anchor;
    public int caret;
    public boolean clickAfter;

    public int getStart() {
        return anchor < caret ? anchor : caret;
    }

    public int getEnd() {
        return anchor > caret ? anchor : caret;
    }

    public boolean isCaret() {
        return anchor == caret;
    }

    public Selection set(Selection other) {
        anchor = other.anchor;
        caret = other.caret;
        clickAfter = other.clickAfter;
        return this;
    }

    public Selection set(int anchor, int caret, boolean clickAfter) {
        this.anchor = anchor;
        this.caret = caret;
        this.clickAfter = clickAfter;
        return this;
    }

    public boolean equals(Object other) {
        Selection other2 = (Selection)other;
        return anchor == other2.anchor
          && caret == other2.caret
          && clickAfter == other2.clickAfter;
    }

    public boolean isLessThan(Selection other) {
        return getStart() < other.getEnd();
    }

    public Selection pin(String text) {
        if (anchor > text.length()) {
            anchor = text.length();
        } else if (anchor < 0) {
            anchor = 0;
        }
        if (caret > text.length()) {
            caret = text.length();
            clickAfter = true;
        } else if (caret < 0) {
            caret = 0;
            clickAfter = false;
        }
        return this;
    }

    public Selection swap(Selection after) {
        int temp = anchor;
        anchor = after.anchor;
        after.anchor = temp;
        temp = caret;
        caret = after.caret;
        after.caret = temp;
        boolean b = clickAfter;
        clickAfter = after.clickAfter;
        after.clickAfter = b;
        return this;
    }

    public Selection fixAfterReplace(int start, int end, int len) {
        if (anchor >= start) {
            if (anchor < end) anchor = end;
            anchor = start + len + anchor - end;
        }
        if (caret >= start) {
            if (caret < end) caret = end;
            caret = start + len + caret - end;
        }
        return this;
    }

        // Mac & Windows considerably different
        // Mac: end++. If start!=end, start=end
        //  SHIFT: move end right
        //  CTL: no different
        // Windows:
        //  UNSHIFTED: if start!=end, start = end, else start=end=end+1;
        //       anchor = tip = start
        //  SHIFT: tip++
        //  CTL: if start!=end, start = end = nextbound(end-1),
        //   else start=end=nextbound(end)
        //       anchor = tip = start
        //  CTL/SHIFT: tip = nextbound(tip)

    public Selection nextBound(BreakIterator breaker,
      int direction, boolean extend) {
        if (!extend && anchor != caret) caret -= direction;
        caret = next(caret, breaker, direction, true);
        if (!extend) anchor = caret;
        clickAfter = false;
        return this;
    }

    // expand start and end to word breaks--if they are not already on one
    public void expand(BreakIterator breaker) {
        if (anchor <= caret) {
            anchor = next(anchor,breaker,-1,false);
            caret = next(caret,breaker,1,false);
            /*
            try {
                breaker.following(anchor);
                anchor = breaker.previous();
            } catch (Exception e) {}
            try {
                caret = breaker.following(caret-1);
            } catch (Exception e) {}
            */
        } else {
            anchor = next(anchor,breaker,1,false);
            caret = next(caret,breaker,-1,false);
            /*
            try {
                breaker.following(caret);
                caret = breaker.previous();
            } catch (Exception e) {}
            try {
                anchor = breaker.following(anchor-1);
            } catch (Exception e) {}
            */
        }
    }

    // different = false - move to next boundary, unless on one
    // true - move to next boundary, even if on one
    public static int next(int position, BreakIterator breaker,
      int direction, boolean different) {
        if (!different) position -= direction;
        try {
            if (direction > 0) {
                position = breaker.following(position);
            } else {
                breaker.following(position-1);
                position = breaker.previous();
            }
        } catch (Exception e) {}
        return position;
    }
}

icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/impl/package.html000066400000000000000000000004331172643025600241370ustar00rootroot00000000000000





Shared utilities for demo applications and Applets.

icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/number/000077500000000000000000000000001172643025600222055ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/number/CurrencyDemo.java000066400000000000000000000105261172643025600254530ustar00rootroot00000000000000/*
**********************************************************************
* Copyright (c) 2003-2010, International Business Machines
* Corporation and others.  All Rights Reserved.
**********************************************************************
* Author: Mark Davis
* Created: May 22 2003
* Since: ICU 2.6
**********************************************************************
*/
package com.ibm.icu.dev.demo.number;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

import com.ibm.icu.impl.Utility;
import com.ibm.icu.text.DecimalFormat;
import com.ibm.icu.text.DecimalFormatSymbols;
import com.ibm.icu.text.NumberFormat;
import com.ibm.icu.util.Currency;

/**
 * Demonstration code to illustrate how to obtain ICU 2.6-like currency
 * behavior using pre-ICU 2.6 ICU4J.
 * @author Mark Davis
 */
public class CurrencyDemo {

    public static void main(String[] args) {
        testFormatHack(true);
    }

    static NumberFormat getCurrencyFormat(Currency currency,
                                          Locale displayLocale,
                                          boolean ICU26) {
        // code for ICU 2.6
        if (ICU26) {
            NumberFormat result = NumberFormat.getCurrencyInstance(displayLocale);
            result.setCurrency(currency);
            return result;
        }

        // ugly work-around for 2.4
        DecimalFormat result = (DecimalFormat)NumberFormat.getCurrencyInstance(displayLocale);
        HackCurrencyInfo hack = (HackCurrencyInfo)(hackData.get(currency.getCurrencyCode()));
        result.setMinimumFractionDigits(hack.decimals);
        result.setMaximumFractionDigits(hack.decimals);
        result.setRoundingIncrement(hack.rounding);
        DecimalFormatSymbols symbols = result.getDecimalFormatSymbols();
        symbols.setCurrencySymbol(hack.symbol);
        result.setDecimalFormatSymbols(symbols);
        return result;
    }
        
    static Map hackData = new HashMap();
    static class HackCurrencyInfo {
        int decimals;
        double rounding;
        String symbol;
        HackCurrencyInfo(int decimals, double rounding, String symbol) {
            this.decimals = decimals;
            this.rounding = rounding;
            this.symbol = symbol;
        }
    }
    static {
        hackData.put("USD", new HackCurrencyInfo(2, 0, "$"));
        hackData.put("GBP", new HackCurrencyInfo(2, 0, "\u00A3"));
        hackData.put("JPY", new HackCurrencyInfo(0, 0, "\u00A5"));
        hackData.put("EUR", new HackCurrencyInfo(2, 0, "\u20AC"));
    }

    /**
     * Walk through all locales and compare the output of the ICU26
     * currency format with the "hacked" currency format.
     * @param quiet if true, only display discrepancies.  Otherwise,
     * display all results.
     */
    static void testFormatHack(boolean quiet) {
        String[] testCurrencies = {"USD","GBP","JPY","EUR"};
        Locale[] testLocales = NumberFormat.getAvailableLocales();
        for (int i = 0; i < testLocales.length; ++i) {
            // since none of this should vary by country, we'll just do by language
            if (!testLocales[i].getCountry().equals("")) continue;
            boolean noOutput = true;
            if (!quiet) {
                System.out.println(testLocales[i].getDisplayName());
                noOutput = false;
            }
            for (int j = 0; j < testCurrencies.length; ++j) {
                NumberFormat nf26 = getCurrencyFormat(Currency.getInstance(testCurrencies[j]), testLocales[i], true);
                String str26 = nf26.format(1234.567);
                if (!quiet) {
                    System.out.print("\t" + Utility.escape(str26));
                }
                NumberFormat nf24 = getCurrencyFormat(Currency.getInstance(testCurrencies[j]), testLocales[i], false);
                String str24 = nf24.format(1234.567);
                if (!str24.equals(str26)) {
                    if (noOutput) {
                        System.out.println(testLocales[i].getDisplayName());
                        noOutput = false;
                    }
                    if (quiet) {
                        System.out.print("\t" + Utility.escape(str26));
                    }
                    System.out.print(" (" + Utility.escape(str24) + ")");
                }
            }
            if (!noOutput) {
                System.out.println();
            }
        }
    }
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/rbnf/000077500000000000000000000000001172643025600216445ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/rbnf/RbnfDemo.java000066400000000000000000000501061172643025600242050ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1996-2010, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
package com.ibm.icu.dev.demo.rbnf;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.CardLayout;
import java.awt.Checkbox;
import java.awt.Choice;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.ScrollPane;
import java.awt.TextArea;
import java.awt.TextComponent;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.BreakIterator;
import java.text.DecimalFormat;
import java.text.ParsePosition;
import java.util.Locale;

import com.ibm.icu.dev.demo.impl.DemoApplet;
import com.ibm.icu.text.RuleBasedNumberFormat;

public class RbnfDemo extends DemoApplet {
    /**
     * For serialization
     */
    private static final long serialVersionUID = -9119861296873763536L;

    /**
     * Puts a copyright in the .class file
     */
//    private static final String copyrightNotice
//        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";

    /*
     * code to run the demo as an application
     */
    public static void main(String[] argv) {
        new RbnfDemo().showDemo();
    }

    protected Dimension getDefaultFrameSize(DemoApplet applet, Frame f) {
        return new Dimension(430,270);
    }

    protected Frame createDemoFrame(DemoApplet applet) {
        final Frame window = new Frame("Number Spellout Demo");
        window.setSize(800, 600);
        window.setLayout(new BorderLayout());

        Panel mainPanel = new Panel();
        mainPanel.setLayout(new GridLayout(1,2));

        commentaryField = new TextArea("", 0, 0, TextArea.SCROLLBARS_VERTICAL_ONLY);
        commentaryField.setSize(800, 50);
        commentaryField.setText(RbnfSampleRuleSets.sampleRuleSetCommentary[0]);
        commentaryField.setEditable(false);
        commentaryField.setFont(new Font("Helvetica", Font.PLAIN, 14));

        spelloutFormatter = new RuleBasedNumberFormat(RbnfSampleRuleSets.usEnglish, Locale.US);
        spelloutFormatter.setLenientParseMode(lenientParse);
        populateRuleSetMenu();
        numberFormatter = new DecimalFormat("#,##0.##########");
        parsePosition = new ParsePosition(0);
        theNumber = 0;

        numberField = new TextField();
        numberField.setFont(new Font("Serif", Font.PLAIN, 24));
        textField = new DemoTextFieldHolder();
        textField.setFont(new Font("Serif", Font.PLAIN, 24));
        rulesField = new DemoTextFieldHolder();
        rulesField.setFont(new Font("Serif", Font.PLAIN, 14));
        lenientParseButton = new Checkbox("Lenient parse", lenientParse);

        numberField.addTextListener(new TextListener() {
            public void textValueChanged(TextEvent e) {
                if (!numberFieldHasFocus)
                    return;

                String fieldText = ((TextComponent)(e.getSource())).getText();
                parsePosition.setIndex(0);
                Number temp = numberFormatter.parse(fieldText, parsePosition);
                if (temp == null || parsePosition.getIndex() == 0) {
                    theNumber = 0;
                    textField.setText("PARSE ERROR");
                }
                else {
                    theNumber = temp.doubleValue();
                    textField.setText(spelloutFormatter.format(theNumber, ruleSetName));
                }
            }
        } );

        numberField.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
                numberFieldHasFocus = false;
                numberField.setText(numberFormatter.format(theNumber));
            }

            public void focusGained(FocusEvent e) {
                numberFieldHasFocus = true;
                numberField.selectAll();
            }
        } );

        textField.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                if (e.getKeyChar() == '\t') {
                    String fieldText = ((TextComponent)(e.getSource())).getText();
                    parsePosition.setIndex(0);
                    theNumber = spelloutFormatter.parse(fieldText, parsePosition)
                                        .doubleValue();
                    if (parsePosition.getIndex() == 0) {
                        theNumber = 0;
                        numberField.setText("PARSE ERROR");
                        textField.selectAll();
                    }
                    else if (parsePosition.getIndex() < fieldText.length()) {
                        textField.select(parsePosition.getIndex(), fieldText.length());
                        numberField.setText(numberFormatter.format(theNumber));
                    }
                    else {
                        textField.selectAll();
                        numberField.setText(numberFormatter.format(theNumber));
                    }
                    e.consume();
                }
            }
        } );

        textField.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
                String fieldText = ((TextComponent)(e.getSource())).getText();
                parsePosition.setIndex(0);
                theNumber = spelloutFormatter.parse(fieldText, parsePosition)
                                .doubleValue();
                if (parsePosition.getIndex() == 0)
                    numberField.setText("PARSE ERROR");
                else
                    numberField.setText(numberFormatter.format(theNumber));
                textField.setText(textField.getText()); // textField.repaint() didn't work right
            }

            public void focusGained(FocusEvent e) {
                textField.selectAll();
            }
        } );

        rulesField.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                if (e.getKeyChar() == '\t') {
                    String fieldText = ((TextComponent)(e.getSource())).getText();
                    if (formatterMenu.getSelectedItem().equals("Custom") || !fieldText.equals(
                                    RbnfSampleRuleSets.sampleRuleSets[formatterMenu.getSelectedIndex()])) {
                        try {
                            RuleBasedNumberFormat temp = new RuleBasedNumberFormat(fieldText);
                            temp.setLenientParseMode(lenientParse);
                            populateRuleSetMenu();
                            spelloutFormatter = temp;
                            customRuleSet = fieldText;
                            formatterMenu.select("Custom");
                            commentaryField.setText(RbnfSampleRuleSets.
                                sampleRuleSetCommentary[RbnfSampleRuleSets.
                                sampleRuleSetCommentary.length - 1]);
                            redisplay();
                        }
                        catch (Exception x) {
                            textField.setText(x.toString());
                        }
                    }
                    e.consume();
                }
            }
        } );

        rulesField.addFocusListener(new FocusAdapter() {
            public void focusLost(FocusEvent e) {
                String fieldText = ((TextComponent)(e.getSource())).getText();
                if (formatterMenu.getSelectedItem().equals("Custom") || !fieldText.equals(
                                RbnfSampleRuleSets.sampleRuleSets[formatterMenu.getSelectedIndex()])) {
                    try {
                        RuleBasedNumberFormat temp = new RuleBasedNumberFormat(fieldText);
                        temp.setLenientParseMode(lenientParse);
                        populateRuleSetMenu();
                        spelloutFormatter = temp;
                        customRuleSet = fieldText;
                        formatterMenu.select("Custom");
                        redisplay();
                    }
                    catch (Exception x) {
                        textField.setText(x.toString());
                    }
                }
                rulesField.setText(rulesField.getText()); // rulesField.repaint() didn't work right
            }
        } );

        lenientParseButton.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                lenientParse = lenientParseButton.getState();
                spelloutFormatter.setLenientParseMode(lenientParse);
            }
        } );

        numberField.setText(numberFormatter.format(theNumber));
        numberField.selectAll();
        textField.setText(spelloutFormatter.format(theNumber, ruleSetName));

        Panel leftPanel = new Panel();
        leftPanel.setLayout(new BorderLayout());
        Panel panel = new Panel();
        panel.setLayout(new BorderLayout());
        Panel panel1 = new Panel();
        panel1.setLayout(new GridLayout(3, 1));
        panel1.add(new Panel());
        panel1.add(numberField, "Center");
        panel1.add(lenientParseButton);
        panel.add(panel1, "Center");
        Panel panel2 = new Panel();
        panel2.setLayout(new GridLayout(3, 3));
        Button button = new Button("+100");
        button.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                roll(100);
            }
        } );
        panel2.add(button);
        button = new Button("+10");
        button.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                roll(10);
            }
        } );
        panel2.add(button);
        button = new Button("+1");
        button.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                roll(1);
            }
        } );
        panel2.add(button);
        button = new Button("<");
        button.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                theNumber *= 10;
                redisplay();
            }
        } );
        panel2.add(button);
        panel2.add(new Panel());
        button = new Button(">");
        button.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                theNumber /= 10;
                redisplay();
            }
        } );
        panel2.add(button);
        button = new Button("-100");
        button.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                roll(-100);
            }
        } );
        panel2.add(button);
        button = new Button("-10");
        button.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                roll(-10);
            }
        } );
        panel2.add(button);
        button = new Button("-1");
        button.addActionListener( new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                roll(-1);
            }
        } );
        panel2.add(button);
        panel.add(panel2, "East");
        leftPanel.add(panel, "North");
        leftPanel.add(textField, "Center");

        Panel rightPanel = new Panel();
        rightPanel.setLayout(new BorderLayout());
        formatterMenu = new Choice();
        for (int i = 0; i < RbnfSampleRuleSets.sampleRuleSetNames.length; i++)
            formatterMenu.addItem(RbnfSampleRuleSets.sampleRuleSetNames[i]);
        formatterMenu.addItem("Custom");
        formatterMenu.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                Choice source = (Choice)(e.getSource());
                int item = source.getSelectedIndex();
                Locale locale = RbnfSampleRuleSets.sampleRuleSetLocales[item];

                commentaryField.setText(RbnfSampleRuleSets.
                                sampleRuleSetCommentary[item]);

                if (locale != null && (locale.getLanguage().equals("iw")
                        || locale.getLanguage().equals("ru") || locale.getLanguage().equals("ja")
                        || locale.getLanguage().equals("el")
                        || locale.getLanguage().equals("zh"))) {
                    textField.togglePanes(false);
                    rulesField.togglePanes(false);
                }
                else {
                    textField.togglePanes(true);
                    rulesField.togglePanes(true);
                }

                makeNewSpelloutFormatter();
                redisplay();
            }
        } );

        ruleSetMenu = new Choice();
        populateRuleSetMenu();

        ruleSetMenu.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                ruleSetName = ruleSetMenu.getSelectedItem();
                redisplay();
            }
        } );

        Panel menuPanel = new Panel();
        menuPanel.setLayout(new GridLayout(1, 2));
        menuPanel.add(formatterMenu);
        menuPanel.add(ruleSetMenu);
        rightPanel.add(menuPanel, "North");

        rulesField.setText(RbnfSampleRuleSets.sampleRuleSets[formatterMenu.getSelectedIndex()]);
        rightPanel.add(rulesField, "Center");

        mainPanel.add(leftPanel);
        mainPanel.add(rightPanel);

        window.add(mainPanel, "Center");
        window.add(commentaryField, "South");

        window.doLayout();
        window.show();
        final DemoApplet theApplet = applet;
        window.addWindowListener(
                new WindowAdapter() {
                    public void windowClosing(WindowEvent e) {
                        setVisible(false);
                        window.dispose();

                        if (theApplet != null) {
                            theApplet.demoClosed();
                        } else System.exit(0);
                    }
                } );
        return window;
    }

    void roll(int delta) {
        theNumber += delta;
        redisplay();
    }

    void redisplay() {
        numberField.setText(numberFormatter.format(theNumber));
        textField.setText(spelloutFormatter.format(theNumber, ruleSetName));
    }

    void makeNewSpelloutFormatter() {
        int item = formatterMenu.getSelectedIndex();
        String formatterMenuItem = formatterMenu.getSelectedItem();

        if (formatterMenuItem.equals("Custom")) {
            rulesField.setText(customRuleSet);
            spelloutFormatter = new RuleBasedNumberFormat(customRuleSet);
        }
        else {
            rulesField.setText(RbnfSampleRuleSets.sampleRuleSets[item]);

            Locale locale = RbnfSampleRuleSets.sampleRuleSetLocales[item];
            if (locale == null)
                locale = Locale.getDefault();

            spelloutFormatter = new RuleBasedNumberFormat(RbnfSampleRuleSets.
                            sampleRuleSets[item], locale);
        }
        spelloutFormatter.setLenientParseMode(lenientParse);
        populateRuleSetMenu();
    }

    void populateRuleSetMenu() {
        String[] ruleSetNames = spelloutFormatter.getRuleSetNames();

        if (ruleSetMenu != null) {
            ruleSetMenu.removeAll();
            for (int i = 0; i < ruleSetNames.length; i++)
                ruleSetMenu.addItem(ruleSetNames[i]);

            ruleSetName = ruleSetMenu.getSelectedItem();
        }
        else
            ruleSetName = ruleSetNames[0];
    }

//    private Frame demoWindow = null;

    private TextComponent numberField;
    private DemoTextFieldHolder textField;
    private DemoTextFieldHolder rulesField;
    private TextComponent commentaryField;
    private Checkbox lenientParseButton;

    private boolean numberFieldHasFocus = true;

    private RuleBasedNumberFormat spelloutFormatter;
    private DecimalFormat numberFormatter;
    private ParsePosition parsePosition;

    private boolean lenientParse = true;

    private double theNumber = 0;
//    private boolean canEdit = true;

    private Choice formatterMenu;
    private Choice ruleSetMenu;
    private String ruleSetName;

    private String customRuleSet = "NO RULES!";
}

class DemoTextField extends Component {
    /**
     * For serialization
     */
    private static final long serialVersionUID = -7947090021239472658L;
    public DemoTextField() {
    }

    public void setText(String text) {
        this.text = text;
        this.repaint();
    }

    public String getText() {
        return text;
    }

    public void paint(Graphics g) {
        Font font = getFont();
        FontMetrics fm = g.getFontMetrics();
        g.setFont(font);
        String txt = getText();
        BreakIterator bi = BreakIterator.getLineInstance();
        bi.setText(txt);
        int lineHeight = fm.getHeight();
        int width = getSize().width;
        int penY = fm.getAscent();
        int lineStart = 0;
        int tempLineEnd = bi.first();
        int lineEnd = 0;
        int maxLineEnd = 0;
        totalHeight = 0;

        while (lineStart < txt.length()) {
            maxLineEnd = txt.indexOf('\n', lineStart);
            if (maxLineEnd == -1)
                maxLineEnd = Integer.MAX_VALUE;
            while (tempLineEnd != BreakIterator.DONE && fm.stringWidth(txt.substring(
                            lineStart, tempLineEnd)) < width) {
                lineEnd = tempLineEnd;
                tempLineEnd = bi.next();
            }
            if (lineStart >= lineEnd) {
                if (tempLineEnd == BreakIterator.DONE)
                    lineEnd = txt.length();
                else
                    lineEnd = tempLineEnd;
            }
            if (lineEnd > maxLineEnd)
                lineEnd = maxLineEnd;
            g.drawString(txt.substring(lineStart, lineEnd), 0, penY);
            penY += lineHeight;
            totalHeight += lineHeight;
            lineStart = lineEnd;
            if (lineStart < txt.length() && txt.charAt(lineStart) == '\n')
                ++lineStart;
        }
    }

/*
    public Dimension getPreferredSize() {
        Dimension size = getParent().getSize();
        return new Dimension(size.width, totalHeight);
    }
*/

    private String text;
    private int totalHeight;
}

class DemoTextFieldHolder extends Panel {
    /**
     * For serialization
     */
    private static final long serialVersionUID = 7514498764062569858L;
    public DemoTextFieldHolder() {
        tf1 = new TextArea("", 0, 0, TextArea.SCROLLBARS_VERTICAL_ONLY);
        tf2 = new DemoTextField();
        sp = new ScrollPane();

        setLayout(new CardLayout());

        sp.add(tf2, "TextField1");
        sp.setVisible(false);
        add(tf1, "TestField2");
        add(sp, "ScrollPane");
    }

    public void addFocusListener(FocusListener l) {
        tf1.addFocusListener(l);
    }

    public void addKeyListener(KeyListener l) {
        tf1.addKeyListener(l);
    }

    public void setText(String text) {
        tf1.setText(text);
        tf2.setText(text);
    }

    public String getText() {
        return tf1.getText();
    }

    public void select(int start, int end) {
        tf1.select(start, end);
    }

    public void selectAll() {
        tf1.selectAll();
    }

    public void togglePanes(boolean canShowRealTextField) {
        if (canShowRealTextField != showingRealTextField) {
            CardLayout layout = (CardLayout)(getLayout());
            layout.next(this);
            showingRealTextField = canShowRealTextField;
        }
    }

    private TextArea tf1 = null;
    private DemoTextField tf2 = null;
    private ScrollPane sp = null;
    private boolean showingRealTextField = true;
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/rbnf/RbnfSampleRuleSets.java000066400000000000000000003103421172643025600262320ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1996-2007, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
package com.ibm.icu.dev.demo.rbnf;

import java.util.Locale;

/**
 * A collection of example rule sets for use with RuleBasedNumberFormat.
 * These examples are intended to serve both as demonstrations of what can
 * be done with this framework, and as starting points for designing new
 * rule sets.
 *
 * For those that claim to represent number-spellout rules for languages
 * other than U.S. English, we make no claims of either accuracy or
 * completeness.  In fact, we know them to be incomplete, and suspect
 * most have mistakes in them.  If you see something that you know is wrong,
 * please tell us!
 *
 * @author Richard Gillam
 */
public class RbnfSampleRuleSets {
    /**
     * Puts a copyright in the .class file
     */
//    private static final String copyrightNotice
//        = "Copyright \u00a91997-1998 IBM Corp.  All rights reserved.";

    //========================================================================
    // Spellout rules for various languages
    //
    // The following RuleBasedNumberFormat descriptions show the rules for
    // spelling out numeric values in various languages.  As mentioned
    // before, we cannot vouch for the accuracy or completeness of this
    // data, although we believe it's pretty close.  Basically, this
    // represents one day's worth of Web-surfing.  If you can supply the
    // missing information in any of these rule sets, or if you find errors,
    // or if you can supply spellout rules for languages that aren't shown
    // here, we want to hear from you!
    //========================================================================

    /**
     * Spellout rules for U.S. English.  This demonstration version of the
     * U.S. English spellout rules has four variants: 1) %simplified is a
     * set of rules showing the simple method of spelling out numbers in
     * English: 289 is formatted as "two hundred eighty-nine".  2) %alt-teens
     * is the same as %simplified, except that values between 1,000 and 9,999
     * whose hundreds place isn't zero are formatted in hundreds.  For example,
     * 1,983 is formatted as "nineteen hundred eighty-three," and 2,183 is
     * formatted as "twenty-one hundred eighty-three," but 2,083 is still
     * formatted as "two thousand eighty-three."  3) %ordinal formats the
     * values as ordinal numbers in English (e.g., 289 is "two hundred eighty-
     * ninth").  4) %default uses a more complicated algorithm to format
     * numbers in a more natural way: 289 is formatted as "two hundred AND
     * eighty-nine" and commas are inserted between the thousands groups for
     * values above 100,000.
     */
    public static final String usEnglish =
        // This rule set shows the normal simple formatting rules for English
        "%simplified:\n"
               // negative number rule.  This rule is used to format negative
               // numbers.  The result of formatting the number's absolute
               // value is placed where the >> is.
        + "    -x: minus >>;\n"
               // faction rule.  This rule is used for formatting numbers
               // with fractional parts.  The result of formatting the
               // number's integral part is substituted for the <<, and
               // the result of formatting the number's fractional part
               // (one digit at a time, e.g., 0.123 is "zero point one two
               // three") replaces the >>.
        + "    x.x: << point >>;\n"
               // the rules for the values from 0 to 19 are simply the
               // words for those numbers
        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
        + "        seventeen; eighteen; nineteen;\n"
               // beginning at 20, we use the >> to mark the position where
               // the result of formatting the number's ones digit.  Thus,
               // we only need a new rule at every multiple of 10.  Text in
               // backets is omitted if the value being formatted is an
               // even multiple of 10.
        + "    20: twenty[->>];\n"
        + "    30: thirty[->>];\n"
        + "    40: forty[->>];\n"
        + "    50: fifty[->>];\n"
        + "    60: sixty[->>];\n"
        + "    70: seventy[->>];\n"
        + "    80: eighty[->>];\n"
        + "    90: ninety[->>];\n"
               // beginning at 100, we can use << to mark the position where
               // the result of formatting the multiple of 100 is to be
               // inserted.  Notice also that the meaning of >> has shifted:
               // here, it refers to both the ones place and the tens place.
               // The meanings of the << and >> tokens depend on the base value
               // of the rule.  A rule's divisor is (usually) the highest
               // power of 10 that is less than or equal to the rule's base
               // value.  The value being formatted is divided by the rule's
               // divisor, and the integral quotient is used to get the text
               // for <<, while the remainder is used to produce the text
               // for >>.  Again, text in brackets is omitted if the value
               // being formatted is an even multiple of the rule's divisor
               // (in this case, an even multiple of 100)
        + "    100: << hundred[ >>];\n"
               // The rules for the higher numbers work the same way as the
               // rule for 100: Again, the << and >> tokens depend on the
               // rule's divisor, which for all these rules is also the rule's
               // base value.  To group by thousand, we simply don't have any
               // rules between 1,000 and 1,000,000.
        + "    1000: << thousand[ >>];\n"
        + "    1,000,000: << million[ >>];\n"
        + "    1,000,000,000: << billion[ >>];\n"
        + "    1,000,000,000,000: << trillion[ >>];\n"
               // overflow rule.  This rule specifies that values of a
               // quadrillion or more are shown in numerals rather than words.
               // The == token means to format (with new rules) the value
               // being formatted by this rule and place the result where
               // the == is.  The #,##0 inside the == signs is a
               // DecimalFormat pattern.  It specifies that the value should
               // be formatted with a DecimalFormat object, and that it
               // should be formatted with no decimal places, at least one
               // digit, and a thousands separator.
        + "    1,000,000,000,000,000: =#,##0=;\n"

        // This rule set formats numbers between 1,000 and 9,999 somewhat
        // differently: If the hundreds digit is not zero, the first two
        // digits are treated as a number of hundreds.  For example, 2,197
        // would come out as "twenty-one hundred ninety-seven."
        + "%alt-teens:\n"
               // just use %simplified to format values below 1,000
        + "    =%simplified=;\n"
               // values between 1,000 and 9,999 are delegated to %%alt-hundreds
               // for formatting.  The > after "1000" decreases the exponent
               // of the rule's radix by one, causing the rule's divisor
               // to be 100 instead of 1,000.  This causes the first TWO
               // digits of the number, instead of just the first digit,
               // to be sent to %%alt-hundreds
        + "    1000>: <%%alt-hundreds<[ >>];\n"
               // for values of 10,000 and more, we again just use %simplified
        + "    10,000: =%simplified=;\n"
        // This rule set uses some obscure voodoo of the description language
        // to format the first two digits of a value in the thousands.
        // The rule at 10 formats the first two digits as a multiple of 1,000
        // and the rule at 11 formats the first two digits as a multiple of
        // 100.  This works because of something known as the "rollback rule":
        // if the rule applicable to the value being formatted has two
        // substitutions, the value being formatted is an even multiple of
        // the rule's divisor, and the rule's base value ISN'T an even multiple
        // if the rule's divisor, then the rule that precedes this one in the
        // list is used instead.  (The [] notation is implemented internally
        // using this notation: a rule containing [] is split into two rules,
        // and the right one is chosen using the rollback rule.) In this case,
        // it means that if the first two digits are an even multiple of 10,
        // they're formatted with the 10 rule (containing "thousand"), and if
        // they're not, they're formatted with the 11 rule (containing
        // "hundred").  %%empty is a hack to cause the rollback rule to be
        // invoked: it makes the 11 rule have two substitutions, even though
        // the second substitution (calling %%empty) doesn't actually do
        // anything.
        + "%%alt-hundreds:\n"
        + "    0: SHOULD NEVER GET HERE!;\n"
        + "    10: <%simplified< thousand;\n"
        + "    11: =%simplified= hundred>%%empty>;\n"
        + "%%empty:\n"
        + "    0:;"

        // this rule set is the same as %simplified, except that it formats
        // the value as an ordinal number: 234 is formatted as "two hundred
        // thirty-fourth".  Notice the calls to ^simplified: we have to
        // call %simplified to avoid getting "second hundred thirty-fourth."
        + "%ordinal:\n"
        + "    zeroth; first; second; third; fourth; fifth; sixth; seventh;\n"
        + "        eighth; ninth;\n"
        + "    tenth; eleventh; twelfth; thirteenth; fourteenth;\n"
        + "        fifteenth; sixteenth; seventeenth; eighteenth;\n"
        + "        nineteenth;\n"
        + "    twentieth; twenty->>;\n"
        + "    30: thirtieth; thirty->>;\n"
        + "    40: fortieth; forty->>;\n"
        + "    50: fiftieth; fifty->>;\n"
        + "    60: sixtieth; sixty->>;\n"
        + "    70: seventieth; seventy->>;\n"
        + "    80: eightieth; eighty->>;\n"
        + "    90: ninetieth; ninety->>;\n"
        + "    100: <%simplified< hundredth; <%simplified< hundred >>;\n"
        + "    1000: <%simplified< thousandth; <%simplified< thousand >>;\n"
        + "    1,000,000: <%simplified< millionth; <%simplified< million >>;\n"
        + "    1,000,000,000: <%simplified< billionth;\n"
        + "        <%simplified< billion >>;\n"
        + "    1,000,000,000,000: <%simplified< trillionth;\n"
        + "        <%simplified< trillion >>;\n"
        + "    1,000,000,000,000,000: =#,##0=;"

        // %default is a more elaborate form of %simplified;  It is basically
        // the same, except that it introduces "and" before the ones digit
        // when appropriate (basically, between the tens and ones digits) and
        // separates the thousands groups with commas in values over 100,000.
        + "%default:\n"
               // negative-number and fraction rules.  These are the same
               // as those for %simplified, but ave to be stated here too
               // because this is an entry point
        + "    -x: minus >>;\n"
        + "    x.x: << point >>;\n"
               // just use %simplified for values below 100
        + "    =%simplified=;\n"
               // for values from 100 to 9,999 use %%and to decide whether or
               // not to interpose the "and"
        + "    100: << hundred[ >%%and>];\n"
        + "    1000: << thousand[ >%%and>];\n"
               // for values of 100,000 and up, use %%commas to interpose the
               // commas in the right places (and also to interpose the "and")
        + "    100,000>>: << thousand[>%%commas>];\n"
        + "    1,000,000: << million[>%%commas>];\n"
        + "    1,000,000,000: << billion[>%%commas>];\n"
        + "    1,000,000,000,000: << trillion[>%%commas>];\n"
        + "    1,000,000,000,000,000: =#,##0=;\n"
        // if the value passed to this rule set is greater than 100, don't
        // add the "and"; if it's less than 100, add "and" before the last
        // digits
        + "%%and:\n"
        + "    and =%default=;\n"
        + "    100: =%default=;\n"
        // this rule set is used to place the commas
        + "%%commas:\n"
               // for values below 100, add "and" (the apostrophe at the
               // beginning is ignored, but causes the space that follows it
               // to be significant: this is necessary because the rules
               // calling %%commas don't put a space before it)
        + "    ' and =%default=;\n"
               // put a comma after the thousands (or whatever preceded the
               // hundreds)
        + "    100: , =%default=;\n"
               // put a comma after the millions (or whatever precedes the
               // thousands)
        + "    1000: , <%default< thousand, >%default>;\n"
               // and so on...
        + "    1,000,000: , =%default=;"
        // %%lenient-parse isn't really a set of number formatting rules;
        // it's a set of collation rules.  Lenient-parse mode uses a Collator
        // object to compare fragments of the text being parsed to the text
        // in the rules, allowing more leeway in the matching text.  This set
        // of rules tells the formatter to ignore commas when parsing (it
        // already ignores spaces, which is why we refer to the space; it also
        // ignores hyphens, making "twenty one" and "twenty-one" parse
        // identically)
        + "%%lenient-parse:\n"
        + "    & ' ' , ',' ;\n";

    /**
     * Spellout rules for U.K. English.  U.K. English has one significant
     * difference from U.S. English: the names for values of 1,000,000,000
     * and higher.  In American English, each successive "-illion" is 1,000
     * times greater than the preceding one: 1,000,000,000 is "one billion"
     * and 1,000,000,000,000 is "one trillion."  In British English, each
     * successive "-illion" is one million times greater than the one before:
     * "one billion" is 1,000,000,000,000 (or what Americans would call a
     * "trillion"), and "one trillion" is 1,000,000,000,000,000,000.
     * 1,000,000,000 in British English is "one thousand million."  (This
     * value is sometimes called a "milliard," but this word seems to have
     * fallen into disuse.)
     */
    public static final String ukEnglish =
        "%simplified:\n"
        + "    -x: minus >>;\n"
        + "    x.x: << point >>;\n"
        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
        + "        seventeen; eighteen; nineteen;\n"
        + "    20: twenty[->>];\n"
        + "    30: thirty[->>];\n"
        + "    40: forty[->>];\n"
        + "    50: fifty[->>];\n"
        + "    60: sixty[->>];\n"
        + "    70: seventy[->>];\n"
        + "    80: eighty[->>];\n"
        + "    90: ninety[->>];\n"
        + "    100: << hundred[ >>];\n"
        + "    1000: << thousand[ >>];\n"
        + "    1,000,000: << million[ >>];\n"
        + "    1,000,000,000,000: << billion[ >>];\n"
        + "    1,000,000,000,000,000: =#,##0=;\n"
        + "%alt-teens:\n"
        + "    =%simplified=;\n"
        + "    1000>: <%%alt-hundreds<[ >>];\n"
        + "    10,000: =%simplified=;\n"
        + "    1,000,000: << million[ >%simplified>];\n"
        + "    1,000,000,000,000: << billion[ >%simplified>];\n"
        + "    1,000,000,000,000,000: =#,##0=;\n"
        + "%%alt-hundreds:\n"
        + "    0: SHOULD NEVER GET HERE!;\n"
        + "    10: <%simplified< thousand;\n"
        + "    11: =%simplified= hundred>%%empty>;\n"
        + "%%empty:\n"
        + "    0:;"
        + "%ordinal:\n"
        + "    zeroth; first; second; third; fourth; fifth; sixth; seventh;\n"
        + "        eighth; ninth;\n"
        + "    tenth; eleventh; twelfth; thirteenth; fourteenth;\n"
        + "        fifteenth; sixteenth; seventeenth; eighteenth;\n"
        + "        nineteenth;\n"
        + "    twentieth; twenty->>;\n"
        + "    30: thirtieth; thirty->>;\n"
        + "    40: fortieth; forty->>;\n"
        + "    50: fiftieth; fifty->>;\n"
        + "    60: sixtieth; sixty->>;\n"
        + "    70: seventieth; seventy->>;\n"
        + "    80: eightieth; eighty->>;\n"
        + "    90: ninetieth; ninety->>;\n"
        + "    100: <%simplified< hundredth; <%simplified< hundred >>;\n"
        + "    1000: <%simplified< thousandth; <%simplified< thousand >>;\n"
        + "    1,000,000: <%simplified< millionth; <%simplified< million >>;\n"
        + "    1,000,000,000,000: <%simplified< billionth;\n"
        + "        <%simplified< billion >>;\n"
        + "    1,000,000,000,000,000: =#,##0=;"
        + "%default:\n"
        + "    -x: minus >>;\n"
        + "    x.x: << point >>;\n"
        + "    =%simplified=;\n"
        + "    100: << hundred[ >%%and>];\n"
        + "    1000: << thousand[ >%%and>];\n"
        + "    100,000>>: << thousand[>%%commas>];\n"
        + "    1,000,000: << million[>%%commas>];\n"
        + "    1,000,000,000,000: << billion[>%%commas>];\n"
        + "    1,000,000,000,000,000: =#,##0=;\n"
        + "%%and:\n"
        + "    and =%default=;\n"
        + "    100: =%default=;\n"
        + "%%commas:\n"
        + "    ' and =%default=;\n"
        + "    100: , =%default=;\n"
        + "    1000: , <%default< thousand, >%default>;\n"
        + "    1,000,000: , =%default=;"
        + "%%lenient-parse:\n"
        + "    & ' ' , ',' ;\n";
    // Could someone please correct me if I'm wrong about "milliard" falling
    // into disuse, or have missed any other details of how large numbers
    // are rendered.  Also, could someone please provide me with information
    // on which other English-speaking countries use which system?  Right now,
    // I'm assuming that the U.S. system is used in Canada and that all the
    // other English-speaking countries follow the British system.  Can
    // someone out there confirm this?

    /**
     * Spellout rules for Spanish.  The Spanish rules are quite similar to
     * the English rules, but there are some important differences:
     * First, we have to provide separate rules for most of the twenties
     * because the ones digit frequently picks up an accent mark that it
     * doesn't have when standing alone.  Second, each multiple of 100 has
     * to be specified separately because the multiplier on 100 very often
     * changes form in the contraction: 500 is "quinientos," not
     * "cincocientos."  In addition, the word for 100 is "cien" when
     * standing alone, but changes to "ciento" when followed by more digits.
     * There also some other differences.
     */
    public static final String spanish =
        // negative-number and fraction rules
        "-x: menos >>;\n"
        + "x.x: << punto >>;\n"
        // words for values from 0 to 19
        + "cero; uno; dos; tres; cuatro; cinco; seis; siete; ocho; nueve;\n"
        + "diez; once; doce; trece; catorce; quince; diecis\u00e9is;\n"
        + "    diecisiete; dieciocho; diecinueve;\n"
        // words for values from 20 to 29 (necessary because the ones digit
        // often picks up an accent mark it doesn't have when standing alone)
        + "veinte; veintiuno; veintid\u00f3s; veintitr\u00e9s; veinticuatro;\n"
        + "    veinticinco; veintis\u00e9is; veintisiete; veintiocho;\n"
        + "    veintinueve;\n"
        // words for multiples of 10 (notice that the tens digit is separated
        // from the ones digit by the word "y".)
        + "30: treinta[ y >>];\n"
        + "40: cuarenta[ y >>];\n"
        + "50: cincuenta[ y >>];\n"
        + "60: sesenta[ y >>];\n"
        + "70: setenta[ y >>];\n"
        + "80: ochenta[ y >>];\n"
        + "90: noventa[ y >>];\n"
        // 100 by itself is "cien," but 100 followed by something is "cineto"
        + "100: cien;\n"
        + "101: ciento >>;\n"
        // words for multiples of 100 (must be stated because they're
        // rarely simple concatenations)
        + "200: doscientos[ >>];\n"
        + "300: trescientos[ >>];\n"
        + "400: cuatrocientos[ >>];\n"
        + "500: quinientos[ >>];\n"
        + "600: seiscientos[ >>];\n"
        + "700: setecientos[ >>];\n"
        + "800: ochocientos[ >>];\n"
        + "900: novecientos[ >>];\n"
        // for 1,000, the multiplier on "mil" is omitted: 2,000 is "dos mil,"
        // but 1,000 is just "mil."
        + "1000: mil[ >>];\n"
        + "2000: << mil[ >>];\n"
        // 1,000,000 is "un millon," not "uno millon"
        + "1,000,000: un mill\u00f3n[ >>];\n"
        + "2,000,000: << mill\u00f3n[ >>];\n"
        // overflow rule
        + "1,000,000,000: =#,##0= (incomplete data);";
    // The Spanish rules are incomplete.  I'm missing information on negative
    // numbers and numbers with fractional parts.  I also don't have
    // information on numbers higher than the millions

    /**
     * Spellout rules for French.  French adds some interesting quirks of its
     * own: 1) The word "et" is interposed between the tens and ones digits,
     * but only if the ones digit if 1: 20 is "vingt," and 2 is "vingt-deux,"
     * but 21 is "vingt-et-un."  2)  There are no words for 70, 80, or 90.
     * "quatre-vingts" ("four twenties") is used for 80, and values proceed
     * by score from 60 to 99 (e.g., 73 is "soixante-treize" ["sixty-thirteen"]).
     * Numbers from 1,100 to 1,199 are rendered as hundreds rather than
     * thousands: 1,100 is "onze cents" ("eleven hundred"), rather than
     * "mille cent" ("one thousand one hundred")
     */
    public static final String french =
        // the main rule set
        "%main:\n"
               // negative-number and fraction rules
        + "    -x: moins >>;\n"
        + "    x.x: << virgule >>;\n"
               // words for numbers from 0 to 10
        + "    z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
        + "    dix; onze; douze; treize; quatorze; quinze; seize;\n"
        + "        dix-sept; dix-huit; dix-neuf;\n"
               // ords for the multiples of 10: %%alt-ones inserts "et"
               // when needed
        + "    20: vingt[->%%alt-ones>];\n"
        + "    30: trente[->%%alt-ones>];\n"
        + "    40: quarante[->%%alt-ones>];\n"
        + "    50: cinquante[->%%alt-ones>];\n"
               // rule for 60.  The /20 causes this rule's multiplier to be
               // 20 rather than 10, allowinhg us to recurse for all values
               // from 60 to 79...
        + "    60/20: soixante[->%%alt-ones>];\n"
               // ...except for 71, which must be special-cased
        + "    71: soixante et onze;\n"
               // at 72, we have to repeat the rule for 60 to get us to 79
        + "    72/20: soixante->%%alt-ones>;\n"
               // at 80, we state a new rule with the phrase for 80.  Since
               // it changes form when there's a ones digit, we need a second
               // rule at 81.  This rule also includes "/20," allowing it to
               // be used correctly for all values up to 99
        + "    80: quatre-vingts; 81/20: quatre-vingt->>;\n"
               // "cent" becomes plural when preceded by a multiplier, and
               // the multiplier is omitted from the singular form
        + "    100: cent[ >>];\n"
        + "    200: << cents[ >>];\n"
        + "    1000: mille[ >>];\n"
               // values from 1,100 to 1,199 are rendered as "onze cents..."
               // instead of "mille cent..."  The > after "1000" decreases
               // the rule's exponent, causing its multiplier to be 100 instead
               // of 1,000.  This prevents us from getting "onze cents cent
               // vingt-deux" ("eleven hundred one hundred twenty-two").
        + "    1100>: onze cents[ >>];\n"
               // at 1,200, we go back to formating in thousands, so we
               // repeat the rule for 1,000
        + "    1200: mille >>;\n"
               // at 2,000, the multiplier is added
        + "    2000: << mille[ >>];\n"
        + "    1,000,000: << million[ >>];\n"
        + "    1,000,000,000: << milliarde[ >>];\n"
        + "    1,000,000,000,000: << billion[ >>];\n"
        + "    1,000,000,000,000,000: =#,##0=;\n"
        // %%alt-ones is used to insert "et" when the ones digit is 1
        + "%%alt-ones:\n"
        + "    ; et-un; =%main=;";

    /**
     * Spellout rules for Swiss French.  Swiss French differs from French French
     * in that it does have words for 70, 80, and 90.  This rule set shows them,
     * and is simpler as a result.
     */
    public static final String swissFrench =
        "%main:\n"
        + "    -x: moins >>;\n"
        + "    x.x: << virgule >>;\n"
        + "    z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
        + "    dix; onze; douze; treize; quatorze; quinze; seize;\n"
        + "        dix-sept; dix-huit; dix-neuf;\n"
        + "    20: vingt[->%%alt-ones>];\n"
        + "    30: trente[->%%alt-ones>];\n"
        + "    40: quarante[->%%alt-ones>];\n"
        + "    50: cinquante[->%%alt-ones>];\n"
        + "    60: soixante[->%%alt-ones>];\n"
               // notice new words for 70, 80, and 90
        + "    70: septante[->%%alt-ones>];\n"
        + "    80: octante[->%%alt-ones>];\n"
        + "    90: nonante[->%%alt-ones>];\n"
        + "    100: cent[ >>];\n"
        + "    200: << cents[ >>];\n"
        + "    1000: mille[ >>];\n"
        + "    1100>: onze cents[ >>];\n"
        + "    1200: mille >>;\n"
        + "    2000: << mille[ >>];\n"
        + "    1,000,000: << million[ >>];\n"
        + "    1,000,000,000: << milliarde[ >>];\n"
        + "    1,000,000,000,000: << billion[ >>];\n"
        + "    1,000,000,000,000,000: =#,##0=;\n"
        + "%%alt-ones:\n"
        + "    ; et-un; =%main=;";
    // I'm not 100% sure about Swiss French.  Is
    // this correct?  Is "onze cents" commonly used for 1,100 in both France
    // and Switzerland?  Can someone fill me in on the rules for the other
    // French-speaking countries?  I've heard conflicting opinions on which
    // version is used in Canada, and I understand there's an alternate set
    // of words for 70, 80, and 90 that is used somewhere, but I don't know
    // what those words are or where they're used.

    /**
     * Spellout rules for German.  German also adds some interesting
     * characteristics.  For values below 1,000,000, numbers are customarily
     * written out as a single word.  And the ones digit PRECEDES the tens
     * digit (e.g., 23 is "dreiundzwanzig," not "zwanzigunddrei").
     */
    public static final String german =
        // 1 is "eins" when by itself, but turns into "ein" in most
        // combinations
        "%alt-ones:\n"
        + "    null; eins; =%%main=;\n"
        + "%%main:\n"
               // words for numbers from 0 to 12.  Notice that the values
               // from 13 to 19 can derived algorithmically, unlike in most
               // other languages
        + "    null; ein; zwei; drei; vier; f\u00fcnf; sechs; sieben; acht; neun;\n"
        + "    zehn; elf; zw\u00f6lf; >>zehn;\n"
               // rules for the multiples of 10.  Notice that the ones digit
               // goes on the front
        + "    20: [>>und]zwanzig;\n"
        + "    30: [>>und]drei\u00dfig;\n"
        + "    40: [>>und]vierzig;\n"
        + "    50: [>>und]f\u00fcnfzig;\n"
        + "    60: [>>und]sechzig;\n"
        + "    70: [>>und]siebzig;\n"
        + "    80: [>>und]achtzig;\n"
        + "    90: [>>und]neunzig;\n"
        + "    100: hundert[>%alt-ones>];\n"
        + "    200: <%alt-ones>];\n"
        + "    1000: tausend[>%alt-ones>];\n"
        + "    2000: <%alt-ones>];\n"
        + "    1,000,000: eine Million[ >%alt-ones>];\n"
        + "    2,000,000: << Millionen[ >%alt-ones>];\n"
        + "    1,000,000,000: eine Milliarde[ >%alt-ones>];\n"
        + "    2,000,000,000: << Milliarden[ >%alt-ones>];\n"
        + "    1,000,000,000,000: eine Billion[ >%alt-ones>];\n"
        + "    2,000,000,000,000: << Billionen[ >%alt-ones>];\n"
        + "    1,000,000,000,000,000: =#,##0=;";
    // again, I'm not 100% sure of these rules.  I think both "hundert" and
    // "einhundert" are correct or 100, but I'm not sure which is preferable
    // in situations where this framework is likely to be used.  Also, is it
    // really true that numbers are run together into compound words all the
    // time?  And again, I'm missing information on negative numbers and
    // decimals.

    /**
     * Spellout rules for Italian.  Like German, most Italian numbers are
     * written as single words.  What makes these rules complicated is the rule
     * that says that when a word ending in a vowel and a word beginning with
     * a vowel are combined into a compound, the vowel is dropped from the
     * end of the first word: 180 is "centottanta," not "centoottanta."
     * The complexity of this rule set is to produce this behavior.
     */
    public static final String italian =
        // main rule set.  Follows the patterns of the preceding rule sets,
        // except that the final vowel is omitted from words ending in
        // vowels when they are followed by another word; instead, we have
        // separate rule sets that are identical to this one, except that
        // all the words that don't begin with a vowel have a vowel tacked
        // onto them at the front.  A word ending in a vowel calls a
        // substitution that will supply that vowel, unless that vowel is to
        // be elided.
        "%main:\n"
        + "    -x: meno >>;\n"
        + "    x.x: << virgola >>;\n"
        + "    zero; uno; due; tre; quattro; cinque; sei; sette; otto;\n"
        + "        nove;\n"
        + "    dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
        + "        diciasette; diciotto; diciannove;\n"
        + "    20: venti; vent>%%with-i>;\n"
        + "    30: trenta; trent>%%with-i>;\n"
        + "    40: quaranta; quarant>%%with-a>;\n"
        + "    50: cinquanta; cinquant>%%with-a>;\n"
        + "    60: sessanta; sessant>%%with-a>;\n"
        + "    70: settanta; settant>%%with-a>;\n"
        + "    80: ottanta; ottant>%%with-a>;\n"
        + "    90: novanta; novant>%%with-a>;\n"
        + "    100: cento; cent[>%%with-o>];\n"
        + "    200: <%%with-o>];\n"
        + "    1000: mille; mill[>%%with-i>];\n"
        + "    2000: <%%with-a>];\n"
        + "    100,000>>: <>];\n"
        + "    1,000,000: =#,##0= (incomplete data);\n"
        + "%%with-a:\n"
        + "    azero; uno; adue; atre; aquattro; acinque; asei; asette; otto;\n"
        + "        anove;\n"
        + "    adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
        + "        adiciasette; adiciotto; adiciannove;\n"
        + "    20: aventi; avent>%%with-i>;\n"
        + "    30: atrenta; atrent>%%with-i>;\n"
        + "    40: aquaranta; aquarant>%%with-a>;\n"
        + "    50: acinquanta; acinquant>%%with-a>;\n"
        + "    60: asessanta; asessant>%%with-a>;\n"
        + "    70: asettanta; asettant>%%with-a>;\n"
        + "    80: ottanta; ottant>%%with-a>;\n"
        + "    90: anovanta; anovant>%%with-a>;\n"
        + "    100: acento; acent[>%%with-o>];\n"
        + "    200: <%%with-a%%with-o>];\n"
        + "    1000: amille; amill[>%%with-i>];\n"
        + "    2000: <%%with-a%%with-a>];\n"
        + "    100,000: =%main=;\n"
        + "%%with-i:\n"
        + "    izero; uno; idue; itre; iquattro; icinque; isei; isette; otto;\n"
        + "        inove;\n"
        + "    idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
        + "        idiciasette; idiciotto; idiciannove;\n"
        + "    20: iventi; ivent>%%with-i>;\n"
        + "    30: itrenta; itrent>%%with-i>;\n"
        + "    40: iquaranta; iquarant>%%with-a>;\n"
        + "    50: icinquanta; icinquant>%%with-a>;\n"
        + "    60: isessanta; isessant>%%with-a>;\n"
        + "    70: isettanta; isettant>%%with-a>;\n"
        + "    80: ottanta; ottant>%%with-a>;\n"
        + "    90: inovanta; inovant>%%with-a>;\n"
        + "    100: icento; icent[>%%with-o>];\n"
        + "    200: <%%with-i%%with-o>];\n"
        + "    1000: imille; imill[>%%with-i>];\n"
        + "    2000: <%%with-i%%with-a>];\n"
        + "    100,000: =%main=;\n"
        + "%%with-o:\n"
        + "    ozero; uno; odue; otre; oquattro; ocinque; osei; osette; otto;\n"
        + "        onove;\n"
        + "    odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
        + "        odiciasette; odiciotto; odiciannove;\n"
        + "    20: oventi; ovent>%%with-i>;\n"
        + "    30: otrenta; otrent>%%with-i>;\n"
        + "    40: oquaranta; oquarant>%%with-a>;\n"
        + "    50: ocinquanta; ocinquant>%%with-a>;\n"
        + "    60: osessanta; osessant>%%with-a>;\n"
        + "    70: osettanta; osettant>%%with-a>;\n"
        + "    80: ottanta; ottant>%%with-a>;\n"
        + "    90: onovanta; onovant>%%with-a>;\n"
        + "    100: ocento; ocent[>%%with-o>];\n"
        + "    200: <%%with-o%%with-o>];\n"
        + "    1000: omille; omill[>%%with-i>];\n"
        + "    2000: <%%with-o%%with-a>];\n"
        + "    100,000: =%main=;\n";
    // Can someone confirm that I did the vowel-eliding thing right?  I'm
    // not 100% sure I'm doing it in all the right places, or completely
    // correctly.  Also, I don't have information for negatives and decimals,
    // and I lack words fror values from 1,000,000 on up.

    /**
     * Spellout rules for Swedish.
     */
    public static final String swedish =
        "noll; ett; tv\u00e5; tre; fyra; fem; sex; sjo; \u00e5tta; nio;\n"
        + "tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n"
        + "20: tjugo[>>];\n"
        + "30: trettio[>>];\n"
        + "40: fyrtio[>>];\n"
        + "50: femtio[>>];\n"
        + "60: sextio[>>];\n"
        + "70: sjuttio[>>];\n"
        + "80: \u00e5ttio[>>];\n"
        + "90: nittio[>>];\n"
        + "100: hundra[>>];\n"
        + "200: <>];\n"
        + "1000: tusen[ >>];\n"
        + "2000: << tusen[ >>];\n"
        + "1,000,000: en miljon[ >>];\n"
        + "2,000,000: << miljon[ >>];\n"
        + "1,000,000,000: en miljard[ >>];\n"
        + "2,000,000,000: << miljard[ >>];\n"
        + "1,000,000,000,000: en biljon[ >>];\n"
        + "2,000,000,000,000: << biljon[ >>];\n"
        + "1,000,000,000,000,000: =#,##0=";
    // can someone supply me with information on negatives and decimals?

    /**
     * Spellout rules for Dutch.  Notice that in Dutch, as in German,
     * the ones digit precedes the tens digit.
     */
    public static final String dutch =
        " -x: min >>;\n"
        + "x.x: << komma >>;\n"
        + "(zero?); een; twee; drie; vier; vijf; zes; zeven; acht; negen;\n"
        + "tien; elf; twaalf; dertien; veertien; vijftien; zestien;\n"
        + "zeventien; achtien; negentien;\n"
        + "20: [>> en ]twintig;\n"
        + "30: [>> en ]dertig;\n"
        + "40: [>> en ]veertig;\n"
        + "50: [>> en ]vijftig;\n"
        + "60: [>> en ]zestig;\n"
        + "70: [>> en ]zeventig;\n"
        + "80: [>> en ]tachtig;\n"
        + "90: [>> en ]negentig;\n"
        + "100: << honderd[ >>];\n"
        + "1000: << duizend[ >>];\n"
        + "1,000,000: << miljoen[ >>];\n"
        + "1,000,000,000: << biljoen[ >>];\n"
        + "1,000,000,000,000: =#,##0=";

    /**
     * Spellout rules for Japanese.  In Japanese, there really isn't any
     * distinction between a number written out in digits and a number
     * written out in words: the ideographic characters are both digits
     * and words.  This rule set provides two variants:  %traditional
     * uses the traditional CJK numerals (which are also used in China
     * and Korea).  %financial uses alternate ideographs for many numbers
     * that are harder to alter than the traditional numerals (one could
     * fairly easily change a one to
     * a three just by adding two strokes, for example).  This is also done in
     * the other countries using Chinese idographs, but different ideographs
     * are used in those places.
     */
    public static final String japanese =
        "%financial:\n"
        + "    \u96f6; \u58f1; \u5f10; \u53c2; \u56db; \u4f0d; \u516d; \u4e03; \u516b; \u4e5d;\n"
        + "    \u62fe[>>];\n"
        + "    20: <<\u62fe[>>];\n"
        + "    100: <<\u767e[>>];\n"
        + "    1000: <<\u5343[>>];\n"
        + "    10,000: <<\u4e07[>>];\n"
        + "    100,000,000: <<\u5104[>>];\n"
        + "    1,000,000,000,000: <<\u5146[>>];\n"
        + "    10,000,000,000,000,000: =#,##0=;\n"
        + "%traditional:\n"
        + "    \u96f6; \u4e00; \u4e8c; \u4e09; \u56db; \u4e94; \u516d; \u4e03; \u516b; \u4e5d;\n"
        + "    \u5341[>>];\n"
        + "    20: <<\u5341[>>];\n"
        + "    100: <<\u767e[>>];\n"
        + "    1000: <<\u5343[>>];\n"
        + "    10,000: <<\u4e07[>>];\n"
        + "    100,000,000: <<\u5104[>>];\n"
        + "    1,000,000,000,000: <<\u5146[>>];\n"
        + "    10,000,000,000,000,000: =#,##0=;";
    // Can someone supply me with the right fraud-proof ideographs for
    // Simplified and Traditional Chinese, and for Korean?  Can someone
    // supply me with information on negatives and decimals?

    /**
     * Spellout rules for Greek.  Again in Greek we have to supply the words
     * for the multiples of 100 because they can't be derived algorithmically.
     * Also, the tens dgit changes form when followed by a ones digit: an
     * accent mark disappears from the tens digit and moves to the ones digit.
     * Therefore, instead of using the [] notation, we actually have to use
     * two separate rules for each multiple of 10 to show the two forms of
     * the word.
     */
    public static final String greek =
        "zero (incomplete data); \u03ad\u03bd\u03b1; \u03b4\u03cd\u03bf; \u03b4\u03c1\u03af\u03b1; "
        + "\u03c4\u03ad\u03c3\u03c3\u03b5\u03c1\u03b1; \u03c0\u03ad\u03bd\u03c4\u03b5; "
        + "\u03ad\u03be\u03b9; \u03b5\u03c0\u03c4\u03ac; \u03bf\u03ba\u03c4\u03ce; "
        + "\u03b5\u03bd\u03bd\u03ad\u03b1;\n"
        + "10: \u03b4\u03ad\u03ba\u03b1; "
        + "\u03ad\u03bd\u03b4\u03b5\u03ba\u03b1; \u03b4\u03ce\u03b4\u03b5\u03ba\u03b1; "
        + "\u03b4\u03b5\u03ba\u03b1>>;\n"
        + "20: \u03b5\u03af\u03ba\u03bf\u03c3\u03b9; \u03b5\u03b9\u03ba\u03bf\u03c3\u03b9>>;\n"
        + "30: \u03c4\u03c1\u03b9\u03ac\u03bd\u03c4\u03b1; \u03c4\u03c1\u03b9\u03b1\u03bd\u03c4\u03b1>>;\n"
        + "40: \u03c3\u03b1\u03c1\u03ac\u03bd\u03c4\u03b1; \u03c3\u03b1\u03c1\u03b1\u03bd\u03c4\u03b1>>;\n"
        + "50: \u03c0\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; \u03c0\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
        + "60: \u03b5\u03be\u03ae\u03bd\u03c4\u03b1; \u03b5\u03be\u03b7\u03bd\u03c4\u03b1>>;\n"
        + "70: \u03b5\u03b2\u03b4\u03bf\u03bc\u03ae\u03bd\u03c4\u03b1; "
        + "\u03b5\u03b2\u03b4\u03bf\u03bc\u03b7\u03bd\u03c4\u03b1>>;\n"
        + "80: \u03bf\u03b3\u03b4\u03cc\u03bd\u03c4\u03b1; \u03bf\u03b3\u03b4\u03bf\u03bd\u03c4\u03b1>>;\n"
        + "90: \u03b5\u03bd\u03bd\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; "
        + "\u03b5\u03bd\u03bd\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
        + "100: \u03b5\u03ba\u03b1\u03c4\u03cc[\u03bd >>];\n"
        + "200: \u03b4\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
        + "300: \u03c4\u03c1\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
        + "400: \u03c4\u03b5\u03c4\u03c1\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
        + "500: \u03c0\u03b5\u03bd\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
        + "600: \u03b5\u03be\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
        + "700: \u03b5\u03c0\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
        + "800: \u03bf\u03ba\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
        + "900: \u03b5\u03bd\u03bd\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
        + "1000: \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
        + "2000: << \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
        + "1,000,000: << \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03b9\u03cc\u03c1\u03b9\u03bf[ >>];\n"
        + "1,000,000,000: << \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03b9\u03cc\u03c1\u03b9\u03bf[ >>];\n"
        + "1,000,000,000,000: =#,##0=";
    // Can someone supply me with information on negatives and decimals?
    // I'm also missing the word for zero.  Can someone clue me in?

    /**
     * Spellout rules for Russian.
     */
    public static final String russian =
        "\u043d\u043e\u043b\u044c; \u043e\u0434\u0438\u043d; \u0434\u0432\u0430; \u0442\u0440\u0438; "
        + "\u0447\u0435\u0442\u044b\u0440\u0435; \u043f\u044f\u0442; \u0448\u0435\u0441\u0442; "
        + "\u0441\u0435\u043c\u044c; \u0432\u043e\u0441\u0435\u043c\u044c; \u0434\u0435\u0432\u044f\u0442;\n"
        + "10: \u0434\u0435\u0441\u044f\u0442; "
        + "\u043e\u0434\u0438\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
        + "\u0434\u0432\u0435\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
        + "\u0442\u0440\u0438\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
        + "\u0447\u0435\u0442\u044b\u0440\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
        + "15: \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
        + "\u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
        + "\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
        + "\u0432\u043e\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
        + "\u0434\u0435\u0432\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
        + "20: \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c[ >>];\n"
        + "30: \u0442\u0440\u043b\u0434\u0446\u0430\u0442\u044c[ >>];\n"
        + "40: \u0441\u043e\u0440\u043e\u043a[ >>];\n"
        + "50: \u043f\u044f\u0442\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
        + "60: \u0448\u0435\u0441\u0442\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
        + "70: \u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
        + "80: \u0432\u043e\u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
        + "90: \u0434\u0435\u0432\u044f\u043d\u043e\u0441\u0442\u043e[ >>];\n"
        + "100: \u0441\u0442\u043e[ >>];\n"
        + "200: << \u0441\u0442\u043e[ >>];\n"
        + "1000: \u0442\u044b\u0441\u044f\u0447\u0430[ >>];\n"
        + "2000: << \u0442\u044b\u0441\u044f\u0447\u0430[ >>];\n"
        + "1,000,000: \u043c\u0438\u043b\u043b\u0438\u043e\u043d[ >>];\n"
        + "2,000,000: << \u043c\u0438\u043b\u043b\u0438\u043e\u043d[ >>];\n"
        + "1,000,000,000: =#,##0=;";
    // Can someone supply me with information on negatives and decimals?
    // How about words for billions and trillions?

    /**
     * Spellout rules for Hebrew.  Hebrew actually has inflected forms for
     * most of the lower-order numbers.  The masculine forms are shown
     * here.
     */
    public static final String hebrew =
        "zero (incomplete data); \u05d0\u05d4\u05d3; \u05e9\u05d2\u05d9\u05d9\u05dd; \u05e9\u05dc\u05d5\u05e9\u05d4;\n"
        + "4: \u05d0\u05d3\u05d1\u05e6\u05d4; \u05d7\u05d2\u05d5\u05d9\u05e9\u05d4; \u05e9\u05e9\u05d4;\n"
        + "7: \u05e9\u05d1\u05e6\u05d4; \u05e9\u05de\u05d5\u05d2\u05d4; \u05ea\u05e9\u05e6\u05d4;\n"
        + "10: \u05e6\u05e9\u05d3\u05d4[ >>];\n"
        + "20: \u05e6\u05e9\u05d3\u05d9\u05dd[ >>];\n"
        + "30: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd[ >>];\n"
        + "40: \u05d0\u05d3\u05d1\u05e6\u05d9\u05dd[ >>];\n"
        + "50: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd[ >>];\n"
        + "60: \u05e9\u05e9\u05d9\u05dd[ >>];\n"
        + "70: \u05e9\u05d1\u05e6\u05d9\u05dd[ >>];\n"
        + "80: \u05e9\u05de\u05d5\u05d2\u05d9\u05dd[ >>];\n"
        + "90: \u05ea\u05e9\u05e6\u05d9\u05dd[ >>];\n"
        + "100: \u05de\u05d0\u05d4[ >>];\n"
        + "200: << \u05de\u05d0\u05d4[ >>];\n"
        + "1000: \u05d0\u05dc\u05e3[ >>];\n"
        + "2000: << \u05d0\u05dc\u05e3[ >>];\n"
        + "1,000,000: =#,##0= (incomplete data);";
    // This data is woefully incomplete.  Can someone fill me in on the
    // various inflected forms of the numbers, which seem to be necessary
    // to do Hebrew correctly?  Can somone supply me with data for values
    // from 1,000,000 on up?  What about the word for zero?  What about
    // information on negatives and decimals?

    //========================================================================
    // Simple examples
    //========================================================================

    /**
     * This rule set adds an English ordinal abbreviation to the end of a
     * number.  For example, 2 is formatted as "2nd".  Parsing doesn't work with
     * this rule set.  To parse, use DecimalFormat on the numeral.
     */
    public static final String ordinal =
        // this rule set formats the numeral and calls %%abbrev to
        // supply the abbreviation
        "%main:\n"
        + "    =#,##0==%%abbrev=;\n"
        // this rule set supplies the abbreviation
        + "%%abbrev:\n"
               // the abbreviations.  Everything from 4 to 19 ends in "th"
        + "    th; st; nd; rd; th;\n"
               // at 20, we begin repeating the cycle every 10 (13 is "13th",
               // but 23 and 33 are "23rd" and "33rd")  We do this by
               // ignoring all bug the ones digit in selecting the abbreviation
        + "    20: >>;\n"
               // at 100, we repeat the whole cycle by considering only the
               // tens and ones digits in picking an abbreviation
        + "    100: >>;\n";

    /**
     * This is a simple message-formatting example.  Normally one would
     * use ChoiceFormat and MessageFormat to do something this simple,
     * but this shows it could be done with RuleBasedNumberFormat too.
     * A message-formatting example that might work better with
     * RuleBasedNumberFormat appears later.
     */
    public static final String message1 =
        // this rule surrounds whatever the other rules produce with the
        // rest of the sentence
        "x.0: The search found <<.;\n"
        // use words for values below 10 (and change to "file" for 1)
        + "no files; one file; two files; three files; four files; five files;\n"
        + "    six files; seven files; eight files; nine files;\n"
        // use numerals for values higher than 10
        + "=#,##0= files;";

    //========================================================================
    // Fraction handling
    //
    // The next few examples show how RuleBasedNumberFormat can be used for
    // more flexible handling of fractions
    //========================================================================

    /**
     * This example formats a number in one of the two styles often used
     * on checks.  %dollars-and-hundredths formats cents as hundredths of
     * a dollar (23.40 comes out as "twenty-three and 40/100 dollars").
     * %dollars-and-cents formats in dollars and cents (23.40 comes out as
     * "twenty-three dollars and forty cents")
     */
    public static final String dollarsAndCents =
        // this rule set formats numbers as dollars and cents
        "%dollars-and-cents:\n"
               // if the value is 1 or more, put "xx dollars and yy cents".
               // the "and y cents" part is suppressed if the value is an
               // even number of dollars
        + "    x.0: << [and >%%cents>];\n"
               // if the value is between 0 and 1, put "xx cents"
        + "    0.x: >%%cents>;\n"
               // these three rules take care of the singular and plural
               // forms of "dollar" and use %%main to format the number
        + "    0: zero dollars; one dollar; =%%main= dollars;\n"
        // these are the regular U.S. English number spellout rules
        + "%%main:\n"
        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
        + "        seventeen; eighteen; nineteen;\n"
        + "    20: twenty[->>];\n"
        + "    30: thirty[->>];\n"
        + "    40: forty[->>];\n"
        + "    50: fifty[->>];\n"
        + "    60: sixty[->>];\n"
        + "    70: seventy[->>];\n"
        + "    80: eighty[->>];\n"
        + "    90: ninety[->>];\n"
        + "    100: << hundred[ >>];\n"
        + "    1000: << thousand[ >>];\n"
        + "    1,000,000: << million[ >>];\n"
        + "    1,000,000,000: << billion[ >>];\n"
        + "    1,000,000,000,000: << trillion[ >>];\n"
        + "    1,000,000,000,000,000: =#,##0=;\n"
        // this rule takes care of the fractional part of the value.  It
        // multiplies the fractional part of the number being formatted by
        // 100, formats it with %%main, and then addes the word "cent" or
        // "cents" to the end.  (The text in brackets is omitted if the
        // numerator of the fraction is 1.)
        + "%%cents:\n"
        + "    100: <%%main< cent[s];\n"

        // this rule set formats numbers as dollars and hundredths of dollars
        + "%dollars-and-hundredths:\n"
               // this rule takes care of the general shell of the output
               // string.  We always show the cents, even when there aren't
               // any.  Because of this, the word is always "dollars"--
               // we don't have to worry about the singular form.  We use
               // %%main to format the number of dollars and %%hundredths to
               // format the number of cents
        + "    x.0: <%%main< and >%%hundredths>/100 dollars;\n"
        // this rule set formats the cents for %dollars-and-hundredths.
        // It multiplies the fractional part of the number by 100 and formats
        // the result using a DecimalFormat ("00" tells the DecimalFormat to
        // always use two digits, even for numbers under 10)
        + "%%hundredths:\n"
        + "    100: <00<;\n";

    /**
     * This rule set shows the fractional part of the number as a fraction
     * with a power of 10 as the denominator.  Some languages don't spell
     * out the fractional part of a number as "point one two three," but
     * always render it as a fraction.  If we still want to treat the fractional
     * part of the number as a decimal, then the fraction's denominator
     * is always a power of 10.  This example does that: 23.125 is formatted
     * as "twenty-three and one hundred twenty-five thousandths" (as opposed
     * to "twenty-three point one two five" or "twenty-three and one eighth").
     */
    public static final String decimalAsFraction =
        // the regular U.S. English spellout rules, with one difference
        "%main:\n"
        + "    -x: minus >>;\n"
               // the difference.  This rule uses %%frac to show the fractional
               // part of the number.  Text in brackets is omitted when the
               // value is between 0 and 1 (causing 0.3 to come out as "three
               // tenths" instead of "zero and three tenths").
        + "    x.x: [<< and ]>%%frac>;\n"
        + "    zero; one; two; three; four; five; six; seven; eight; nine;\n"
        + "    ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
        + "        seventeen; eighteen; nineteen;\n"
        + "    twenty[->>];\n"
        + "    30: thirty[->>];\n"
        + "    40: forty[->>];\n"
        + "    50: fifty[->>];\n"
        + "    60: sixty[->>];\n"
        + "    70: seventy[->>];\n"
        + "    80: eighty[->>];\n"
        + "    90: ninety[->>];\n"
        + "    100: << hundred[ >>];\n"
        + "    1000: << thousand[ >>];\n"
        + "    1,000,000: << million[ >>];\n"
        + "    1,000,000,000: << billion[ >>];\n"
        + "    1,000,000,000,000: << trillion[ >>];\n"
        + "    1,000,000,000,000,000: =#,##0=;\n"
        // the rule set that formats the fractional part of the number.
        // The rule that is used is the one that, when its baase value is
        // multiplied by the fractional part of the number being formatted,
        // produces the result closest to zero.  Thus, the base values are
        // prospective denominators of the fraction.  The << marks the place
        // where the numerator of the fraction (the result of multiplying the
        // fractional part of the number by the rule's base value) is
        // placed.  Text in brackets is omitted when the numerator is 1, giving
        // us the singular and plural forms of the words.
        // [In languages where the singular and plural are completely different
        // words, the rule can just be stated twice: the second time with
        // the plural form.]
        + "%%frac:\n"
        + "    10: << tenth[s];\n"
        + "    100: << hundredth[s];\n"
        + "    1000: << thousandth[s];\n"
        + "    10,000: << ten-thousandth[s];\n"
        + "    100,000: << hundred-thousandth[s];\n"
        + "    1,000,000: << millionth[s];";

    /**
     * Number with closest fraction.  This example formats a value using
     * numerals, but shows the fractional part as a ratio (fraction) rather
     * than a decimal.  The fraction always has a denominator between 2 and 10.
     */
    public static final String closestFraction =
        "%main:\n"
               // this rule formats the number if it's 1 or more.  It formats
               // the integral part using a DecimalFormat ("#,##0" puts
               // thousands separators in the right places) and the fractional
               // part using %%frac.  If there is no fractional part, it
               // just shows the integral part.
        + "    x.0: <#,##0<[ >%%frac>];\n"
               // this rule formats the number if it's between 0 and 1.  It
               // shows only the fractional part (0.5 shows up as "1/2," not
               // "0 1/2")
        + "    0.x: >%%frac>;\n"
        // the fraction rule set.  This works the same way as the one in the
        // preceding example: We multiply the fractional part of the number
        // being formatted by each rule's base value and use the rule that
        // produces the result closest to 0 (or the first rule that produces 0).
        // Since we only provide rules for the numbers from 2 to 10, we know
        // we'll get a fraction with a denominator between 2 and 10.
        // "<0<" causes the numerator of the fraction to be formatted
        // using numerals
        + "%%frac:\n"
        + "    2: 1/2;\n"
        + "    3: <0%%frac1>];\n"
               // this rule is used for values between 0 and 1 and omits the
               // integral part
        + "    0.x: >%%frac2>;\n"
        // this rule set is used to format the fractional part of the number when
        // there's an integral part before it (again, we try all denominators
        // and use the "best" one)
        + "%%frac1:\n"
               // for even multiples of 1/4, format the fraction using the
               // typographer's fractions
        + "    4: <%%quarters<;\n"
               // format the value as a number of eighths, sixteenths, or
               // thirty-seconds, whichever produces the most accurate value.
               // The apostrophe at the front of these rules is ignored, but
               // it makes the space that follows it significant.  This puts a
               // space between the value's integral and fractional parts so
               // you can read it
        + "    8: ' <0%%small>;\n"
               // otherwise, show between 3 and 6 significant digits of the value
               // along with the most appropriate unit
        + "    0: =##0.###= m;\n"
        + "    1,000: <##0.###< km;\n"
        + "    1,000,000: <##0.###< Mm;\n"
        + "    1,000,000,000: <##0.###< Gm;\n"
        + "    1,000,000,000,000: <#,##0.###< Tm;\n"
        // %%small formats the number when it's less then 1.  It multiplies the
        // value by one billion, and then uses %%small2 to actually do the
        // formatting.
        + "%%small:\n"
        + "    1,000,000,000,000: <%%small2<;\n"
        // this rule set actually formats small values.  %%small passes this
        // rule set a number of picometers, and it takes care of scaling up as
        // appropriate in exactly the same way %main does (we can't normally
        // handle fractional values this way: here, we're concerned about
        // magnitude; most of the time, we're concerned about precsion)
        + "%%small2:\n"
        + "    0: =##0= pm;\n"
        + "    1,000: <##0.###< nm;\n"
        + "    1,000,000: <##0.###< \u00b5m;\n"
        + "    1,000,000,000: <##0.###< mm;\n";

    /**
     * A more complicated message-formatting example.  Here, in addition to
     * handling the singular and plural versions of the word, the value is
     * denominated in bytes, kilobytes, or megabytes depending on its magnitude.
     * Also notice that it correctly treats a kilobyte as 1,024 bytes (not 1,000),
     * and a megabyte as 1,024 kilobytes (not 1,000).
     */
    public static final String message2 =
        // this rule supplies the shell of the sentence
        "x.0: There << free space on the disk.;\n"
        // handle singular and plural forms of "byte" (and format 0 as
        // "There is no free space...")
        + "0: is no;\n"
        + "is one byte of;\n"
        + "are =0= bytes of;\n"
        // for values above 1,024, format the number in K (since "K" is usually
        // promounced "K" regardless of whether it's singular or plural, we
        // don't worry about the plural form).  The "/1024" here causes us to
        // treat a K as 1,024 bytes rather than 1,000 bytes.
        + "1024/1024: is <0>];\n"
        // format values over 144 in gross
        + "144/12: << gross[, >>];\n"
        // format values over 1,000 in thousands
        + "1000: << thousand[, >>];\n"
        // overflow rule.  Format values over 10,000 in numerals
        + "10,000: =#,##0=;\n";

    //========================================================================
    // Major and minor units
    //
    // These examples show how a single value can be divided up into major
    // and minor units that don't relate to each other by a factor of 10.
    //========================================================================

    /**
     * This example formats a number of seconds in sexagesimal notation
     * (i.e., hours, minutes, and seconds).  %with-words formats it with
     * words (3740 is "1 hour, 2 minutes, 20 seconds") and %in-numerals
     * formats it entirely in numerals (3740 is "1:02:20").
     */
    public static final String durationInSeconds =
        // main rule set for formatting with words
        "%with-words:\n"
               // take care of singular and plural forms of "second"
        + "    0 seconds; 1 second; =0= seconds;\n"
               // use %%min to format values greater than 60 seconds
        + "    60/60: <%%min<[, >>];\n"
               // use %%hr to format values greater than 3,600 seconds
               // (the ">>>" below causes us to see the number of minutes
               // when when there are zero minutes)
        + "    3600/60: <%%hr<[, >>>];\n"
        // this rule set takes care of the singular and plural forms
        // of "minute"
        + "%%min:\n"
        + "    0 minutes; 1 minute; =0= minutes;\n"
        // this rule set takes care of the singular and plural forms
        // of "hour"
        + "%%hr:\n"
        + "    0 hours; 1 hour; =0= hours;\n"

        // main rule set for formatting in numerals
        + "%in-numerals:\n"
               // values below 60 seconds are shown with "sec."
        + "    =0= sec.;\n"
               // higher values are shown with colons: %%min-sec is used for
               // values below 3,600 seconds...
        + "    60: =%%min-sec=;\n"
               // ...and %%hr-min-sec is used for values of 3,600 seconds
               // and above
        + "    3600: =%%hr-min-sec=;\n"
        // this rule causes values of less than 10 minutes to show without
        // a leading zero
        + "%%min-sec:\n"
        + "    0: :=00=;\n"
        + "    60/60: <0<>>;\n"
        // this rule set is used for values of 3,600 or more.  Minutes are always
        // shown, and always shown with two digits
        + "%%hr-min-sec:\n"
        + "    0: :=00=;\n"
        + "    60/60: <00<>>;\n"
        + "    3600/60: <#,##0<:>>>;\n"
        // the lenient-parse rules allow several different characters to be used
        // as delimiters between hours, minutes, and seconds
        + "%%lenient-parse:\n"
        + "    & : = . = ' ' = -;\n";

    /**
     * This example formats a number of hours in sexagesimal notation (i.e.,
     * hours, minutes, and seconds).  %with-words formats the value using
     * words for the units, and %in-numerals formats the value using only
     * numerals.
     */
    public static final String durationInHours =
        // main entry point for formatting with words
        "%with-words:\n"
               // this rule omits minutes and seconds when the value is
               // an even number of hours
        + "    x.0: <<[, >%%min-sec>];\n"
               // these rules take care of the singular and plural forms
               // of hours
        + "    0 hours; 1 hour; =#,##0= hours;\n"
        // this rule set takes the fractional part of the number and multiplies
        // it by 3,600 (turning it into a number of seconds).  Then it delegates
        // to %%min-sec-implementation to format the resulting value
        + "%%min-sec:\n"
        + "    3600: =%%min-sec-implementation=;\n"
        // this rule set formats the seconds as either seconds or minutes and
        // seconds, and takes care of the singular and plural forms of
        // "minute" and "second"
        + "%%min-sec-implementation:\n"
        + "    0 seconds; 1 second; =0= seconds;\n"
        + "    60/60: 1 minute[, >>];\n"
        + "    120/60: <0< minutes[, >>];\n"

        // main entry point for formatting in numerals
        + "%in-numerals:\n"
               // show minutes even for even numbers of hours
        + "    x.0: <#,##0<:00;\n"
               // delegate to %%min-sec2 to format minutes and seconds
        + "    x.x: <#,##0<:>%%min-sec2>;\n"
        // this rule set formats minutes when there is an even number of
        // minutes, and delegates to %%min-sec2-implementation when there
        // are seconds
        + "%%min-sec2:\n"
        + "    60: <00<;\n"
        + "    3600: <%%min-sec2-implementation<;\n"
        // these two rule sets are used to format the minutes and seconds
        + "%%min-sec2-implementation:\n"
               // if there are fewer than 60 seconds, show the minutes anyway
        + "    0: 00:=00=;\n"
               // if there are minutes, format them too, and always use 2 digits
               // for both minutes and seconds
        + "    60: =%%min-sec3=;\n"
        + "%%min-sec3:\n"
        + "    0: :=00=;\n"
        + "    60/60: <00<>>;\n"
        // the lenient-parse rules allow the user to use any of several
        // characters as delimiters between hours, minutes, and seconds
        + "%%lenient-parse:\n"
        + "    & : = . = ' ' = -;\n";

    /**
     * This rule set formats a number of pounds as pounds, shillings, and
     * pence in the old English system of currency.
     */
    public static final String poundsShillingsAndPence =
        // for values of 1 or more, format the integral part with a pound
        // sign in front, and show shillings and pence if necessary
        "%main:\n"
        + "    x.0: \u00a3<#,##0<[ >%%shillings-and-pence>];\n"
        // for values between 0 and 1, omit the number of pounds
        + "    0.x: >%%pence-alone>;\n"
        // this rule set is used to show shillings and pence.  It multiplies
        // the fractional part of the number by 240 (the number of pence in a
        // pound) and uses %%shillings-and-pence-implementation to format
        // the result
        + "%%shillings-and-pence:\n"
        + "    240: <%%shillings-and-pence-implementation<;\n"
        // this rule set is used to show shillings and pence when there are
        // no pounds.  It also multiplies the value by 240, and then it uses
        // %%pence-alone-implementation to format the result.
        + "%%pence-alone:\n"
        + "    240: <%%pence-alone-implementation<;\n"
        // this rule set formats a number of pence when we know we also
        // have pounds.  We always show shillings (with a 0 if necessary),
        // but only show pence if the value isn't an even number of shillings
        + "%%shillings-and-pence-implementation:\n"
        + "    0/; 0/=0=;\n"
        + "    12/12: <00>];\n"
        // this rule set formats a number of pence when we know there are
        // no pounds.  Values less than a shilling are shown with "d." (the
        // abbreviation for pence), and values greater than a shilling are
        // shown with a shilling bar (and without pence when the value is
        // an even number of shillings)
        + "%%pence-alone-implementation:\n"
        + "    =0= d.;\n"
        + "    12/12: <00>];\n";

    //========================================================================
    // Alternate numeration systems
    //
    // These examples show how RuleBasedNumberFormat can be used to format
    // numbers using non-positional numeration systems.
    //========================================================================

    /**
     * Arabic digits.  This example formats numbers in Arabic numerals.
     * Normally, you'd do this with DecimalFormat, but this shows that
     * RuleBasedNumberFormat can handle it too.
     */
    public static final String arabicNumerals =
        "0; 1; 2; 3; 4; 5; 6; 7; 8; 9;\n"
        + "10: <<>>;\n"
        + "100: <<>>>;\n"
        + "1000: <<,>>>;\n"
        + "1,000,000: <<,>>>;\n"
        + "1,000,000,000: <<,>>>;\n"
        + "1,000,000,000,000: <<,>>>;\n"
        + "1,000,000,000,000,000: =#,##0=;\n"
        + "-x: ->>;\n"
        + "x.x: <<.>>;";

    /**
     * Words for digits.  Follows the same pattern as the Arabic-numerals
     * example above, but uses words for the various digits (e.g., 123 comes
     * out as "one two three").
     */
    public static final String wordsForDigits =
        "-x: minus >>;\n"
        + "x.x: << point >>;\n"
        + "zero; one; two; three; four; five; six;\n"
        + "    seven; eight; nine;\n"
        + "10: << >>;\n"
        + "100: << >>>;\n"
        + "1000: <<, >>>;\n"
        + "1,000,000: <<, >>>;\n"
        + "1,000,000,000: <<, >>>;\n"
        + "1,000,000,000,000: <<, >>>;\n"
        + "1,000,000,000,000,000: =#,##0=;\n";

    /**
     * This example formats numbers using Chinese characters in the Arabic
     * place-value method.  This was used historically in China for a while.
     */
    public static final String chinesePlaceValue =
        "\u3007; \u4e00; \u4e8c; \u4e09; \u56db; \u4e94; \u516d; \u4e03; \u516b; \u4e5d;\n"
        + "10: <<>>;\n"
        + "100: <<>>>;\n"
        + "1000: <<>>>;\n"
        + "1,000,000: <<>>>;\n"
        + "1,000,000,000: <<>>>;\n"
        + "1,000,000,000,000: <<>>>;\n"
        + "1,000,000,000,000,000: =#,##0=;\n";

    /**
     * Roman numerals.  This example has two variants: %modern shows how large
     * numbers are usually handled today; %historical ses the older symbols for
     * thousands.
     */
    public static final String romanNumerals =
        "%historical:\n"
        + "    =%modern=;\n"
               // in early Roman numerals, 1,000 was shown with a circle
               // bisected by a vertical line.  Additional thousands were
               // shown by adding more concentric circles, and fives were
               // shown by cutting the symbol for next-higher power of 10
               // in half (the letter D for 500 evolved from this).
               // We could go beyond 40,000, but Unicode doesn't encode
               // the symbols for higher numbers/
        + "    1000: \u2180[>>]; 2000: \u2180\u2180[>>]; 3000: \u2180\u2180\u2180[>>]; 4000: \u2180\u2181[>>];\n"
        + "    5000: \u2181[>>]; 6000: \u2181\u2180[>>]; 7000: \u2181\u2180\u2180[>>];\n"
        + "    8000: \u2181\u2180\u2180\u2180[>>]; 9000: \u2180\u2182[>>];\n"
        + "    10,000: \u2182[>>]; 20,000: \u2182\u2182[>>]; 30,000: \u2182\u2182\u2182[>>];\n"
        + "    40,000: =#,##0=;\n"
        + "%modern:\n"
        + "    ; I; II; III; IV; V; VI; VII; VIII; IX;\n"
        + "    10: X[>>]; 20: XX[>>]; 30: XXX[>>]; 40: XL[>>]; 50: L[>>];\n"
        + "    60: LX[>>]; 70: LXX[>>]; 80: LXXX[>>]; 90: XC[>>];\n"
        + "    100: C[>>]; 200: CC[>>]; 300: CCC[>>]; 400: CD[>>]; 500: D[>>];\n"
        + "    600: DC[>>]; 700: DCC[>>]; 800: DCCC[>>]; 900: CM[>>];\n"
               // in modern Roman numerals, high numbers are generally shown
               // by placing a bar over the letters for the lower numbers:
               // the bar multiplied a letter's value by 1,000
        + "    1000: M[>>]; 2000: MM[>>]; 3000: MMM[>>]; 4000: MV\u0306[>>];\n"
        + "    5000: V\u0306[>>]; 6000: V\u0306M[>>]; 7000: V\u0306MM[>>];\n"
        + "    8000: V\u0306MMM[>>]; 9000: MX\u0306[>>];\n"
        + "    10,000: X\u0306[>>]; 20,000: X\u0306X\u0306[>>]; 30,000: X\u0306X\u0306X\u0306[>>];\n"
        + "    40,000: X\u0306L\u0306[>>]; 50,000: L\u0306[>>]; 60,000: L\u0306X\u0306[>>];\n"
        + "    70,000: L\u0306X\u0306X\u0306[>>]; 80,000: L\u0306X\u0306X\u0306X\u0306[>>];\n"
        + "    90,000: X\u0306C\u0306[>>];\n"
        + "    100,000: C\u0306[>>]; 200,000: C\u0306C\u0306[>>]; 300,000: C\u0306C\u0306[>>];\n"
        + "    400,000: C\u0306D\u0306[>>]; 500,000: D\u0306[>>]; 600,000: D\u0306C\u0306[>>];\n"
        + "    700,000: D\u0306C\u0306C\u0306[>>]; 800,000: D\u0306C\u0306C\u0306C\u0306[>>];\n"
        + "    900,000: =#,##0=;\n";

    /**
     * Hebrew alphabetic numerals.  Before adoption of Arabic numerals, Hebrew speakers
     * used the letter of their alphabet as numerals.  The first nine letters of
     * the alphabet repesented the values from 1 to 9, the second nine letters the
     * multiples of 10, and the remaining letters the multiples of 100.  Since they
     * ran out of letters at 400, the remaining multiples of 100 were represented
     * using combinations of the existing letters for the hundreds.  Numbers were
     * distinguished from words in a number of different ways: the way shown here
     * uses a single mark after a number consisting of one letter, and a double
     * mark between the last two letters of a number consisting of two or more
     * letters.  Two dots over a letter multiplied its value by 1,000.  Also, since
     * the letter for 10 is the first letter of God's name and the letters for 5 and 6
     * are letters in God's name, which wasn't supposed to be written or spoken, 15 and
     * 16 were usually written as 9 + 6 and 9 + 7 instead of 10 + 5 and 10 + 6.
     */
    public static final String hebrewAlphabetic =
        // letters for the ones
        "%%ones:\n"
        + "    (no zero); \u05d0; \u05d1; \u05d2; \u05d3; \u05d4; \u05d5; \u05d6; \u05d7; \u05d8;\n"
        // letters for the tens
        + "%%tens:\n"
        + "    ; \u05d9; \u05db; \u05dc; \u05de; \u05e0; \u05e1; \u05e2; \u05e4; \u05e6;\n"
        // letters for the first four hundreds
        + "%%hundreds:\n"
        + "    ; \u05e7; \u05e8; \u05e9; \u05ea;\n"
        // this rule set is used to write the combination of the tens and ones digits
        // when we know that no other digits precede them: they put the numeral marks
        // in the right place and properly handle 15 and 16 (I'm using the mathematical
        // prime characters for the numeral marks because my Unicode font doesn't
        // include the real Hebrew characters, which look just like the prime marks)
        + "%%tens-and-ones:\n"
               // for values less than 10, just use %%ones and put the numeral mark
               // afterward
        + "    =%%ones=\u2032;\n"
               // put the numeral mark at the end for 10, but in the middle for
               // 11 through 14
        + "    10: <%%tens<\u2032; <%%tens<\u2033>%%ones>;\n"
               // special-case 15 and 16
        + "    15: \u05d8\u2033\u05d5; 16: \u05d8\u2033\u05d6;\n"
               // go back to the normal method at 17
        + "    17: <%%tens<\u2033>%%ones>;\n"
               // repeat the rules for 10 and 11 to cover the values from 20 to 99
        + "    20: <%%tens<\u2032; <%%tens<\u2033>%%ones>;\n"
        // this rule set is used to format numbers below 1,000.  It relies on
        // %%tens-and-ones to format the tens and ones places, and adds logic
        // to handle the high hundreds and the numeral marks when there is no
        // tens digit.  Notice how the rules are paired: all of these pairs of
        // rules take advantage of the rollback rule: if the value (between 100
        // and 499) is an even multiple of 100, the rule for 100 is used; otherwise,
        // the rule for 101 (the following rule) is used.  The first rule in each
        // pair (the one for the even multiple) places the numeral mark in a different
        // spot than the second rule in each pair (which knows there are more digits
        // and relies on the rule supplying them to also supply the numeral mark).
        // The call to %%null in line 10 is there simply to invoke the rollback
        // rule.
        + "%%low-order:\n"
               // this rule is only called when there are other characters before.
               // It places the numeral mark before the last digit
        + "    \u2033=%%ones=;\n"
               // the rule for 10 places the numeral mark before the 10 character
               // (because we know it's the last character); the rule for 11 relies
               // on %%tens-and-ones to place the numeral mark
        + "    10: \u2033<%%tens<; =%%tens-and-ones=>%%null>;\n"
               // the rule for 100 places the numeral mark before the 100 character
               // (we know it's the last character); the rule for 101 recurses to
               // fill in the remaining digits and the numeral mark
        + "    100: <%%hundreds<\u2032; <%%hundreds<>>;\n"
               // special-case the hundreds from 500 to 900 because they consist of
               // more than one character
        + "    500: \u05ea\u2033\u05e7; \u05ea\u05e7>>;\n"
        + "    600: \u05ea\u2033\u05e8; \u05ea\u05e8>>;\n"
        + "    700: \u05ea\u2033\u05e9; \u05ea\u05e9>>;\n"
        + "    800: \u05ea\u2033\u05ea; \u05ea\u05ea>>;\n"
        + "    900: \u05ea\u05ea\u2033\u05e7; \u05ea\u05ea\u05e7>>;\n"
        // this rule set is used to format values of 1,000 or more.  Here, we don't
        // worry about the numeral mark, and we add two dots (the Unicode combining
        // diaeresis character) to ever letter
        + "%%high-order:\n"
               // put the ones digit, followed by the diaeresis
        + "    =%%ones=\u0308;\n"
               // the tens can be handled with recursion
        + "    10: <%%tens<\u0308[>>];\n"
               // still have to special-case 15 and 16
        + "    15: \u05d8\u0308\u05d5\u0308; 16: \u05d8\u003078\u05d6\u0308;\n"
               // back to the regular rules at 17
        + "    17: <%%tens<\u0308[>>];\n"
               // the hundreds with the dots added (and without worrying about
               // placing the numeral mark)
        + "    100: <%%hundreds<\u0308[>>];\n"
        + "    500: \u05ea\u0308\u05e7\u0308[>>];\n"
        + "    600: \u05ea\u0308\u05e8\u0308[>>];\n"
        + "    700: \u05ea\u0308\u05e9\u0308[>>];\n"
        + "    800: \u05ea\u0308\u05ea\u0308[>>];\n"
        + "    900: \u05ea\u0308\u05ea\u0308\u05e7\u0308[>>];\n"
        // this rule set doesn't do anything; it's used by some other rules to
        // invoke the rollback rule
        + " %%null:\n"
        + "    ;\n"
        // the main rule set.
        + "%main:\n"
               // for values below 10, just output the letter and the numeral mark
        + "    =%%ones=\u2032;\n"
               // for values from 10 to 99, use %%tens-and-ones to do the formatting
        + "    10: =%%tens-and-ones=;\n"
               // for values from 100 to 999, use %%low-order to do the formatting
        + "    100: =%%low-order=;\n"
               // for values of 1,000 and over, use %%high-order to do the formatting
        + "    1000: <%%high-order<[>%%low-order>];\n";

    /**
     * Greek alphabetic numerals.  The Greeks, before adopting the Arabic numerals,
     * also used the letters of their alphabet as numerals.  There are three now-
     * obsolete Greek letters that are used as numerals; many fonts don't have them.
     * Large numbers were handled many different ways; the way shown here divides
     * large numbers into groups of four letters (factors of 10,000), and separates
     * the groups with the capital letter mu (for myriad).  Capital letters are used
     * for values below 10,000; small letters for higher numbers (to make the capital
     * mu stand out).
     */
    public static final String greekAlphabetic =
        // this rule set is used for formatting numbers below 10,000.  It uses
        // capital letters.
        "%%low-order:\n"
        + "    (no zero); \u0391; \u0392; \u0393; \u0394; \u0395; \u03dc; \u0396; \u0397; \u0398;\n"
        + "    10: \u0399[>>]; 20: \u039a[>>]; 30: \u039b[>>]; 40: \u039c[>>]; 50: \u039d[>>];\n"
        + "    60: \u039e[>>]; 70: \u039f[>>]; 80: \u03a0[>>]; 90: \u03de[>>];\n"
        + "    100: \u03a1[>>]; 200: \u03a3[>>]; 300: \u03a4[>>]; 400: \u03a5[>>];\n"
        + "    500: \u03a6[>>]; 600: \u03a7[>>]; 700: \u03a8[>>]; 800: \u03a9[>>];\n"
        + "    900: \u03e0[>>];\n"
               // the thousands are represented by the same numbers as the ones, but
               // with a comma-like mark added to their left shoulder
        + "    1000: \u0391\u0313[>>]; 2000: \u0392\u0313[>>]; 3000: \u0393\u0313[>>];\n"
        + "    4000: \u0394\u0313[>>]; 5000: \u0395\u0313[>>]; 6000: \u03dc\u0313[>>];\n"
        + "    7000: \u0396\u0313[>>]; 8000: \u0397\u0313[>>]; 9000: \u0398\u0313[>>];\n"
        // this rule set is the same as above, but uses lowercase letters.  It is used
        // for formatting the groups in numbers above 10,000.
        + "%%high-order:\n"
        + "    (no zero); \u03b1; \u03b2; \u03b3; \u03b4; \u03b5; \u03dc; \u03b6; \u03b7; \u03b8;\n"
        + "    10: \u03b9[>>]; 20: \u03ba[>>]; 30: \u03bb[>>]; 40: \u03bc[>>]; 50: \u03bd[>>];\n"
        + "    60: \u03be[>>]; 70: \u03bf[>>]; 80: \u03c0[>>]; 90: \u03de[>>];\n"
        + "    100: \u03c1[>>]; 200: \u03c3[>>]; 300: \u03c4[>>]; 400: \u03c5[>>];\n"
        + "    500: \u03c6[>>]; 600: \u03c7[>>]; 700: \u03c8[>>]; 800: \u03c9[>>];\n"
        + "    900: \u03c0[>>];\n"
        + "    1000: \u03b1\u0313[>>]; 2000: \u03b2\u0313[>>]; 3000: \u03b3\u0313[>>];\n"
        + "    4000: \u03b4\u0313[>>]; 5000: \u03b5\u0313[>>]; 6000: \u03dc\u0313[>>];\n"
        + "    7000: \u03b6\u0313[>>]; 8000: \u03b7\u0313[>>]; 9000: \u03b8\u0313[>>];\n"
        // the main rule set
        + "%main:\n"
               // for values below 10,000, just use %%low-order
        + "    =%%low-order=;\n"
               // for values above 10,000, split into two groups of four digits
               // and format each with %%high-order (putting an M in betwen)
        + "    10,000: <%%high-order<\u039c>%%high-order>;\n"
               // for values above 100,000,000, add another group onto the front
               // and another M
        + "    100,000,000: <%%high-order<\u039c>>\n";

    /**
     * A list of all the sample rule sets, used by the demo program.
     */
    public static final String[] sampleRuleSets =
        { usEnglish,
          ukEnglish,
          spanish,
          french,
          swissFrench,
          german,
          italian,
          swedish,
          dutch,
          japanese,
          greek,
          russian,
          hebrew,
          ordinal,
          message1,
          dollarsAndCents,
          decimalAsFraction,
          closestFraction,
          stock,
          abbEnglish,
          units,
          message2,
          dozens,
          durationInSeconds,
          durationInHours,
          poundsShillingsAndPence,
          arabicNumerals,
          wordsForDigits,
          chinesePlaceValue,
          romanNumerals,
          hebrewAlphabetic,
          greekAlphabetic };

    /**
     * The displayable names for all the sample rule sets, in the same order as
     * the preceding array.
     */
    public static final String[] sampleRuleSetNames =
        { "English (US)",
          "English (UK)",
          "Spanish",
          "French (France)",
          "French (Switzerland)",
          "German",
          "Italian",
          "Swedish",
          "Dutch",
          "Japanese",
          "Greek",
          "Russian",
          "Hebrew",
          "English ordinal abbreviations",
          "Simple message formatting",
          "Dollars and cents",
          "Decimals as fractions",
          "Closest fraction",
          "Stock prices",
          "Abbreviated US English",
          "Changing dimensions",
          "Complex message formatting",
          "Dozens",
          "Duration (value in seconds)",
          "Duration (value in hours)",
          "Pounds, shillings, and pence",
          "Arabic numerals",
          "Words for digits",
          "Chinese place-value notation",
          "Roman numerals",
          "Hebrew ahlphabetic numerals",
          "Greek alphabetic numerals" };

    /**
     * The base locale for each of the sample rule sets.  The locale is used to
     * determine DecimalFormat behavior, lenient-parse behavior, and text-display
     * selection (we have a hack in here to allow display of non-Latin scripts).
     * Null means the locale setting is irrelevant and the default can be used.
     */
    public static final Locale[] sampleRuleSetLocales =
        { Locale.US,
          Locale.UK,
          new Locale("es", "", ""),
          Locale.FRANCE,
          new Locale("fr", "CH", ""),
          Locale.GERMAN,
          Locale.ITALIAN,
          new Locale("sv", "", ""),
          new Locale("nl", "", ""),
          Locale.JAPANESE,
          new Locale("el", "", ""),
          new Locale("ru", "", ""),
          new Locale("iw", "", ""),
          Locale.ENGLISH,
          Locale.ENGLISH,
          Locale.US,
          Locale.ENGLISH,
          null,
          null,
          Locale.ENGLISH,
          null,
          Locale.ENGLISH,
          Locale.ENGLISH,
          null,
          null,
          Locale.UK,
          null,
          Locale.ENGLISH,
          new Locale("zh", "", ""),
          null,
          new Locale("iw", "", ""),
          new Locale("el", "", ""),
          null };

        public static final String[] sampleRuleSetCommentary = {
            "This demonstration version of the "
            + "U.S. English spellout rules has four variants: 1) %simplified is a "
            + "set of rules showing the simple method of spelling out numbers in "
            + "English: 289 is formatted as \"two hundred eighty-nine\".  2) %alt-teens "
            + "is the same as %simplified, except that values between 1,000 and 9,999 "
            + "whose hundreds place isn't zero are formatted in hundreds.  For example, "
            + "1,983 is formatted as \"nineteen hundred eighty-three,\" and 2,183 is "
            + "formatted as \"twenty-one hundred eighty-three,\" but 2,083 is still "
            + "formatted as \"two thousand eighty-three.\"  3) %ordinal formats the "
            + "values as ordinal numbers in English (e.g., 289 is \"two hundred eighty-"
            + "ninth\").  4) %default uses a more complicated algorithm to format "
            + "numbers in a more natural way: 289 is formatted as \"two hundred AND "
            + "eighty-nine\" and commas are inserted between the thousands groups for "
            + "values above 100,000.",

            "U.K. English has one significant "
            + "difference from U.S. English: the names for values of 1,000,000,000 "
            + "and higher.  In American English, each successive \"-illion\" is 1,000 "
            + "times greater than the preceding one: 1,000,000,000 is \"one billion\" "
            + "and 1,000,000,000,000 is \"one trillion.\"  In British English, each "
            + "successive \"-illion\" is one million times greater than the one before: "
            + "\"one billion\" is 1,000,000,000,000 (or what Americans would call a "
            + "\"trillion\"), and \"one trillion\" is 1,000,000,000,000,000,000.  "
            + "1,000,000,000 in British English is \"one thousand million.\"  (This "
            + "value is sometimes called a \"milliard,\" but this word seems to have "
            + "fallen into disuse.)",

            "The Spanish rules are quite similar to "
            + "the English rules, but there are some important differences: "
            + "First, we have to provide separate rules for most of the twenties "
            + "because the ones digit frequently picks up an accent mark that it "
            + "doesn't have when standing alone.  Second, each multiple of 100 has "
            + "to be specified separately because the multiplier on 100 very often "
            + "changes form in the contraction: 500 is \"quinientos,\" not "
            + "\"cincocientos.\"  In addition, the word for 100 is \"cien\" when "
            + "standing alone, but changes to \"ciento\" when followed by more digits.  "
            + "There also some other differences.",

            "French adds some interesting quirks of its "
            + "own: 1) The word \"et\" is interposed between the tens and ones digits, "
            + "but only if the ones digit if 1: 20 is \"vingt,\" and 2 is \"vingt-deux,\" "
            + "but 21 is \"vingt-et-un.\"  2)  There are no words for 70, 80, or 90.  "
            + "\"quatre-vingts\" (\"four twenties\") is used for 80, and values proceed "
            + "by score from 60 to 99 (e.g., 73 is \"soixante-treize\" [\"sixty-thirteen\"]).  "
            + "Numbers from 1,100 to 1,199 are rendered as hundreds rather than "
            + "thousands: 1,100 is \"onze cents\" (\"eleven hundred\"), rather than "
            + "\"mille cent\" (\"one thousand one hundred\")",

            "Swiss French differs from French French "
            + "in that it does have words for 70, 80, and 90.  This rule set shows them, "
            + "and is simpler as a result.",

            "German also adds some interesting "
            + "characteristics.  For values below 1,000,000, numbers are customarily "
            + "written out as a single word.  And the ones digit PRECEDES the tens "
            + "digit (e.g., 23 is \"dreiundzwanzig,\" not \"zwanzigunddrei\").",

            "Like German, most Italian numbers are "
            + "written as single words.  What makes these rules complicated is the rule "
            + "that says that when a word ending in a vowel and a word beginning with "
            + "a vowel are combined into a compound, the vowel is dropped from the "
            + "end of the first word: 180 is \"centottanta,\" not \"centoottanta.\"  "
            + "The complexity of this rule set is to produce this behavior.",

            "Spellout rules for Swedish.",

            "Spellout rules for Dutch.  Notice that in Dutch, as in German,"
            + "the ones digit precedes the tens digit.",

            "In Japanese, there really isn't any "
            + "distinction between a number written out in digits and a number "
            + "written out in words: the ideographic characters are both digits "
            + "and words.  This rule set provides two variants:  %traditional "
            + "uses the traditional CJK numerals (which are also used in China "
            + "and Korea).  %financial uses alternate ideographs for many numbers "
            + "that are harder to alter than the traditional numerals (one could "
            + "fairly easily change a one to "
            + "a three just by adding two strokes, for example).  This is also done in "
            + "the other countries using Chinese idographs, but different ideographs "
            + "are used in those places.",

            "Again in Greek we have to supply the words "
            + "for the multiples of 100 because they can't be derived algorithmically.  "
            + "Also, the tens dgit changes form when followed by a ones digit: an "
            + "accent mark disappears from the tens digit and moves to the ones digit.  "
            + "Therefore, instead of using the [] notation, we actually have to use "
            + "two separate rules for each multiple of 10 to show the two forms of "
            + "the word.",

            "Spellout rules for Russian.",

            "Spellout rules for Hebrew.  Hebrew actually has inflected forms for "
            + "most of the lower-order numbers.  The masculine forms are shown "
            + "here.",

            "This rule set adds an English ordinal abbreviation to the end of a "
            + "number.  For example, 2 is formatted as \"2nd\".  Parsing doesn't work with "
            + "this rule set.  To parse, use DecimalFormat on the numeral.",

            "This is a simple message-formatting example.  Normally one would "
            + "use ChoiceFormat and MessageFormat to do something this simple, "
            + "but this shows it could be done with RuleBasedNumberFormat too.  "
            + "A message-formatting example that might work better with "
            + "RuleBasedNumberFormat appears later.",

            "The next few examples demonstrate fraction handling.  "
            + "This example formats a number in one of the two styles often used "
            + "on checks.  %dollars-and-hundredths formats cents as hundredths of "
            + "a dollar (23.40 comes out as \"twenty-three and 40/100 dollars\").  "
            + "%dollars-and-cents formats in dollars and cents (23.40 comes out as "
            + "\"twenty-three dollars and forty cents\")",

            "This rule set shows the fractional part of the number as a fraction "
            + "with a power of 10 as the denominator.  Some languages don't spell "
            + "out the fractional part of a number as \"point one two three,\" but "
            + "always render it as a fraction.  If we still want to treat the fractional "
            + "part of the number as a decimal, then the fraction's denominator "
            + "is always a power of 10.  This example does that: 23.125 is formatted "
            + "as \"twenty-three and one hundred twenty-five thousandths\" (as opposed "
            + "to \"twenty-three point one two five\" or \"twenty-three and one eighth\").",

            "Number with closest fraction.  This example formats a value using "
            + "numerals, but shows the fractional part as a ratio (fraction) rather "
            + "than a decimal.  The fraction always has a denominator between 2 and 10.",

            "American stock-price formatting.  Non-integral stock prices are still "
            + "generally shown in eighths or sixteenths of dollars instead of dollars "
            + "and cents.  This example formats stock prices in this way if possible, "
            + "and in dollars and cents if not.",

            "The next few examples demonstrate using a RuleBasedNumberFormat to "
            + "change the units a value is denominated in depending on its magnitude.  "
            + "The example shows large numbers the way they often appear is nwespapers: "
            + "1,200,000 is formatted as \"1.2 million\".",

            "This example takes a number of meters and formats it in whatever unit "
            + "will produce a number with from one to three digits before the decimal "
            + "point.  For example, 230,000 is formatted as \"230 km\".",

            "A more complicated message-formatting example.  Here, in addition to "
            + "handling the singular and plural versions of the word, the value is "
            + "denominated in bytes, kilobytes, or megabytes depending on its magnitude.  "
            + "Also notice that it correctly treats a kilobyte as 1,024 bytes (not 1,000), "
            + "and a megabyte as 1,024 kilobytes (not 1,000).",

            "This example formats a number in dozens and gross.  This is intended to "
            + "demonstrate how this rule set can be used to format numbers in systems "
            + "other than base 10.  The \"/12\" after the rules' base values controls this.  "
            + "Also notice that the base doesn't have to be consistent throughout the "
            + "whole rule set: we go back to base 10 for values over 1,000.",

            "The next few examples show how a single value can be divided up into major "
            + "and minor units that don't relate to each other by a factor of 10.  "
            + "This example formats a number of seconds in sexagesimal notation "
            + "(i.e., hours, minutes, and seconds).  %with-words formats it with "
            + "words (3740 is \"1 hour, 2 minutes, 20 seconds\") and %in-numerals "
            + "formats it entirely in numerals (3740 is \"1:02:20\").",

            "This example formats a number of hours in sexagesimal notation (i.e., "
            + "hours, minutes, and seconds).  %with-words formats the value using "
            + "words for the units, and %in-numerals formats the value using only "
            + "numerals.",

            "This rule set formats a number of pounds as pounds, shillings, and "
            + "pence in the old English system of currency.",

            "These examples show how RuleBasedNumberFormat can be used to format "
            + "numbers using non-positional numeration systems.  "
            + "This example formats numbers in Arabic numerals.  "
            + "Normally, you'd do this with DecimalFormat, but this shows that "
            + "RuleBasedNumberFormat can handle it too.",

            "This example follows the same pattern as the Arabic-numerals "
            + "example, but uses words for the various digits (e.g., 123 comes "
            + "out as \"one two three\").",

            "This example formats numbers using Chinese characters in the Arabic "
            + "place-value method.  This was used historically in China for a while.",

            "Roman numerals.  This example has two variants: %modern shows how large "
            + "numbers are usually handled today; %historical ses the older symbols for "
            + "thousands.  Not all of the characters are displayable with most fonts.",

            "Hebrew alphabetic numerals.  Before adoption of Arabic numerals, Hebrew speakers "
            + "used the letter of their alphabet as numerals.  The first nine letters of "
            + "the alphabet repesented the values from 1 to 9, the second nine letters the "
            + "multiples of 10, and the remaining letters the multiples of 100.  Since they "
            + "ran out of letters at 400, the remaining multiples of 100 were represented "
            + "using combinations of the existing letters for the hundreds.  Numbers were "
            + "distinguished from words in a number of different ways: the way shown here "
            + "uses a single mark after a number consisting of one letter, and a double "
            + "mark between the last two letters of a number consisting of two or more "
            + "letters.  Two dots over a letter multiplied its value by 1,000.  Also, since "
            + "the letter for 10 is the first letter of God's name and the letters for 5 and 6 "
            + "are letters in God's name, which wasn't supposed to be written or spoken, 15 and "
            + "16 were usually written as 9 + 6 and 9 + 7 instead of 10 + 5 and 10 + 6.",

            "Greek alphabetic numerals.  The Greeks, before adopting the Arabic numerals, "
            + "also used the letters of their alphabet as numerals.  There are three now-"
            + "obsolete Greek letters that are used as numerals; many fonts don't have them.  "
            + "Large numbers were handled many different ways; the way shown here divides "
            + "large numbers into groups of four letters (factors of 10,000), and separates "
            + "the groups with the capital letter mu (for myriad).  Capital letters are used "
            + "for values below 10,000; small letters for higher numbers (to make the capital "
            + "mu stand out).",

            "This is a custom (user-defined) rule set."
        };
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/rbnf/package.html000066400000000000000000000004161172643025600241260ustar00rootroot00000000000000





RuleBasedNumberFormat demo appliation.

icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/timescale/000077500000000000000000000000001172643025600226635ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/timescale/PivotDemo.java000066400000000000000000000060741172643025600254430ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1996-2008, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 *
 */

package com.ibm.icu.dev.demo.timescale;

import java.util.Locale;

import com.ibm.icu.text.MessageFormat;
import com.ibm.icu.util.Calendar;
import com.ibm.icu.util.SimpleTimeZone;
import com.ibm.icu.util.TimeZone;
import com.ibm.icu.util.UniversalTimeScale;

/**
 * This class demonstrates how to use UniversalTimeScale to
 * convert from one local time scale to another.
 * 
 * @see UniversalTimeScale
 */
public class PivotDemo {

    /**
     * The default constructor.
     */
    public PivotDemo()
    {
    }

    /**
     * The main() method uses UniversalTimeScale to
     * convert from the Java and Unix time scales to the ICU time scale. It uses
     * a Calendar object to display the ICU time values.
     * 
     * @param args the command line arguments.
     */
    public static void main(String[] args)
    {
        TimeZone utc = new SimpleTimeZone(0, "UTC");
        Calendar cal = Calendar.getInstance(utc, Locale.ENGLISH);
        MessageFormat fmt = new MessageFormat("{1} = {0, date, full} {0, time, full}");
        Object arguments[] = {cal, null};
        
        arguments[0] = cal;
        
        System.out.println("\nJava test:");
        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME));
        arguments[1] = " 000000000000000";
        System.out.println(fmt.format(arguments));
        
        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(-62164684800000L, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME));
        arguments[1] = "-62164684800000L";
        System.out.println(fmt.format(arguments));
        
        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(-62135769600000L, UniversalTimeScale.JAVA_TIME), UniversalTimeScale.ICU4C_TIME));
        arguments[1] = "-62135769600000L";
        System.out.println(fmt.format(arguments));
        
        System.out.println("\nUnix test:");
        
        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0x80000000, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME));
        arguments[1] = "0x80000000";
        System.out.println(fmt.format(arguments));
        
        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME));
        arguments[1] = "0x00000000";
        System.out.println(fmt.format(arguments));
        
        cal.setTimeInMillis(UniversalTimeScale.toLong(UniversalTimeScale.from(0x7FFFFFFF, UniversalTimeScale.UNIX_TIME), UniversalTimeScale.ICU4C_TIME));
        arguments[1] = "0x7FFFFFFF";
        System.out.println(fmt.format(arguments));
        
    }
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/000077500000000000000000000000001172643025600225555ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/AnyTransliterator.java000066400000000000000000000302461172643025600271120ustar00rootroot00000000000000/**
 *******************************************************************************
 * Copyright (C) 2001-2010, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
package com.ibm.icu.dev.demo.translit;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

import com.ibm.icu.lang.UScript;
import com.ibm.icu.text.Replaceable;
import com.ibm.icu.text.Transliterator;
import com.ibm.icu.text.UTF16;
import com.ibm.icu.text.UnicodeFilter;

public class AnyTransliterator extends Transliterator {
    
    static final boolean DEBUG = false;
    private String targetName;
    private RunIterator it;
    private Position run;
    
    
    public AnyTransliterator(String targetName, UnicodeFilter filter, RunIterator it){
        super("Any-" + targetName, filter);
        this.targetName = targetName;
        this.it = it;
        run = new Position();
    }
    
    public AnyTransliterator(String targetName, UnicodeFilter filter){
        this(targetName, filter, new ScriptRunIterator());
    }
    
    static private Transliterator hex = Transliterator.getInstance("[^\\u0020-\\u007E] hex");
    
    protected void handleTransliterate(Replaceable text,
                                       Position offsets, boolean isIncremental) {
        if (DEBUG) {
            System.out.println("- handleTransliterate " + hex.transliterate(text.toString())
                + ", " + toString(offsets));
        }
        it.reset(text, offsets);
        
        while (it.next(run)) {
            if (targetName.equalsIgnoreCase(it.getName())) {
                if (DEBUG) System.out.println("Skipping identical: " + targetName);
                run.start = run.limit; // show we processed
                continue; // skip if same
            }
            
            Transliterator t;
            String id = it.getName() + '-' + targetName;
            try {
                t = Transliterator.getInstance(id);
            } catch (IllegalArgumentException ex) {
                if (DEBUG) System.out.println("Couldn't find: " + id + ", Trying Latin as Pivot");
                id = it.getName() + "-Latin; Latin-" + targetName;
                try {
                    t = Transliterator.getInstance(id);
                } catch (IllegalArgumentException ex2) {
                    if (DEBUG) System.out.println("Couldn't find: " + id);
                    continue;
                }
            }
            // TODO catch error later!!
                
            if (DEBUG) {
                System.out.println(t.getID());
                System.out.println("input: " + hex.transliterate(text.toString())
                 + ", " + toString(run));
            }
            
            if (isIncremental && it.atEnd()) {
                t.transliterate(text, run);
            } else {
                t.finishTransliteration(text, run);
            }
            // adjust the offsets in line with the changes
            it.adjust(run.limit);
            
            if (DEBUG) {
                System.out.println("output: " + hex.transliterate(text.toString())
                 + ", " + toString(run));
            }
        }

        // show how far we got!
        it.getExpanse(offsets);
        if (run.start == run.limit) offsets.start = offsets.limit;
        else offsets.start = run.start;
        if (DEBUG) {
            System.out.println("+ handleTransliterate: " + ", " + toString(offsets));
            System.out.println();
        }
    }
    
    // should be method on Position
    public static String toString(Position offsets) {
        return "[cs: " + offsets.contextStart
                + ", s: " + offsets.start
                + ", l: " + offsets.limit
                + ", cl: " + offsets.contextLimit
                + "]";
    }
    
    public interface RunIterator {
        public void reset(Replaceable text, Position expanse);
        public void getExpanse(Position run);
        public void reset();
        public boolean next(Position run);
        public void getCurrent(Position run);
        public String getName();
        public void adjust(int newCurrentLimit);
        public boolean atEnd();
    }
    
    /**
     * Returns a series of ranges corresponding to scripts. They will be of the form:
     * ccccSScSSccccTTcTcccc    - where c is common, S is the first script and T is the second
     *|            |            - first run
     *         |            |    - second run
     * That is, the runs will overlap. The reason for this is so that a transliterator can
     * consider common characters both before and after the scripts.
     * The only time that contextStart != start is for the first run 
     *    (the context is the start context of the entire expanse)
     * The only time that contextLimit != limit is for the last run 
     *    (the context is the end context of the entire expanse)
     */
    public static class ScriptRunIterator implements RunIterator {
        private Replaceable text;
        private Position expanse = new Position();
        private Position current = new Position();
        private int script;
        private boolean done = true;
        

        public void reset(Replaceable repText, Position expansePos) {
            set(this.expanse, expansePos);
            this.text = repText;
            reset();
        }
            
        public void reset() {
            done = false;
            //this.expanse = expanse;
            script = UScript.INVALID_CODE;
            // set up first range to be empty, at beginning
            current.contextStart = expanse.contextStart;
            current.start = current.limit = current.contextLimit = expanse.start;            
        }
            
        public boolean next(Position run) {
            if (done) return false;
            if (DEBUG) {
                System.out.println("+cs: " + current.contextStart
                    + ", s: " + current.start
                    + ", l: " + current.limit
                    + ", cl: " + current.contextLimit);
            }
            // reset start context run to the last end
            current.start = current.limit;
            
            // Phase 1. Backup the START value through COMMON until we get to expanse.start or a real script.
            int i, cp;
            int limit = expanse.start;
            for (i = current.start; i > limit; i -= UTF16.getCharCount(cp)) {
                cp = text.char32At(i);
                int scrpt = UScript.getScript(cp);
                if (scrpt != UScript.COMMON && scrpt != UScript.INHERITED) break;
            }
            current.start = i;
            current.contextStart = (i == limit) ? expanse.contextStart : i; // extend at start
            
            // PHASE 2. Move up the LIMIT value through COMMON or single script until we get to expanse.limit
            int lastScript = UScript.COMMON;
            //int veryLastScript = UScript.COMMON;
            limit = expanse.limit; 
            for (i = current.limit; i < limit; i += UTF16.getCharCount(cp)) {
                cp = text.char32At(i);
                int scrpt = UScript.getScript(cp);
                if (scrpt == UScript.INHERITED) scrpt = UScript.COMMON;
                if (scrpt != UScript.COMMON) {
                    // if we find a real script:
                    //   if we already had a script, bail
                    //   otherwise set our script
                    if (lastScript == UScript.COMMON) lastScript = scrpt;
                    else if (lastScript != scrpt) break;
                }
            }
            current.limit = i;
            current.contextLimit = (i == limit) ? expanse.contextLimit : i; // extend at end
            done = (i == limit);
            script = lastScript;
            
            if (DEBUG) {
                System.out.println("-cs: " + current.contextStart
                    + ", s: " + current.start
                    + ", l: " + current.limit
                    + ", cl: " + current.contextLimit);
            }
            
            set(run, current);
            return true;
        }
        
        // SHOULD BE METHOD ON POSITION
        public static void set(Position run, Position current) {
            run.contextStart = current.contextStart;
            run.start = current.start;
            run.limit = current.limit;
            run.contextLimit = current.contextLimit;
        }
        
        public boolean atEnd() {
            return current.limit == expanse.limit;
        }
        
        public void getCurrent(Position run) {
            set(run, current);
        }
        
        public void getExpanse(Position run) {
            set(run, expanse);
        }
        
        public String getName() {
            return UScript.getName(script);
        }
        
        public void adjust(int newCurrentLimit) {
            if (expanse == null) {
                throw new IllegalArgumentException("Must reset() before calling");
            }
            int delta = newCurrentLimit - current.limit;
            current.limit += delta;
            current.contextLimit += delta;
            expanse.limit += delta;
            expanse.contextLimit += delta;
        }
        
        // register Any-Script for every script.
        
        private static Set scriptList = new HashSet();
        
        public static void registerAnyToScript() {
            synchronized (scriptList) {
                Enumeration sources = Transliterator.getAvailableSources();
                while(sources.hasMoreElements()) {
                    String source = (String) sources.nextElement();
                    if (source.equals("Any")) continue; // to keep from looping
                    
                    Enumeration targets = Transliterator.getAvailableTargets(source);
                    while(targets.hasMoreElements()) {
                        String target = (String) targets.nextElement();
                        if (UScript.getCode(target) == null) continue; // SKIP unless we have a script (or locale)
                        if (scriptList.contains(target)) continue; // already encountered
                        scriptList.add(target); // otherwise add for later testing
                        
                        Set variantSet = add(new TreeSet(), Transliterator.getAvailableVariants(source, target));
                        if (variantSet.size() < 2) {
                            AnyTransliterator at = new AnyTransliterator(target, null);
                            DummyFactory.add(at.getID(), at);
                        } else {
                            Iterator variants = variantSet.iterator();
                            while(variants.hasNext()) {
                                String variant = (String) variants.next();
                                AnyTransliterator at = new AnyTransliterator(
                                    (variant.length() > 0) ? target + "/" + variant : target, null);
                                DummyFactory.add(at.getID(), at);
                            }
                        }
                    }
                }
            }
        }
        
        static class DummyFactory implements Transliterator.Factory {
            static DummyFactory singleton = new DummyFactory();
            static HashMap m = new HashMap();

            // Since Transliterators are immutable, we don't have to clone on set & get
            static void add(String ID, Transliterator t) {
                m.put(ID, t);
                System.out.println("Registering: " + ID + ", " + t.toRules(true));
                Transliterator.registerFactory(ID, singleton);
            }
            public Transliterator getInstance(String ID) {
                return (Transliterator) m.get(ID);
            }
        }
        
        // Nice little Utility for converting Enumeration to collection
        static Set add(Set s, Enumeration enumeration) {
            while(enumeration.hasMoreElements()) {
                s.add(enumeration.nextElement());
            }
            return s;
        }
        
        
    }
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/CaseIterator.java000066400000000000000000000706411172643025600260150ustar00rootroot00000000000000/**
*******************************************************************************
* Copyright (C) 1996-2010, International Business Machines Corporation and    *
* others. All Rights Reserved.                                                *
*******************************************************************************
*/

package com.ibm.icu.dev.demo.translit;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;

import com.ibm.icu.lang.UCharacter;
import com.ibm.icu.text.Transliterator;
import com.ibm.icu.text.UTF16;
import com.ibm.icu.text.UnicodeSet;

/**
 * Incrementally returns the set of all strings that case-fold to the same value.
 */
public class CaseIterator {
    
    // testing stuff
    static Transliterator toName = Transliterator.getInstance("[:^ascii:] Any-Name");
    static Transliterator toHex = Transliterator.getInstance("[:^ascii:] Any-Hex");
    static Transliterator toHex2 = Transliterator.getInstance("[[^\u0021-\u007F]-[,]] Any-Hex");
    
    // global tables (could be precompiled)
    private static Map fromCaseFold = new HashMap();
    private static Map toCaseFold = new HashMap();
    private static int maxLength = 0;
    
    // This exception list is generated on the console by turning on the GENERATED flag, 
    // which MUST be false for normal operation.
    // Once the list is generated, it is pasted in here.
    // A bit of a cludge, but this bootstrapping is the easiest way 
    // to get around certain complications in the data.
    
    private static final boolean GENERATE = false;

    private static final boolean DUMP = false;
    
    private static String[][] exceptionList = {
        // a\N{MODIFIER LETTER RIGHT HALF RING}
        {"a\u02BE","A\u02BE","a\u02BE",},
        // ff
        {"ff","FF","Ff","fF","ff",},
        // ffi
        {"ffi","FFI","FFi","FfI","Ffi","F\uFB01","fFI","fFi","ffI","ffi","f\uFB01","\uFB00I","\uFB00i",},
        // ffl
        {"ffl","FFL","FFl","FfL","Ffl","F\uFB02","fFL","fFl","ffL","ffl","f\uFB02","\uFB00L","\uFB00l",},
        // fi
        {"fi","FI","Fi","fI","fi",},
        // fl
        {"fl","FL","Fl","fL","fl",},
        // h\N{COMBINING MACRON BELOW}
        {"h\u0331","H\u0331","h\u0331",},
        // i\N{COMBINING DOT ABOVE}
        {"i\u0307","I\u0307","i\u0307",},
        // j\N{COMBINING CARON}
        {"j\u030C","J\u030C","j\u030C",},
        // ss
        {"ss","SS","Ss","S\u017F","sS","ss","s\u017F","\u017FS","\u017Fs","\u017F\u017F",},
        // st
        {"st","ST","St","sT","st","\u017FT","\u017Ft",},
        // t\N{COMBINING DIAERESIS}
        {"t\u0308","T\u0308","t\u0308",},
        // w\N{COMBINING RING ABOVE}
        {"w\u030A","W\u030A","w\u030A",},
        // y\N{COMBINING RING ABOVE}
        {"y\u030A","Y\u030A","y\u030A",},
        // \N{MODIFIER LETTER APOSTROPHE}n
        {"\u02BCn","\u02BCN","\u02BCn",},
        // \N{GREEK SMALL LETTER ALPHA WITH TONOS}\N{GREEK SMALL LETTER IOTA}
        {"\u03AC\u03B9","\u0386\u0345","\u0386\u0399","\u0386\u03B9","\u0386\u1FBE","\u03AC\u0345","\u03AC\u0399","\u03AC\u03B9","\u03AC\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH TONOS}\N{GREEK SMALL LETTER IOTA}
        {"\u03AE\u03B9","\u0389\u0345","\u0389\u0399","\u0389\u03B9","\u0389\u1FBE","\u03AE\u0345","\u03AE\u0399","\u03AE\u03B9","\u03AE\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA}\N{COMBINING GREEK PERISPOMENI}
        {"\u03B1\u0342","\u0391\u0342","\u03B1\u0342",},
        // \N{GREEK SMALL LETTER ALPHA}\N{COMBINING GREEK PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u03B1\u0342\u03B9","\u0391\u0342\u0345","\u0391\u0342\u0399","\u0391\u0342\u03B9","\u0391\u0342\u1FBE",
            "\u03B1\u0342\u0345","\u03B1\u0342\u0399","\u03B1\u0342\u03B9","\u03B1\u0342\u1FBE","\u1FB6\u0345",
            "\u1FB6\u0399","\u1FB6\u03B9","\u1FB6\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA}\N{GREEK SMALL LETTER IOTA}
        {"\u03B1\u03B9","\u0391\u0345","\u0391\u0399","\u0391\u03B9","\u0391\u1FBE","\u03B1\u0345","\u03B1\u0399","\u03B1\u03B9","\u03B1\u1FBE",},
        // \N{GREEK SMALL LETTER ETA}\N{COMBINING GREEK PERISPOMENI}
        {"\u03B7\u0342","\u0397\u0342","\u03B7\u0342",},
        // \N{GREEK SMALL LETTER ETA}\N{COMBINING GREEK PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u03B7\u0342\u03B9","\u0397\u0342\u0345","\u0397\u0342\u0399","\u0397\u0342\u03B9","\u0397\u0342\u1FBE",
            "\u03B7\u0342\u0345","\u03B7\u0342\u0399","\u03B7\u0342\u03B9","\u03B7\u0342\u1FBE","\u1FC6\u0345","\u1FC6\u0399",
            "\u1FC6\u03B9","\u1FC6\u1FBE",},
        // \N{GREEK SMALL LETTER ETA}\N{GREEK SMALL LETTER IOTA}
        {"\u03B7\u03B9","\u0397\u0345","\u0397\u0399","\u0397\u03B9","\u0397\u1FBE","\u03B7\u0345","\u03B7\u0399","\u03B7\u03B9","\u03B7\u1FBE",},
        // \N{GREEK SMALL LETTER IOTA}\N{COMBINING DIAERESIS}\N{COMBINING GRAVE ACCENT}
        {"\u03B9\u0308\u0300","\u0345\u0308\u0300","\u0399\u0308\u0300","\u03B9\u0308\u0300","\u1FBE\u0308\u0300",},
        // \N{GREEK SMALL LETTER IOTA}\N{COMBINING DIAERESIS}\N{COMBINING ACUTE ACCENT}
        {"\u03B9\u0308\u0301","\u0345\u0308\u0301","\u0399\u0308\u0301","\u03B9\u0308\u0301","\u1FBE\u0308\u0301",},
        // \N{GREEK SMALL LETTER IOTA}\N{COMBINING DIAERESIS}\N{COMBINING GREEK PERISPOMENI}
        {"\u03B9\u0308\u0342","\u0345\u0308\u0342","\u0399\u0308\u0342","\u03B9\u0308\u0342","\u1FBE\u0308\u0342",},
        // \N{GREEK SMALL LETTER IOTA}\N{COMBINING GREEK PERISPOMENI}
        {"\u03B9\u0342","\u0345\u0342","\u0399\u0342","\u03B9\u0342","\u1FBE\u0342",},
        // \N{GREEK SMALL LETTER RHO}\N{COMBINING COMMA ABOVE}
        {"\u03C1\u0313","\u03A1\u0313","\u03C1\u0313","\u03F1\u0313",},
        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING DIAERESIS}\N{COMBINING GRAVE ACCENT}
        {"\u03C5\u0308\u0300","\u03A5\u0308\u0300","\u03C5\u0308\u0300",},
        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING DIAERESIS}\N{COMBINING ACUTE ACCENT}
        {"\u03C5\u0308\u0301","\u03A5\u0308\u0301","\u03C5\u0308\u0301",},
        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING DIAERESIS}\N{COMBINING GREEK PERISPOMENI}
        {"\u03C5\u0308\u0342","\u03A5\u0308\u0342","\u03C5\u0308\u0342",},
        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING COMMA ABOVE}
        {"\u03C5\u0313","\u03A5\u0313","\u03C5\u0313",},
        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING COMMA ABOVE}\N{COMBINING GRAVE ACCENT}
        {"\u03C5\u0313\u0300","\u03A5\u0313\u0300","\u03C5\u0313\u0300","\u1F50\u0300",},
        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING COMMA ABOVE}\N{COMBINING ACUTE ACCENT}
        {"\u03C5\u0313\u0301","\u03A5\u0313\u0301","\u03C5\u0313\u0301","\u1F50\u0301",},
        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING COMMA ABOVE}\N{COMBINING GREEK PERISPOMENI}
        {"\u03C5\u0313\u0342","\u03A5\u0313\u0342","\u03C5\u0313\u0342","\u1F50\u0342",},
        // \N{GREEK SMALL LETTER UPSILON}\N{COMBINING GREEK PERISPOMENI}
        {"\u03C5\u0342","\u03A5\u0342","\u03C5\u0342",},
        // \N{GREEK SMALL LETTER OMEGA}\N{COMBINING GREEK PERISPOMENI}
        {"\u03C9\u0342","\u03A9\u0342","\u03C9\u0342","\u2126\u0342",},
        // \N{GREEK SMALL LETTER OMEGA}\N{COMBINING GREEK PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u03C9\u0342\u03B9","\u03A9\u0342\u0345","\u03A9\u0342\u0399","\u03A9\u0342\u03B9","\u03A9\u0342\u1FBE","\u03C9\u0342\u0345","\u03C9\u0342\u0399","\u03C9\u0342\u03B9","\u03C9\u0342\u1FBE","\u1FF6\u0345",
            "\u1FF6\u0399","\u1FF6\u03B9","\u1FF6\u1FBE","\u2126\u0342\u0345","\u2126\u0342\u0399","\u2126\u0342\u03B9","\u2126\u0342\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA}\N{GREEK SMALL LETTER IOTA}
        {"\u03C9\u03B9","\u03A9\u0345","\u03A9\u0399","\u03A9\u03B9","\u03A9\u1FBE","\u03C9\u0345","\u03C9\u0399","\u03C9\u03B9","\u03C9\u1FBE","\u2126\u0345","\u2126\u0399","\u2126\u03B9","\u2126\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH TONOS}\N{GREEK SMALL LETTER IOTA}
        {"\u03CE\u03B9","\u038F\u0345","\u038F\u0399","\u038F\u03B9","\u038F\u1FBE","\u03CE\u0345","\u03CE\u0399","\u03CE\u03B9","\u03CE\u1FBE",},
        // \N{ARMENIAN SMALL LETTER ECH}\N{ARMENIAN SMALL LETTER YIWN}
        {"\u0565\u0582","\u0535\u0552","\u0535\u0582","\u0565\u0552","\u0565\u0582",},
        // \N{ARMENIAN SMALL LETTER MEN}\N{ARMENIAN SMALL LETTER ECH}
        {"\u0574\u0565","\u0544\u0535","\u0544\u0565","\u0574\u0535","\u0574\u0565",},
        // \N{ARMENIAN SMALL LETTER MEN}\N{ARMENIAN SMALL LETTER INI}
        {"\u0574\u056B","\u0544\u053B","\u0544\u056B","\u0574\u053B","\u0574\u056B",},
        // \N{ARMENIAN SMALL LETTER MEN}\N{ARMENIAN SMALL LETTER XEH}
        {"\u0574\u056D","\u0544\u053D","\u0544\u056D","\u0574\u053D","\u0574\u056D",},
        // \N{ARMENIAN SMALL LETTER MEN}\N{ARMENIAN SMALL LETTER NOW}
        {"\u0574\u0576","\u0544\u0546","\u0544\u0576","\u0574\u0546","\u0574\u0576",},
        // \N{ARMENIAN SMALL LETTER VEW}\N{ARMENIAN SMALL LETTER NOW}
        {"\u057E\u0576","\u054E\u0546","\u054E\u0576","\u057E\u0546","\u057E\u0576",},
        // \N{GREEK SMALL LETTER ALPHA WITH PSILI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F00\u03B9","\u1F00\u0345","\u1F00\u0399","\u1F00\u03B9","\u1F00\u1FBE","\u1F08\u0345","\u1F08\u0399","\u1F08\u03B9","\u1F08\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA WITH DASIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F01\u03B9","\u1F01\u0345","\u1F01\u0399","\u1F01\u03B9","\u1F01\u1FBE","\u1F09\u0345","\u1F09\u0399","\u1F09\u03B9","\u1F09\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F02\u03B9","\u1F02\u0345","\u1F02\u0399","\u1F02\u03B9","\u1F02\u1FBE","\u1F0A\u0345","\u1F0A\u0399","\u1F0A\u03B9","\u1F0A\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F03\u03B9","\u1F03\u0345","\u1F03\u0399","\u1F03\u03B9","\u1F03\u1FBE","\u1F0B\u0345","\u1F0B\u0399","\u1F0B\u03B9","\u1F0B\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F04\u03B9","\u1F04\u0345","\u1F04\u0399","\u1F04\u03B9","\u1F04\u1FBE","\u1F0C\u0345","\u1F0C\u0399","\u1F0C\u03B9","\u1F0C\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F05\u03B9","\u1F05\u0345","\u1F05\u0399","\u1F05\u03B9","\u1F05\u1FBE","\u1F0D\u0345","\u1F0D\u0399","\u1F0D\u03B9","\u1F0D\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F06\u03B9","\u1F06\u0345","\u1F06\u0399","\u1F06\u03B9","\u1F06\u1FBE","\u1F0E\u0345","\u1F0E\u0399","\u1F0E\u03B9","\u1F0E\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F07\u03B9","\u1F07\u0345","\u1F07\u0399","\u1F07\u03B9","\u1F07\u1FBE","\u1F0F\u0345","\u1F0F\u0399","\u1F0F\u03B9","\u1F0F\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH PSILI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F20\u03B9","\u1F20\u0345","\u1F20\u0399","\u1F20\u03B9","\u1F20\u1FBE","\u1F28\u0345","\u1F28\u0399","\u1F28\u03B9","\u1F28\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH DASIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F21\u03B9","\u1F21\u0345","\u1F21\u0399","\u1F21\u03B9","\u1F21\u1FBE","\u1F29\u0345","\u1F29\u0399","\u1F29\u03B9","\u1F29\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH PSILI AND VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F22\u03B9","\u1F22\u0345","\u1F22\u0399","\u1F22\u03B9","\u1F22\u1FBE","\u1F2A\u0345","\u1F2A\u0399","\u1F2A\u03B9","\u1F2A\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH DASIA AND VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F23\u03B9","\u1F23\u0345","\u1F23\u0399","\u1F23\u03B9","\u1F23\u1FBE","\u1F2B\u0345","\u1F2B\u0399","\u1F2B\u03B9","\u1F2B\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH PSILI AND OXIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F24\u03B9","\u1F24\u0345","\u1F24\u0399","\u1F24\u03B9","\u1F24\u1FBE","\u1F2C\u0345","\u1F2C\u0399","\u1F2C\u03B9","\u1F2C\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH DASIA AND OXIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F25\u03B9","\u1F25\u0345","\u1F25\u0399","\u1F25\u03B9","\u1F25\u1FBE","\u1F2D\u0345","\u1F2D\u0399","\u1F2D\u03B9","\u1F2D\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F26\u03B9","\u1F26\u0345","\u1F26\u0399","\u1F26\u03B9","\u1F26\u1FBE","\u1F2E\u0345","\u1F2E\u0399","\u1F2E\u03B9","\u1F2E\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F27\u03B9","\u1F27\u0345","\u1F27\u0399","\u1F27\u03B9","\u1F27\u1FBE","\u1F2F\u0345","\u1F2F\u0399","\u1F2F\u03B9","\u1F2F\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH PSILI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F60\u03B9","\u1F60\u0345","\u1F60\u0399","\u1F60\u03B9","\u1F60\u1FBE","\u1F68\u0345","\u1F68\u0399","\u1F68\u03B9","\u1F68\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH DASIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F61\u03B9","\u1F61\u0345","\u1F61\u0399","\u1F61\u03B9","\u1F61\u1FBE","\u1F69\u0345","\u1F69\u0399","\u1F69\u03B9","\u1F69\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F62\u03B9","\u1F62\u0345","\u1F62\u0399","\u1F62\u03B9","\u1F62\u1FBE","\u1F6A\u0345","\u1F6A\u0399","\u1F6A\u03B9","\u1F6A\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F63\u03B9","\u1F63\u0345","\u1F63\u0399","\u1F63\u03B9","\u1F63\u1FBE","\u1F6B\u0345","\u1F6B\u0399","\u1F6B\u03B9","\u1F6B\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F64\u03B9","\u1F64\u0345","\u1F64\u0399","\u1F64\u03B9","\u1F64\u1FBE","\u1F6C\u0345","\u1F6C\u0399","\u1F6C\u03B9","\u1F6C\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F65\u03B9","\u1F65\u0345","\u1F65\u0399","\u1F65\u03B9","\u1F65\u1FBE","\u1F6D\u0345","\u1F6D\u0399","\u1F6D\u03B9","\u1F6D\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F66\u03B9","\u1F66\u0345","\u1F66\u0399","\u1F66\u03B9","\u1F66\u1FBE","\u1F6E\u0345","\u1F6E\u0399","\u1F6E\u03B9","\u1F6E\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI}\N{GREEK SMALL LETTER IOTA}
        {"\u1F67\u03B9","\u1F67\u0345","\u1F67\u0399","\u1F67\u03B9","\u1F67\u1FBE","\u1F6F\u0345","\u1F6F\u0399","\u1F6F\u03B9","\u1F6F\u1FBE",},
        // \N{GREEK SMALL LETTER ALPHA WITH VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F70\u03B9","\u1F70\u0345","\u1F70\u0399","\u1F70\u03B9","\u1F70\u1FBE","\u1FBA\u0345","\u1FBA\u0399","\u1FBA\u03B9","\u1FBA\u1FBE",},
        // \N{GREEK SMALL LETTER ETA WITH VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F74\u03B9","\u1F74\u0345","\u1F74\u0399","\u1F74\u03B9","\u1F74\u1FBE","\u1FCA\u0345","\u1FCA\u0399","\u1FCA\u03B9","\u1FCA\u1FBE",},
        // \N{GREEK SMALL LETTER OMEGA WITH VARIA}\N{GREEK SMALL LETTER IOTA}
        {"\u1F7C\u03B9","\u1F7C\u0345","\u1F7C\u0399","\u1F7C\u03B9","\u1F7C\u1FBE","\u1FFA\u0345","\u1FFA\u0399","\u1FFA\u03B9","\u1FFA\u1FBE",},
    };
    
    // this initializes the data used to generated the case-equivalents

    static {
        
        // Gather up the exceptions in a form we can use
        
        if (!GENERATE) {
            for (int i = 0; i < exceptionList.length; ++i) {
                String[] exception = exceptionList[i];
                Set s = new HashSet();
                // there has to be some method to do the following, but I can't find it in the collections
                for (int j = 0; j < exception.length; ++j) {
                    s.add(exception[j]);
                }
                fromCaseFold.put(exception[0], s);
            }
        }
        
        // walk through all the characters, and at every case fold result,
        // put a set of all the characters that map to that result

        boolean defaultmapping = true; // false for turkish
        for (int i = 0; i <= 0x10FFFF; ++i) {
            int cat = UCharacter.getType(i);
            if (cat == Character.UNASSIGNED || cat == Character.PRIVATE_USE) continue;
            
            String cp = UTF16.valueOf(i);
            String mapped = UCharacter.foldCase(cp, defaultmapping);
            if (mapped.equals(cp)) continue;
            
            if (maxLength < mapped.length()) maxLength = mapped.length();
            
            // at this point, have different case folding
            
            Set s = (Set) fromCaseFold.get(mapped);
            if (s == null) {
                s = new HashSet();
                s.add(mapped); // add the case fold result itself
                fromCaseFold.put(mapped, s);
            }
            s.add(cp);
            toCaseFold.put(cp, mapped);
            toCaseFold.put(mapped, mapped); // add mapping to self
        }
        
        // Emit the final data

        if (DUMP) {
            System.out.println("maxLength = " + maxLength);

            System.out.println("\nfromCaseFold:");
            Iterator it = fromCaseFold.keySet().iterator();
            while (it.hasNext()) {
                Object key = it.next();
                System.out.print(" " + toHex2.transliterate((String)key) + ": ");
                Set s = (Set) fromCaseFold.get(key);
                Iterator it2 = s.iterator();
                boolean first = true;
                while (it2.hasNext()) {
                    if (first) {
                        first = false;
                    } else {
                        System.out.print(", ");
                    }
                    System.out.print(toHex2.transliterate((String)it2.next()));
                }
                System.out.println("");
            }

            System.out.println("\ntoCaseFold:");
            it = toCaseFold.keySet().iterator();
            while (it.hasNext()) {
                String key = (String) it.next();
                String value = (String) toCaseFold.get(key);
                System.out.println(" " + toHex2.transliterate(key) + ": " + toHex2.transliterate(value));
            }            
        }
        
        // Now convert all those sets into linear arrays
        // We can't do this in place in Java, so make a temporary target array
        
        // Note: This could be transformed into a single array, with offsets into it.
        // Might be best choice in C.
        
        
        Map fromCaseFold2 = new HashMap();
        Iterator it = fromCaseFold.keySet().iterator();
        while (it.hasNext()) {
            Object key = it.next();
            Set s = (Set) fromCaseFold.get(key);
            String[] temp = new String[s.size()];
            s.toArray(temp);
            fromCaseFold2.put(key, temp);
        }
        fromCaseFold = fromCaseFold2;

        // We have processed everything, so the iterator will now work
        // The following is normally OFF. 
        // It is here to generate (under the GENERATE flag) the static exception list.
        // It must be at the very end of initialization, so that the iterator is functional.
        // (easiest to do it that way)
            
        if (GENERATE) {

            // first get small set of items that have multiple characters
            
            Set multichars = new TreeSet();
            it = fromCaseFold.keySet().iterator();
            while (it.hasNext()) {
                String key = (String) it.next();
                if (UTF16.countCodePoint(key) < 2) continue;
                multichars.add(key);
            }            
            
            // now we will go through each of them.
            
            CaseIterator ci = new CaseIterator();
            it = multichars.iterator();
            
            while (it.hasNext()) {
                String key = (String) it.next();
                
                // here is a nasty complication. Take 'ffi' ligature. We
                // can't just close it, since we would miss the combination
                // that includes the 'fi' => "fi" ligature
                // so first do a pass through, and add substring combinations
                // we call this a 'partial closure'
                
                Set partialClosure = new TreeSet();
                partialClosure.add(key);
                
                if (UTF16.countCodePoint(key) > 2) {
                    Iterator multiIt2 = multichars.iterator();
                    while (multiIt2.hasNext()) {
                        String otherKey = (String) multiIt2.next();
                        if (otherKey.length() >= key.length()) continue;
                        int pos = -1;
                        while (true) {
                            // The following is not completely general
                            // but works for the actual cased stuff,
                            // and should work for future characters, since we won't have
                            // more ligatures & other oddities.
                            pos = key.indexOf(otherKey, pos+1);
                            if (pos < 0) break;
                            int endPos = pos + otherKey.length();
                            // we know we have a proper substring,
                            // so get the combinations
                            String[] choices = (String[]) fromCaseFold.get(otherKey);
                            for (int ii = 0; ii < choices.length; ++ii) {
                                String patchwork = key.substring(0, pos)
                                    + choices[ii]
                                    + key.substring(endPos);
                                partialClosure.add(patchwork);
                            }
                        }
                    }
                }
                
                // now, for each thing in the partial closure, get its
                // case closure and add it to the final result.
                
                Set closure = new TreeSet(); // this will be the real closure
                Iterator partialIt = partialClosure.iterator();
                while (partialIt.hasNext()) {
                    String key2 = (String) partialIt.next();
                    ci.reset(key2);
                    for (String temp = ci.next(); temp != null; temp = ci.next()) {
                        closure.add(temp);
                    }
                    // form closure
                    /*String[] choices = (String[]) fromCaseFold.get(key2);
                    for (int i = 0; i < choices.length; ++i) {
                        ci.reset(choices[i]);
                        String temp;
                        while (null != (temp = ci.next())) {
                            closure.add(temp);
                        }
                    }
                    */
                }
                
                // print it out, so that it can be cut and pasted back into this document.
                
                Iterator it2 = closure.iterator();
                System.out.println("\t// " + toName.transliterate(key));
                System.out.print("\t{\"" + toHex.transliterate(key) + "\",");
                while (it2.hasNext()) {
                    String item = (String)it2.next();
                    System.out.print("\"" + toHex.transliterate(item) + "\",");
                }
                System.out.println("},");
            }
        }
    }
    
    // ============ PRIVATE CLASS DATA ============ 
    
    // pieces that we will put together
    // is not changed during iteration
    private int count = 0;
    private String[][] variants;
    
    // state information, changes during iteration
    private boolean done = false;
    private int[] counts;
    
    // internal buffer for efficiency
    private StringBuffer nextBuffer = new StringBuffer();
    
    // ========================  

    /**
     * Reset to different source. Once reset, the iteration starts from the beginning.
     * @param source The string to get case variants for
     */
    public void reset(String source) {
        
        // allocate arrays to store pieces
        // using length might be slightly too long, but we don't care much
        
        counts = new int[source.length()];
        variants = new String[source.length()][];
        
        // walk through the source, and break up into pieces
        // each piece becomes an array of equivalent values
        // TODO: could optimized this later to coalesce all single string pieces
        
        String piece = null;
        count = 0;
        for (int i = 0; i < source.length(); i += piece.length()) {
            
            // find *longest* matching piece
            String caseFold = null;
            
            if (GENERATE) {
                // do exactly one CP
                piece = UTF16.valueOf(source, i);
                caseFold = (String) toCaseFold.get(piece);
            } else {               
                int max = i + maxLength;
                if (max > source.length()) max = source.length();
                for (int j = max; j > i; --j) {
                    piece = source.substring(i, j);
                    caseFold = (String) toCaseFold.get(piece);
                    if (caseFold != null) break;
                }
            }
            
            // if we fail, pick one code point
            if (caseFold == null) {
                piece = UTF16.valueOf(source, i);
                variants[count++] = new String[] {piece}; // single item string
            } else {
                variants[count++] = (String[])fromCaseFold.get(caseFold);
            }
        }
        reset();
    }
    
    /**
     * Restart the iteration from the beginning, but with same source
     */
    public void reset() {
        done = false;
        for (int i = 0; i < count; ++i) {
            counts[i] = 0;
        }
    }
    
    /**
     * Iterates through the case variants.
     * @return next case variant. Each variant will case-fold to the same value as the source will.
     * When the iteration is done, null is returned.
     */
    public String next() {
        
        if (done) return null;
        int i;
        
        // TODO Optimize so we keep the piece before and after the current position
        // so we don't have so much concatenation
        
        // get the result, a concatenation
        
        nextBuffer.setLength(0);
        for (i = 0; i < count; ++i) {
            nextBuffer.append(variants[i][counts[i]]);
        }
        
        // find the next right set of pieces to concatenate
        
        for (i = count-1; i >= 0; --i) {
            counts[i]++;
            if (counts[i] < variants[i].length) break;
            counts[i] = 0;
        }
        
        // if we go too far, bail
        
        if (i < 0) {
            done = true;
        }
        
        return nextBuffer.toString();            
    }
        
        
    /**
     * Temporary test, just to see how the stuff works.
     */
    static public void main(String[] args) {
        String[] testCases = {"fiss", "h\u03a3"};
        CaseIterator ci = new CaseIterator();
        
        for (int i = 0; i < testCases.length; ++i) {
            String item = testCases[i];
            System.out.println();
            System.out.println("Testing: " + toName.transliterate(item));
            System.out.println();
            ci.reset(item);
            int count = 0;
            for (String temp = ci.next(); temp != null; temp = ci.next()) {
                System.out.println(toName.transliterate(temp));
                count++;
            }
            System.out.println("Total: " + count);
        }

        // generate a list of all caseless characters -- characters whose
        // case closure is themselves.

        UnicodeSet caseless = new UnicodeSet();

        for (int i = 0; i <= 0x10FFFF; ++i) {
            String cp = UTF16.valueOf(i);
            ci.reset(cp);
            int count = 0;
            String fold = null;
            for (String temp = ci.next(); temp != null; temp = ci.next()) {
                fold = temp;
                if (++count > 1) break;
            }
            if (count==1 && fold.equals(cp)) {
                caseless.add(i);
            }
        }

        System.out.println("caseless = " + caseless.toPattern(true));

        UnicodeSet not_lc = new UnicodeSet("[:^lc:]");
        
        UnicodeSet a = new UnicodeSet();
        a.set(not_lc);
        a.removeAll(caseless);
        System.out.println("[:^lc:] - caseless = " + a.toPattern(true));

        a.set(caseless);
        a.removeAll(not_lc);
        System.out.println("caseless - [:^lc:] = " + a.toPattern(true));
    }
}
icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/Demo.java000066400000000000000000001606021172643025600243110ustar00rootroot00000000000000/*
 *******************************************************************************
 * Copyright (C) 1996-2010, International Business Machines Corporation and    *
 * others. All Rights Reserved.                                                *
 *******************************************************************************
 */
package com.ibm.icu.dev.demo.translit;

import java.awt.Button;
import java.awt.CheckboxMenuItem;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.Frame;
import java.awt.GraphicsEnvironment;
import java.awt.Label;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.text.CharacterIterator;
import java.util.Comparator;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;

import com.ibm.icu.impl.Differ;
import com.ibm.icu.lang.UCharacter;
import com.ibm.icu.text.BreakIterator;
import com.ibm.icu.text.CanonicalIterator;
import com.ibm.icu.text.Normalizer;
import com.ibm.icu.text.ReplaceableString;
import com.ibm.icu.text.Transliterator;
import com.ibm.icu.text.UTF16;
import com.ibm.icu.text.UnicodeSet;
import com.ibm.icu.text.UnicodeSetIterator;

/**
 * A frame that allows the user to experiment with keyboard
 * transliteration.  This class has a main() method so it can be run
 * as an application.  The frame contains an editable text component
 * and uses keyboard transliteration to process keyboard events.
 *
 * 

Copyright (c) IBM Corporation 1999. All rights reserved. * * @author Alan Liu */ public class Demo extends Frame { /** * For serialization */ private static final long serialVersionUID = 1L; static final boolean DEBUG = false; static final String START_TEXT = "(cut,\u03BA\u03C5\u03C4,\u05D0,\u30AF\u30C8,\u4E80,\u091A\u0941\u0924\u094D)"; Transliterator translit = null; String fontName = "Arial Unicode MS"; int fontSize = 18; /* boolean compound = false; Transliterator[] compoundTranslit = new Transliterator[MAX_COMPOUND]; static final int MAX_COMPOUND = 128; int compoundCount = 0; */ TransliteratingTextComponent text = null; Menu translitMenu; CheckboxMenuItem translitItem; CheckboxMenuItem noTranslitItem; static final String NO_TRANSLITERATOR = "None"; //private static final String COPYRIGHT = // "\u00A9 IBM Corporation 1999. All rights reserved."; public static void main(String[] args) { Frame f = new Demo(600, 200); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { com.ibm.icu.dev.demo.impl.DemoApplet.demoFrameClosed(); // System.exit(0); } }); f.setVisible(true); com.ibm.icu.dev.demo.impl.DemoApplet.demoFrameOpened(); } public Demo(int width, int height) { super("Transliteration Demo"); initMenus(); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { handleClose(); } }); text = new TransliteratingTextComponent(); Font font = new Font(fontName, Font.PLAIN, fontSize); text.setFont(font); text.setSize(width, height); text.setVisible(true); text.setText(START_TEXT); add(text); setSize(width, height); setTransliterator("Latin-Greek", null); } private void initMenus() { MenuBar mbar; Menu menu; MenuItem mitem; //CheckboxMenuItem citem; setMenuBar(mbar = new MenuBar()); mbar.add(menu = new Menu("File")); menu.add(mitem = new MenuItem("Quit")); mitem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { handleClose(); } }); /* final ItemListener setTransliteratorListener = new ItemListener() { public void itemStateChanged(ItemEvent e) { CheckboxMenuItem item = (CheckboxMenuItem) e.getSource(); if (e.getStateChange() == ItemEvent.DESELECTED) { // Don't let the current transliterator be deselected. // Just reselect it. item.setState(true); } else if (compound) { // Adding an item to a compound transliterator handleAddToCompound(item.getLabel()); } else if (item != translitItem) { // Deselect previous choice. Don't need to call // setState(true) on new choice. translitItem.setState(false); translitItem = item; handleSetTransliterator(item.getLabel()); } } }; */ /* translitMenu.add(translitItem = noTranslitItem = new CheckboxMenuItem(NO_TRANSLITERATOR, true)); noTranslitItem.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { // Can't uncheck None -- any action here sets None to true setNoTransliterator(); } }); translitMenu.addSeparator(); */ /* translitMenu.add(citem = new CheckboxMenuItem("Compound")); citem.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { CheckboxMenuItem item = (CheckboxMenuItem) e.getSource(); if (e.getStateChange() == ItemEvent.DESELECTED) { // If compound gets deselected, then select NONE setNoTransliterator(); } else if (!compound) { // Switching from non-compound to compound translitItem.setState(false); translitItem = item; translit = null; compound = true; compoundCount = 0; for (int i=0; i &Hex($1) &Name($1);\r\n" + "&Hex-Any($1) < ('\\' [uU] [a-fA-F0-9]*);\r\n" + "&Name-Any($1) < ('{' [^\\}]* '}');" ); button = new Button("Set"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String compound = ""; try { compound = rulesDialog.getArea().getText(); String id = ruleId.getText(); setTransliterator(compound, id); } catch (RuntimeException ex) { rulesDialog.getArea().setText(compound + "\n#" + ex.getMessage()); } } }); rulesDialog.getBottom().add(button); ruleId = new TextField("test1", 20); Label temp = new Label(" Name:"); rulesDialog.getBottom().add(temp); rulesDialog.getBottom().add(ruleId); translitMenu.add(mitem = new MenuItem("From Rules...", new MenuShortcut(KeyEvent.VK_R))); mitem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { rulesDialog.show(); } }); translitMenu.add(mitem = new MenuItem("From File...", new MenuShortcut(KeyEvent.VK_F))); mitem.addActionListener(new FileListener(this, RULE_FILE)); translitMenu.add(mitem = new MenuItem("Test File...")); mitem.addActionListener(new FileListener(this, TEST_FILE)); // Flesh out the menu with the installed transliterators translitMenu.addSeparator(); Iterator sources = add(new TreeSet(), Transliterator.getAvailableSources()).iterator(); while(sources.hasNext()) { String source = (String) sources.next(); Iterator targets = add(new TreeSet(), Transliterator.getAvailableTargets(source)).iterator(); Menu targetMenu = new Menu(source); while(targets.hasNext()) { String target = (String) targets.next(); Set variantSet = add(new TreeSet(), Transliterator.getAvailableVariants(source, target)); if (variantSet.size() < 2) { mitem = new MenuItem(target); mitem.addActionListener(new TransliterationListener(source + "-" + target)); targetMenu.add(mitem); } else { Iterator variants = variantSet.iterator(); Menu variantMenu = new Menu(target); while(variants.hasNext()) { String variant = (String) variants.next(); String menuName = variant.length() == 0 ? "" : variant; //System.out.println("<" + source + "-" + target + "/" + variant + ">, <" + menuName + ">"); mitem = new MenuItem(menuName); mitem.addActionListener(new TransliterationListener(source + "-" + target + "/" + variant)); variantMenu.add(mitem); } targetMenu.add(variantMenu); } } translitMenu.add(targetMenu); } } static final int RULE_FILE = 0, TEST_FILE = 1; // static class FileListener implements ActionListener { Demo frame; int choice; FileListener(Demo frame, int choice) { this.frame = frame; this.choice = choice; } public void actionPerformed(ActionEvent e) { String id = frame.translit.getID(); int slashPos = id.indexOf('/'); String variant = ""; if (slashPos >= 0) { variant = "_" + id.substring(slashPos+1); id = id.substring(0, slashPos); } FileDialog fileDialog = new FileDialog(frame, "Input File"); fileDialog.setFile("Test_" + id + ".txt"); fileDialog.show(); String fileName = fileDialog.getFile(); String fileDirectory = fileDialog.getDirectory(); if (fileName != null) { try { File f = new File(fileDirectory, fileName); if (choice == RULE_FILE) { // read stuff into buffer StringBuffer buffer = new StringBuffer(); FileInputStream fis = new FileInputStream(f); InputStreamReader isr = new InputStreamReader(fis, "UTF8"); BufferedReader br = new BufferedReader(isr, 32*1024); while (true) { String line = br.readLine(); if (line == null) break; if (line.length() > 0 && line.charAt(0) == '\uFEFF') line = line.substring(1); // strip BOM buffer.append('\n'); buffer.append(line); } br.close(); // Transform file name into id if (fileName.startsWith("Transliterator_")) { fileName = fileName.substring("Transliterator_".length()); } int pos = fileName.indexOf('_'); if (pos < 0) { id = fileName; } else { id = fileName.substring(0, pos) + "-"; int pos2 = fileName.indexOf('_', pos+1); if (pos2 < 0) { id += fileName.substring(pos+1); } else { id += fileName.substring(pos+1, pos2) + "/" + fileName.substring(pos2 + 1); } } pos = id.lastIndexOf('.'); if (pos >= 0) id = id.substring(0, pos); // Now set frame.setTransliterator(buffer.toString(), id); } else if (choice == TEST_FILE) { genTestFile(f, frame.translit, variant); } } catch (Exception e2) { e2.printStackTrace(); System.out.println("Problem opening/reading: " + fileDirectory + ", " + fileName); } } fileDialog.dispose(); } } boolean transliterateTyping = true; Transliterator fromHex = Transliterator.getInstance("Hex-Any"); InfoDialog helpDialog; InfoDialog hexDialog; InfoDialog compoundDialog; InfoDialog rulesDialog; TextField ruleId; MenuItem convertSelectionItem = null; MenuItem swapSelectionItem = null; MenuItem convertTypingItem = null; Menu historyMenu; Map historyMap = new HashMap(); Set historySet = new TreeSet(new Comparator() { public int compare(Object a, Object b) { MenuItem aa = (MenuItem)a; MenuItem bb = (MenuItem)b; return aa.getLabel().compareTo(bb.getLabel()); } }); // ADD Factory since otherwise getInverse blows out static class DummyFactory implements Transliterator.Factory { static DummyFactory singleton = new DummyFactory(); static HashMap m = new HashMap(); // Since Transliterators are immutable, we don't have to clone on set & get static void add(String ID, Transliterator t) { m.put(ID, t); System.out.println("Registering: " + ID + ", " + t.toRules(true)); Transliterator.registerFactory(ID, singleton); } public Transliterator getInstance(String ID) { return (Transliterator) m.get(ID); } } static void printBreaks(int num, String testSource, BreakIterator brkItr) { String result = ""; int lastPos = 0; while (true) { int pos = brkItr.next(); if (pos == BreakIterator.DONE) break; result += testSource.substring(lastPos, pos) + "&"; lastPos = pos; System.out.println(pos); } System.out.println("Test" + num + ": " + result); } static void printIteration(int num, String testSource, CharacterIterator ci) { String result = ""; while (true) { char ch = ci.next(); if (ch == CharacterIterator.DONE) break; result += ch + "(" + ci.getIndex() + ")"; } System.out.println("Test" + num + ": " + result); } static void printSources() { String[] list = {"Latin-ThaiLogical", "ThaiLogical-Latin", "Thai-ThaiLogical", "ThaiLogical-Thai"}; UnicodeSet all = new UnicodeSet(); for (int i = 0; i < list.length; ++i) { Transliterator tr = Transliterator.getInstance(list[i]); UnicodeSet src = tr.getSourceSet(); System.out.println(list[i] + ": " + src.toPattern(true)); all.addAll(src); } System.out.println("All: " + all.toPattern(true)); UnicodeSet rem = new UnicodeSet("[[:latin:][:thai:]]"); System.out.println("missing from [:latin:][:thai:]: " + all.removeAll(rem).toPattern(true)); } // 200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;; static Transliterator title = Transliterator.getInstance("title"); static String hexAndNameRules = " ([:c:]) > \\u200E &hex/unicode($1) ' ( ) ' &name($1) \\u200E ' ';" + "([:mark:]) > \\u200E &hex/unicode($1) ' ( ' \\u200E \u25CC $1 \\u200E ' ) ' &name($1) \\u200E ' ';" + "(.) > \\u200E &hex/unicode($1) ' ( ' \\u200E $1 \\u200E ' ) ' &name($1) ' ' \\u200E;"; static Transliterator hexAndName = Transliterator.createFromRules("any-hexAndName", hexAndNameRules, Transliterator.FORWARD); //static Transliterator upper = Transliterator.getInstance("upper"); static final byte NONE = 0, TITLEWORD = 1, TITLELINE = 2; static void genTestFile(File sourceFile, Transliterator translit, String variant) { try { System.out.println("Reading: " + sourceFile.getCanonicalPath()); BufferedReader in = new BufferedReader( new InputStreamReader( new FileInputStream(sourceFile), "UTF-8")); String targetFile = sourceFile.getCanonicalPath(); int dotPos = targetFile.lastIndexOf('.'); if (dotPos >= 0) targetFile = targetFile.substring(0,dotPos); targetFile += variant; File outFile = new File(targetFile + ".html"); System.out.println("Writing: " + outFile.getCanonicalPath()); PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter( new FileOutputStream(outFile), "UTF-8"))); String direction = ""; String id = translit.getID(); if (id.indexOf("Arabic") >= 0 || id.indexOf("Hebrew") >= 0) { direction = " direction: rtl;"; } boolean testRoundTrip = true; boolean generateSets = true; if (id.startsWith("Han-") || id.startsWith("ja-")) { testRoundTrip = false; generateSets = false; } out.println(""); out.println(""); out.println("" + id + " Transliteration Check"); out.println("

See Test_Instructions.html for details.

"); out.println(""); //out.println(""); Transliterator tl = translit; Transliterator lt = tl.getInverse(); Transliterator ltFilter = tl.getInverse(); ltFilter.setFilter(new UnicodeSet("[:^Lu:]")); Transliterator tlFilter = lt.getInverse(); tlFilter.setFilter(new UnicodeSet("[:^Lu:]")); //Transliterator.getInstance("[:^Lu:]" + lt.getID()); BreakIterator sentenceBreak = BreakIterator.getSentenceInstance(); byte titleSetting = TITLELINE; //boolean upperfilter = false; boolean first = true; while (true) { String line = in.readLine(); if (line == null) break; line = line.trim(); if (line.length() == 0) continue; if (line.charAt(0) == '\uFEFF') line = line.substring(1); // remove BOM if (line.charAt(0) == '#') continue; // comments if (line.equals("@TITLECASE@")) { titleSetting = TITLEWORD; out.println(""); continue; } else if (line.equals("@UPPERFILTER@")) { //upperfilter = true; continue; } else if (line.startsWith("@SET")) { UnicodeSet s = new UnicodeSet(line.substring(4).trim()); out.println(""); UnicodeSetIterator it = new UnicodeSetIterator(s); while (it.next()) { addSentenceToTable(out, it.codepoint != UnicodeSetIterator.IS_STRING ? UTF16.valueOf(it.codepoint) : it.string, NONE, true, testRoundTrip, first, tl, lt); } continue; } sentenceBreak.setText(line); int start = 0; while (true) { int end = sentenceBreak.next(); if (end == BreakIterator.DONE) break; String coreSentence = line.substring(start, end); //System.out.println("Core: " + hex.transliterate(coreSentence)); end = start; int oldPos = 0; while (oldPos < coreSentence.length()) { // hack, because sentence doesn't seem to be working right int pos = coreSentence.indexOf(". ", oldPos); if (pos < 0) pos = coreSentence.length(); else pos = pos+2; int pos2 = coreSentence.indexOf('\u3002', oldPos); if (pos2 < 0) pos2 = coreSentence.length(); else pos2 = pos2 + 1; if (pos > pos2) pos = pos2; String sentence = coreSentence.substring(oldPos, pos).trim(); //System.out.println("Sentence: " + hex.transliterate(coreSentence)); oldPos = pos; addSentenceToTable(out, sentence, titleSetting, false, testRoundTrip, first, tl, lt); first = false; } } } out.println("
ThaiLatinThai
Names
Characters
"); out.close(); // Now write the source/target sets if (generateSets) { outFile = new File(targetFile + "_Sets.html"); System.out.println("Writing: " + outFile.getCanonicalPath()); out = new PrintWriter( new BufferedWriter( new OutputStreamWriter( new FileOutputStream(outFile), "UTF-8"))); out.println(""); out.println(""); out.println("" + id + " Transliteration Sets"); out.println(""); int dashPos = id.indexOf('-'); int slashPos = id.indexOf('/'); if (slashPos < 0) slashPos = id.length(); UnicodeSet sourceSuper = null; try { String temp = id.substring(0,dashPos); if (temp.equals("ja")) sourceSuper = new UnicodeSet("[[:Han:][:hiragana:][:katakana:]]"); else sourceSuper = new UnicodeSet("[[:" + temp + ":][:Mn:][:Me:]]"); } catch (Exception e) {} UnicodeSet targetSuper = null; try { targetSuper = new UnicodeSet("[[:" + id.substring(dashPos+1, slashPos) + ":][:Mn:][:Me:]]"); } catch (Exception e) {} int nfdStyle = CLOSE_CASE | CLOSE_FLATTEN | CLOSE_CANONICAL; int nfkdStyle = nfdStyle | CLOSE_COMPATIBILITY; out.println("
    "); out.println("

    None

    "); showSets(out, translit, lt, null, null, 0); out.println("

    NFD

    "); showSets(out, translit, lt, sourceSuper, targetSuper, nfdStyle); out.println("

    NFKD

    "); showSets(out, translit, lt, sourceSuper, targetSuper, nfkdStyle); out.println("
"); out.close(); } System.out.println("Done Writing"); } catch (Exception e) { e.printStackTrace(); } } static void addSentenceToTable(PrintWriter out, String sentence, byte titleSetting, boolean addName, boolean testRoundTrip, boolean first, Transliterator tl, Transliterator lt) { if (sentence.length() == 0) return; // skip empty lines String originalShow = sentence; String latin; latin = tl.transliterate(saveAscii.transliterate(sentence)); String latinShow = latin; if (titleSetting == TITLEWORD) { latinShow = title.transliterate(latin); } else if (titleSetting == TITLELINE) { latinShow = titlecaseFirstWord(latinShow); } latinShow = restoreAscii.transliterate(latinShow); String reverse; reverse = restoreAscii.transliterate(lt.transliterate(latin)); String NFKDSentence = Normalizer.normalize(sentence, Normalizer.NFKD); String NFKDLatin = Normalizer.normalize(latin, Normalizer.NFKD); String NFKDReverse = Normalizer.normalize(reverse, Normalizer.NFKD); if (latinShow.length() == 0) { latinShow = "empty"; } else if (NFKDSentence.equals(NFKDLatin)) { latinShow = "" + latinShow + ""; } String reverseShow = reverse; if (testRoundTrip && !NFKDReverse.equals(NFKDSentence)) { int minLen = reverse.length(); if (minLen > sentence.length()) minLen = sentence.length(); int i; for (i = 0; i < minLen; ++i) { if (reverse.charAt(i) != sentence.charAt(i)) break; } //originalShow = sentence.substring(0,i) + "" + sentence.substring(i) + ""; reverseShow = reverseShow.length() == 0 ? "empty" //: reverse.substring(0,i) + "" + reverse.substring(i) + ""; : showDifference(sentence, reverse); out.println("" : ">") + originalShow + "" + latinShow + "" + reverseShow + ""); } else { out.println("" : ">") + originalShow + "" + latinShow + ""); } if (addName) { latinShow = hexAndName.transliterate(latin); if (latinShow.length() == 0) latinShow = "empty"; originalShow = hexAndName.transliterate(sentence); if (originalShow.length() == 0) originalShow = "empty"; out.println("" + originalShow + "" + latinShow + ""); } out.println(""); } static String showDifference(String as, String bs) { Differ differ = new Differ(300, 3); StringBuffer out = new StringBuffer(); int max = as.length(); if (max < bs.length()) max = bs.length(); for (int j = 0; j <= max; ++j) { if (j < as.length()) differ.addA(as.substring(j, j+1)); if (j < bs.length()) differ.addB(bs.substring(j, j+1)); differ.checkMatch(j == max); if (differ.getACount() != 0 || differ.getBCount() != 0) { out.append("..."); if (differ.getACount() != 0) { out.append(""); for (int i = 0; i < differ.getACount(); ++i) { out.append(differ.getA(i)); } out.append(""); } if (differ.getBCount() != 0) { out.append(""); for (int i = 0; i < differ.getBCount(); ++i) { out.append(differ.getB(i)); } out.append(""); } out.append("..."); } } return out.toString(); } static void showSets(PrintWriter out, Transliterator translit, Transliterator inverse, UnicodeSet sourceSuper, UnicodeSet targetSuper, int options) { out.println("
  • Source Set:
    • " + toPattern(closeUnicodeSet(translit.getSourceSet(), options), sourceSuper) + "
  • "); out.println("
  • Reverse Target Set:
    • " + toPattern(closeUnicodeSet(inverse.getTargetSet(), options), sourceSuper) + "
  • "); out.println("
  • Target Set:
    • " + toPattern(closeUnicodeSet(translit.getTargetSet(), options), targetSuper) + "
  • "); out.println("
  • Reverse Source Set:
    • " + toPattern(closeUnicodeSet(inverse.getSourceSet(), options), targetSuper) + "
  • "); } static final int CLOSE_CASE = 1, CLOSE_FLATTEN = 2, CLOSE_CANONICAL = 4, CLOSE_COMPATIBILITY = 8; static UnicodeSet closeUnicodeSet(UnicodeSet source, int options) { if (options == 0) return source; UnicodeSetIterator it = new UnicodeSetIterator(source); UnicodeSet additions = new UnicodeSet(); // to avoid messing up iterator UnicodeSet removals = new UnicodeSet(); // to avoid messing up iterator String base; int cp; // Add all case equivalents if ((options & CLOSE_CASE) != 0) { while (it.next()) { cp = it.codepoint; if (cp == UnicodeSetIterator.IS_STRING) continue; int type = UCharacter.getType(cp); if (type == Character.UPPERCASE_LETTER || type == Character.LOWERCASE_LETTER || type == Character.TITLECASE_LETTER) { additions.add(UCharacter.toLowerCase(UTF16.valueOf(cp))); additions.add(UCharacter.toUpperCase(UTF16.valueOf(cp))); } } source.addAll(additions); } // Add the canonical closure of all strings and characters in source if ((options & CLOSE_CANONICAL) != 0) { it.reset(); additions.clear(); CanonicalIterator ci = new CanonicalIterator("."); while (it.next()) { if (it.codepoint == UnicodeSetIterator.IS_STRING) base = it.string; else base = UTF16.valueOf(it.codepoint); ci.setSource(base); while (true) { String trial = ci.next(); if (trial == null) break; if (trial.equals(base)) continue; additions.add(trial); } } source.addAll(additions); } // flatten strings if ((options & CLOSE_FLATTEN) != 0) { it.reset(); additions.clear(); while (it.next()) { if (it.codepoint != UnicodeSetIterator.IS_STRING) continue; additions.addAll(it.string); removals.add(it.string); //System.out.println("flattening '" + hex.transliterate(it.string) + "'"); } source.addAll(additions); source.removeAll(removals); } // Now add decompositions of characters in source if ((options & CLOSE_COMPATIBILITY) != 0) { it.reset(source); additions.clear(); while (it.next()) { if (it.codepoint == UnicodeSetIterator.IS_STRING) base = it.string; else base = UTF16.valueOf(it.codepoint); if (Normalizer.isNormalized(base, Normalizer.NFKD,0)) continue; String decomp = Normalizer.normalize(base, Normalizer.NFKD); additions.add(decomp); } source.addAll(additions); // Now add any other character that decomposes to a character in source for (cp = 0; cp < 0x10FFFF; ++cp) { if (!UCharacter.isDefined(cp)) continue; if (Normalizer.isNormalized(cp, Normalizer.NFKD,0)) continue; if (source.contains(cp)) continue; String decomp = Normalizer.normalize(cp, Normalizer.NFKD); if (source.containsAll(decomp)) { // System.out.println("Adding: " + Integer.toString(cp,16) + " " + UCharacter.getName(cp)); source.add(cp); } } } return source; } static String toPattern(UnicodeSet source, UnicodeSet superset) { if (superset != null) { source.removeAll(superset); return "[" + superset.toPattern(true) + " " + source.toPattern(true) + "]"; } return source.toPattern(true); } static BreakIterator bi = BreakIterator.getWordInstance(); static String titlecaseFirstWord(String line) { // search for first word with letters. If the first letter is lower, then titlecase it. bi.setText(line); int start = 0; while (true) { int end = bi.next(); if (end == BreakIterator.DONE) break; int firstLetterType = getFirstLetterType(line, start, end); if (firstLetterType != Character.UNASSIGNED) { if (firstLetterType != Character.LOWERCASE_LETTER) break; line = line.substring(0, start) + UCharacter.toTitleCase(line.substring(start, end), bi) + line.substring(end); break; } end = start; } return line; } static final int LETTER_MASK = (1< XXX # " + UCharacter.getName(it.codepoint)); main.add(it.codepoint); } if (others.size() != 0) { out.println("Decomposed characters found above: "); others.removeAll(main); it.reset(others); while (it.next()) { out.println(" " + UTF16.valueOf(it.codepoint) + " <> XXX # " + UCharacter.getName(it.codepoint)); } } out.close(); System.out.println("Done Writing"); } catch (Exception e) { e.printStackTrace(); } } static Transliterator hex = Transliterator.getInstance("[^\\u0020-\\u007E] hex"); static final String saveRules = "A <> \uEA41; B <> \uEA42; C <> \uEA43; D <> \uEA44; E <> \uEA45; F <> \uEA46; G <> \uEA47; H <> \uEA48; I <> \uEA49; " + "J <> \uEA4A; K <> \uEA4B; L <> \uEA4C; M <> \uEA4D; N <> \uEA4E; O <> \uEA4F; P <> \uEA50; Q <> \uEA51; R <> \uEA52; " + "S <> \uEA53; T <> \uEA54; U <> \uEA55; V <> \uEA56; W <> \uEA57; X <> \uEA58; Y <> \uEA59; Z <> \uEA5A; " + "a <> \uEA61; b <> \uEA62; c <> \uEA63; d <> \uEA64; e <> \uEA65; f <> \uEA66; g <> \uEA67; h <> \uEA68; i <> \uEA69; " + "j <> \uEA6A; k <> \uEA6B; l <> \uEA6C; m <> \uEA6D; n <> \uEA6E; o <> \uEA6F; p <> \uEA70; q <> \uEA71; r <> \uEA72; " + "s <> \uEA73; t <> \uEA74; u <> \uEA75; v <> \uEA76; w <> \uEA77; x <> \uEA78; y <> \uEA79; z <> \uEA7A;"; static Transliterator saveAscii = Transliterator.createFromRules("ascii-saved", saveRules, Transliterator.FORWARD); static Transliterator restoreAscii = Transliterator.createFromRules("ascii-saved", saveRules, Transliterator.REVERSE); static { if (false) { for (char i = 'A'; i <= 'z'; ++i) { System.out.print(i + " <> " + hex.transliterate(String.valueOf((char)(0xEA00 + i))) + "; "); } UnicodeSet x = new UnicodeSet("[[:^ccc=0:]&[:^ccc=230:]]"); x = x.complement(); x = x.complement(); System.out.println("Test: " + x.toPattern(true)); Transliterator y = Transliterator.createFromRules("xxx", "$notAbove = [[:^ccc=0:]&[:^ccc=230:]]; u ($notAbove*) \u0308 > XXX | $1; ", Transliterator.FORWARD); String[] testList = {"u\u0308", "u\u0316\u0308", "u\u0308\u0316", "u\u0301\u0308", "u\u0308\u0301"}; for (int i = 0; i < testList.length; ++i) { String yy = y.transliterate(testList[i]); System.out.println(hex.transliterate(testList[i]) + " => " + hex.transliterate(yy)); } //printNames(new UnicodeSet("[\u0600-\u06FF]"), "Arabic-Latin.txt"); /* BreakTransliterator.register(); BreakTransliterator testTrans = new BreakTransliterator("Any-XXX", null, null, "$"); String testSource = "The Quick: Brown fox--jumped."; BreakIterator bi = testTrans.getBreakIterator(); bi.setText(new StringCharacterIterator(testSource)); printBreaks(0, testSource, bi); //bi.setText(UCharacterIterator.getInstance(testSource)); //printBreaks(1, testSource, bi); printIteration(2, testSource, new StringCharacterIterator(testSource)); //printIteration(3, testSource, UCharacterIterator.getInstance(testSource)); String test = testTrans.transliterate(testSource); System.out.println("Test3: " + test); DummyFactory.add(testTrans.getID(), testTrans); */ // AnyTransliterator.ScriptRunIterator.registerAnyToScript(); AnyTransliterator at = new AnyTransliterator("Greek", null); at.transliterate("(cat,\u03b1,\u0915)"); DummyFactory.add(at.getID(), at); at = new AnyTransliterator("Devanagari", null); at.transliterate("(cat,\u03b1,\u0915)"); DummyFactory.add(at.getID(), at); at = new AnyTransliterator("Latin", null); at.transliterate("(cat,\u03b1,\u0915)"); DummyFactory.add(at.getID(), at); DummyFactory.add("Any-gif", Transliterator.createFromRules("gif", "'\\'u(..)(..) > '';", Transliterator.FORWARD)); DummyFactory.add("gif-Any", Transliterator.getInstance("Any-Null")); DummyFactory.add("Any-RemoveCurly", Transliterator.createFromRules("RemoveCurly", "[\\{\\}] > ;", Transliterator.FORWARD)); DummyFactory.add("RemoveCurly-Any", Transliterator.getInstance("Any-Null")); System.out.println("Trying &hex"); Transliterator t = Transliterator.createFromRules("hex2", "(.) > &hex($1);", Transliterator.FORWARD); System.out.println("Registering"); DummyFactory.add("Any-hex2", t); System.out.println("Trying &gif"); t = Transliterator.createFromRules("gif2", "(.) > &any-gif($1);", Transliterator.FORWARD); System.out.println("Registering"); DummyFactory.add("Any-gif2", t); } } void setTransliterator(String name, String id) { if (DEBUG) System.out.println("Got: " + name); if (id == null) { translit = Transliterator.getInstance(name); } else { String reverseId = ""; int pos = id.indexOf('-'); if (pos < 0) { reverseId = id + "-Any"; id = "Any-" + id; } else { int pos2 = id.indexOf("/", pos); if (pos2 < 0) { reverseId = id.substring(pos+1) + "-" + id.substring(0,pos); } else { reverseId = id.substring(pos+1, pos2) + "-" + id.substring(0,pos) + id.substring(pos2); } } translit = Transliterator.createFromRules(id, name, Transliterator.FORWARD); if (DEBUG) { System.out.println("***Forward Rules"); System.out.println(translit.toRules(true)); System.out.println("***Source Set"); System.out.println(translit.getSourceSet().toPattern(true)); } System.out.println("***Target Set"); UnicodeSet target = translit.getTargetSet(); System.out.println(target.toPattern(true)); UnicodeSet rest = new UnicodeSet("[a-z]").removeAll(target); System.out.println("***ASCII - Target Set"); System.out.println(rest.toPattern(true)); DummyFactory.add(id, translit); Transliterator translit2 = Transliterator.createFromRules(reverseId, name, Transliterator.REVERSE); if (DEBUG) { System.out.println("***Backward Rules"); System.out.println(translit2.toRules(true)); } DummyFactory.add(reverseId, translit2); Transliterator rev = translit.getInverse(); if (DEBUG) System.out.println("***Inverse Rules"); if (DEBUG) System.out.println(rev.toRules(true)); } text.flush(); text.setTransliterator(translit); convertSelectionItem.setLabel(Transliterator.getDisplayName(translit.getID())); addHistory(translit); Transliterator inv; try { inv = translit.getInverse(); } catch (Exception ex) { inv = null; } if (inv != null) { addHistory(inv); swapSelectionItem.setEnabled(true); } else { swapSelectionItem.setEnabled(false); } System.out.println("Set transliterator: " + translit.getID() + (inv != null ? " and " + inv.getID() : "")); } void addHistory(Transliterator trans) { String name = trans.getID(); MenuItem cmi = (MenuItem) historyMap.get(name); if (cmi == null) { cmi = new MenuItem(Transliterator.getDisplayName(name)); cmi.addActionListener(new TransliterationListener(name)); historyMap.put(name, cmi); historySet.add(cmi); historyMenu.removeAll(); Iterator it = historySet.iterator(); while (it.hasNext()) { historyMenu.add((MenuItem)it.next()); } } } class TransliterationListener implements ActionListener, ItemListener { String name; public TransliterationListener(String name) { this.name = name; } public void actionPerformed(ActionEvent e) { setTransliterator(name, null); } public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { setTransliterator(name, null); } else { setTransliterator("Any-Null", null); } } } class FontActionListener implements ActionListener { String name; public FontActionListener(String name) { this.name = name; } public void actionPerformed(ActionEvent e) { if (DEBUG) System.out.println("Font: " + name); fontName = name; text.setFont(new Font(fontName, Font.PLAIN, fontSize)); } } class SizeActionListener implements ActionListener { int size; public SizeActionListener(int size) { this.size = size; } public void actionPerformed(ActionEvent e) { if (DEBUG) System.out.println("Size: " + size); fontSize = size; text.setFont(new Font(fontName, Font.PLAIN, fontSize)); } } Set add(Set s, Enumeration enumeration) { while(enumeration.hasMoreElements()) { s.add(enumeration.nextElement()); } return s; } /** * Get a sorted list of the system transliterators. */ /* private static Vector getSystemTransliteratorNames() { Vector v = new Vector(); for (Enumeration e=Transliterator.getAvailableIDs(); e.hasMoreElements(); ) { v.addElement(e.nextElement()); } // Insertion sort, O(n^2) acceptable for small n for (int i=0; i<(v.size()-1); ++i) { String a = (String) v.elementAt(i); for (int j=i+1; j 0) { v.setElementAt(b, i); v.setElementAt(a, j); a = b; } } } return v; } */ /* private void setNoTransliterator() { translitItem = noTranslitItem; noTranslitItem.setState(true); handleSetTransliterator(noTranslitItem.getLabel()); compound = false; for (int i=0; i. */ /* private static Transliterator decodeTranslitItem(String name) { return (name.equals(NO_TRANSLITERATOR)) ? null : Transliterator.getInstance(name); } */ private void handleBatchTransliterate(Transliterator trans) { if (trans == null) { return; } int start = text.getSelectionStart(); int end = text.getSelectionEnd(); ReplaceableString s = new ReplaceableString(text.getText().substring(start, end)); StringBuffer log = null; if (DEBUG) { log = new StringBuffer(); log.append('"' + s.toString() + "\" (start " + start + ", end " + end + ") -> \""); } trans.transliterate(s); String str = s.toString(); if (DEBUG) { log.append(str + "\""); System.out.println("Batch " + trans.getID() + ": " + log.toString()); } text.replaceRange(str, start, end); text.select(start, start + str.length()); } private void handleClose() { helpDialog.dispose(); dispose(); } /* class InfoDialog extends Dialog { protected Button button; protected TextArea area; protected Dialog me; protected Panel bottom; public TextArea getArea() { return area; } public Panel getBottom() { return bottom; } InfoDialog(Frame parent, String title, String label, String message) { super(parent, title, false); me = this; this.setLayout(new BorderLayout()); if (label.length() != 0) { this.add("North", new Label(label)); } area = new TextArea(message, 8, 80, TextArea.SCROLLBARS_VERTICAL_ONLY); this.add("Center", area); button = new Button("Hide"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { me.hide(); } }); bottom = new Panel(); bottom.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); bottom.add(button); this.add("South", bottom); this.pack(); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { me.hide(); } }); } } */ } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/DemoApplet.java000066400000000000000000000041531172643025600254550ustar00rootroot00000000000000/* ******************************************************************************* * Copyright (C) 1996-2010, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.translit; import java.applet.Applet; import java.awt.Button; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import com.ibm.icu.dev.demo.impl.AppletFrame; /** * A simple Applet that shows a button. When pressed, the button * shows the DemoAppletFrame. This Applet is meant to be embedded * in a web page. * *

    Copyright (c) IBM Corporation 1999. All rights reserved. * * @author Alan Liu */ public class DemoApplet extends Applet { /** * For serialization */ private static final long serialVersionUID = 8214879807740061678L; Demo frame = null; public static void main(String args[]) { final DemoApplet applet = new DemoApplet(); new AppletFrame("Transliteration Demo", applet, 640, 480); } public void init() { Button button = new Button("Transliteration Demo"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (frame == null) { frame = new Demo(600, 200); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent we) { frame = null; } }); } frame.setVisible(true); frame.toFront(); } }); add(button); Dimension size = button.getPreferredSize(); size.width += 10; size.height += 10; resize(size); } public void stop() { if (frame != null) { frame.dispose(); } frame = null; } } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/InfoDialog.java000066400000000000000000000040451172643025600254360ustar00rootroot00000000000000/** ******************************************************************************* * Copyright (C) 2001-2010, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.translit; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Dialog; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.Panel; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class InfoDialog extends Dialog { /** * For serialization */ private static final long serialVersionUID = -3086665546137919018L; protected Button button; protected TextArea area; protected Dialog me; protected Panel bottom; public TextArea getArea() { return area; } public Panel getBottom() { return bottom; } InfoDialog(Frame parent, String title, String label, String message) { super(parent, title, false); me = this; this.setLayout(new BorderLayout()); if (label.length() != 0) { this.add("North", new Label(label)); } area = new TextArea(message, 8, 80, TextArea.SCROLLBARS_VERTICAL_ONLY); this.add("Center", area); button = new Button("Hide"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { me.hide(); } }); bottom = new Panel(); bottom.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); bottom.add(button); this.add("South", bottom); this.pack(); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { me.hide(); } }); } } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/Test_Arabic-Latin.txt000066400000000000000000000104121172643025600265410ustar00rootroot00000000000000#-------------------------------------------------------------------- # Copyright (c) 1999-2004, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- @UPPERFILTER@ ما هي Ø§Ù„Ø´ÙØ±Ø© الموحدة "يونÙكود" ØŸ أساسًا، تتعامل الحواسيب Ùقط مع الأرقام، وتقوم بتخزين الأحر٠والمحار٠الأخرى بعد أن ØªÙØ¹Ø·ÙŠ Ø±Ù‚Ù…Ø§ معينا لكل واحد منها. وقبل اختراع "يونÙكود"ØŒ كان هناك مئات الأنظمة للتشÙير وتخصيص هذه الأرقام Ù„Ù„Ù…Ø­Ø§Ø±ÙØŒ ولم يوجد نظام تشÙير واحد يحتوي على جميع المحار٠الضرورية. وعلى سبيل المثال، ÙØ¥Ù† الاتحاد الأوروبي لوحده، احتوى العديد من Ø§Ù„Ø´ÙØ±Ø§Øª Ø§Ù„Ù…Ø®ØªÙ„ÙØ© ليغطي جميع اللغات المستخدمة ÙÙŠ الاتحاد. وحتى لو اعتبرنا لغة واحدة، كاللغة الإنجليزية، ÙØ¥Ù† جدول Ø´ÙØ±Ø© واحد لم يك٠لاستيعاب جميع الأحر٠وعلامات الترقيم والرموز الÙنية والعلمية الشائعة الاستعمال. وتجدر الملاحظة أن أنظمة التشÙير Ø§Ù„Ù…Ø®ØªÙ„ÙØ© تتعارض مع بعضها البعض. وبعبارة أخرى، يمكن أن يستخدÙÙ… جدولي Ø´ÙØ±Ø© Ù†ÙØ³ الرقم لتمثيل محرÙين مختلÙين، أو رقمين مختلÙين لتمثيل Ù†ÙØ³ المحرÙ. ولو أخذنا أي جهاز حاسوب، وبخاصة جهاز النادل (server)ØŒ Ùيجب أن تكون لديه القدرة على التعامل مع عدد كبير من Ø§Ù„Ø´ÙØ±Ø§Øª Ø§Ù„Ù…Ø®ØªÙ„ÙØ©ØŒ ويتم تصميمه على هذا الأساس. ومع ذلك، ÙØ¹Ù†Ø¯Ù…ا تمر البيانات عبر أنظمة Ù…Ø®ØªÙ„ÙØ©ØŒ توجد هناك خطورة لضياع أو تحري٠بعض هذه البيانات. "يونÙكود" تغير هذا كليا ! تخصص Ø§Ù„Ø´ÙØ±Ø© الموحدة "يونÙكود" رقما وحيدا لكل محر٠ÙÙŠ جميع اللغات العالمية، وذلك بغض النظر عن نوع الحاسوب أو البرامج المستخدمة. وقد تم تبني Ù…ÙˆØ§ØµÙØ© "يونÙكود" من قبل قادة الصانعين لأنظمة الحواسيب ÙÙŠ العالم، مثل شركات آي.بي.إم. (IBM)ØŒ أبل (APPLE)ØŒ Ù‡ÙÙŠÙ’ÙˆÙ„ÙØª باكرد (Hewlett-Packard) ØŒ Ù…Ø§ÙŠÙƒØ±ÙˆØ³ÙˆÙØª (Microsoft)ØŒ أوراكÙÙ„ (Oracle) ØŒ صن (Sun) وغيرها. كما أن Ø§Ù„Ù…ÙˆØ§ØµÙØ§Øª والمقاييس الحديثة (مثل لغة البرمجة "Ø¬Ø§ÙØ§" "JAVA" ولغة "إكس إم إل" "XML" التي تستخدم لبرمجة الانترنيت) تتطلب استخدام "يونÙكود". علاوة على ذلك ØŒ ÙØ¥Ù† "يونÙكود" هي الطريقة الرسمية لتطبيق المقياس العالمي إيزو ١٠٦٤٦ (ISO 10646) . إن بزوغ Ù…ÙˆØ§ØµÙØ© "يونÙكود" وتوÙÙ‘ÙØ± الأنظمة التي تستخدمه وتدعمه، يعتبر من أهم الاختراعات الحديثة ÙÙŠ عولمة البرمجيات لجميع اللغات ÙÙŠ العالم. وإن استخدام "يونÙكود" ÙÙŠ عالم الانترنيت سيؤدي إلى توÙير كبير مقارنة مع استخدام المجموعات التقليدية Ù„Ù„Ù…Ø­Ø§Ø±Ù Ø§Ù„Ù…Ø´ÙØ±Ø©. كما أن استخدام "يونÙكود" سيÙمكّÙÙ† المبرمج من كتابة البرنامج مرة واحدة، واستخدامه على أي نوع من الأجهزة أو الأنظمة، ولأي لغة أو دولة ÙÙŠ العالم أينما كانت، دون الحاجة لإعادة البرمجة أو إجراء أي تعديل. وأخيرا، ÙØ¥Ù† استخدام "يونÙكود" سيمكن البيانات من الانتقال عبر الأنظمة والأجهزة Ø§Ù„Ù…Ø®ØªÙ„ÙØ© دون أي خطورة لتحريÙها، مهما تعددت الشركات الصانعة للأنظمة واللغات، والدول التي تمر من خلالها هذه البيانات. @SET [[[:Arabic:] & [\u0600-\u06FF]] [‎\u060C\u061B\u061F\u0640\u064B-\u0655\u0660-\u066C\u06F0-\u06F9]]icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/Test_Greek-Latin.txt000066400000000000000000000242421172643025600264230ustar00rootroot00000000000000#-------------------------------------------------------------------- # Copyright (c) 1999-2004, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- Τι είναι το Unicode? Η κωδικοσελίδα Unicode Ï€Ïοτείνει έναν και μοναδικό αÏιθμό για κάθε χαÏακτήÏα, ανεξάÏτητα από το λειτουÏγικό σÏστημα, ανεξάÏτητα από το λογισμικό, ανεξάÏτητα από την γλώσσα. Οι ηλεκτÏονικοί υπολογιστές, σε τελική ανάλυση, χειÏίζονται απλώς αÏιθμοÏÏ‚. ΑποθηκεÏουν γÏάμματα και άλλους χαÏακτήÏες αντιστοιχώντας στο καθένα τους από έναν αÏιθμό (ονομάζουμε μία τέτοια αντιστοιχία κωδικοσελίδα). ΠÏιν την εφεÏÏεση του Unicode, υπήÏχαν εκατοντάδες διαφοÏετικές κωδικοσελίδες. Λόγω πεÏιοÏισμών μεγέθους όμως, σε καμία κωδικοσελίδα δεν χωÏοÏσαν αÏκετοί χαÏακτήÏες: λόγου χάÏιν, η ΕυÏωπαϊκή Ένωση χÏειαζόταν πλήθος διαφοÏετικών κωδικοσελίδων για να καλÏψει όλες τις γλώσσες των χωÏών-μελών της. Ακόμα και για μία και μόνη γλώσσα, όπως Ï€.χ. τα Αγγλικά, μία κωδικοσελίδα δεν επαÏκοÏσε για να καλÏψει όλα τα γÏάμματα, σημεία στίξης και τεχνικά σÏμβολα ευÏείας χÏήσης. Εκτός αυτοÏ, οι κωδικοσελίδες αυτές διαφωνοÏσαν Î¼ÎµÏ„Î±Î¾Ï Ï„Î¿Ï…Ï‚. Έτσι, δÏο κωδικοσελίδες μποÏοÏσαν κάλλιστα να χÏησιμοποιοÏν τον ίδιο αÏιθμό για δÏο διαφοÏετικοÏÏ‚ χαÏακτήÏες, ή να χÏησιμοποιοÏν διαφοÏετικοÏÏ‚ αÏιθμοÏÏ‚ για τον ίδιο χαÏακτήÏα. Κάθε υπολογιστής (και ιδίως εάν ήταν διακομιστής) έπÏεπε να υποστηÏίζει πλήθος διαφοÏετικών κωδικοσελίδων· ταυτόχÏονα κάθε φοÏά που δεδομένα μεταφέÏονταν Î¼ÎµÏ„Î±Î¾Ï Î´Î¹Î±Ï†Î¿Ïετικών κωδικοσελίδων ή λειτουÏγικών συστημάτων, τα δεδομένα αυτά κινδÏνευαν να αλλοιωθοÏν. Το Unicode αλλάζει αυτή την κατάσταση! Το Unicode Ï€Ïοτείνει έναν μοναδικό αÏιθμό για κάθε χαÏακτήÏα, ανεξάÏτητα από το λειτουÏγικό σÏστημα, ανεξάÏτητα από το λογισμικό, ανεξάÏτητα από την γλώσσα. Την κωδικοσελίδα Unicode έχουν ασπασθεί κοÏυφαίοι παÏάγοντες του χώÏου των λογισμικών όπως οι: Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys και πολλοί άλλοι. Το Unicode απαιτοÏν πολλές σÏγχÏονες τυποποιήσεις όπως οι: XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, κ.λπ., και είναι η επίσημη μέθοδος εφαÏμογής της τυποποίησης ISO/IEC 10646. ΥποστηÏίζεται από πολλά λειτουÏγικά συστήματα, όλους τους σÏχÏονους πεÏιηγητές ΔιαδικτÏου, και πολλά άλλα Ï€Ïοϊόντα. Η εμφάνιση της κωδικοσελίδας Unicode, και η διαθεσιμότητα εÏγαλείων που να την υποστηÏίζουν είναι από τις σημαντικότεÏες εξελίξεις της Ï€Ïόσφατης τεχνολογίας λογισμικών. Η ενσωμάτωση του Unicode σε εφαÏμογές πελάτη-διακομιστή ή "multi-tiered" Ï€ÏοσφέÏει σημαντικές οικονομίες σε σχέση με τις ως τώÏα υπάÏχουσες κωδικοσελίδες. ΧάÏις στο Unicode ένα και μόνο Ï€Ïοϊόν ή μία και μόνη τοποθεσία ΔιαδικτÏου μποÏεί να επικοινωνεί με διάφοÏα λειτουÏγικά συστήματα, σε διάφοÏες γλώσσες και χώÏες, χωÏίς την ανάγκη επαναπÏογÏαμματισμοÏ. Γίνεται έτσι δυνατή η μεταφοÏά δεδομένων ανάμεσα σε πλήθος διαφοÏετικών συστημάτων δίχως κίνδυνο αλλοίωσης. Σχετικά με το ΚονσόÏτιουμ Unicode Tο ΚονσόÏτιουμ Unicode είναι ένας κοινωφελής οÏγανισμός· ιδÏÏθηκε για να αναπτÏξει, να επεκτείνει και να μεταδώσει την χÏήση της κωδικοσελίδας Unicode που καθοÏίζει την αναπαÏάσταση κειμένου σε σÏγχÏονα λογισμικά Ï€Ïοϊόντα και τυποποιήσεις. Μεγάλος αÏιθμός εταιÏειών και οÏγανισμών της διεθνοÏÏ‚ βιομηχανίας υπολογιστών και λογισμικών είναι μέλη του ΚονσόÏτιουμ Unicode. Το ΚονσόÏτιουμ χÏηματοδοτείται μόνο από τις συνδÏομές των μελών του. Μέλος του κονσόÏτιουμ Unicode μποÏεί να γίνει οιοσδήποτε (οÏγανισμός, εταιÏεία ή ιδιώτης, οπουδήποτε στον κόσμο) που να υποστηÏίζει την κωδικοσελίδα Unicode και να επιθυμεί να συνδÏάμει στην επέκταση και στην εφαÏμογή της. Για πεÏαιτέÏω πληÏοφοÏίες, βλέπε τις εξής ιστοσελίδες: ΓλωσσάÏι, Δείγματα Ï€Ïοϊόντων συμβατών με το Unicode, Τεχνική Εισαγωγή και ΧÏήσιμες πηγές πληÏοφοÏιών. (ANCIENT) ἄνδÏα μοι ἔννεπε, μοῦσα, πολÏÏ„Ïοπον, ὃς μάλα πολλὰ πλάγχθη, á¼Ï€Îµá½¶ ΤÏοίης ἱεÏὸν πτολίεθÏον ἔπεÏσεν: πολλῶν δ’ ἀνθÏώπων ἴδεν ἄστεα καὶ νόον ἔγνω, πολλὰ δ’ á½… γ’ á¼Î½ πόντῳ πάθεν ἄλγεα ὃν κατὰ θυμόν, á¼€ÏνÏμενος ἥν τε ψυχὴν καὶ νόστον ἑταίÏων. ἀλλ’ οá½Î´â€™ ὣς ἑτάÏους á¼ÏÏÏσατο, ἱέμενός πεÏ: αá½Ï„ῶν Î³á½°Ï ÏƒÏ†ÎµÏ„Î­Ïῃσιν ἀτασθαλίῃσιν ὄλοντο, νήπιοι, οἳ κατὰ βοῦς ὙπεÏίονος Ἠελίοιο ἤσθιον: αá½Ï„á½°Ï á½ Ï„Î¿á¿–ÏƒÎ¹Î½ ἀφείλετο νόστιμον ἦμαÏ. τῶν á¼Î¼ÏŒÎ¸ÎµÎ½ γε, θεά, θÏÎ³Î±Ï„ÎµÏ Î”Î¹ÏŒÏ‚, εἰπὲ καὶ ἡμῖν. * ἔνθ’ ἄλλοι μὲν πάντες, ὅσοι φÏγον αἰπὺν ὄλεθÏον, οἴκοι ἔσαν, πόλεμόν τε πεφευγότες ἠδὲ θάλασσαν: τὸν δ’ οἶον νόστου κεχÏημένον ἠδὲ γυναικὸς νÏμφη πότνι’ á¼”Ïυκε Καλυψὼ δῖα θεάων á¼Î½ σπέσσι γλαφυÏοῖσι, λιλαιομένη πόσιν εἶναι. ἀλλ’ ὅτε δὴ ἔτος ἦλθε πεÏιπλομένων á¼Î½Î¹Î±Ï…τῶν, τῷ οἱ á¼Ï€ÎµÎºÎ»ÏŽÏƒÎ±Î½Ï„ο θεοὶ οἶκόνδε νέεσθαι εἰς Ἰθάκην, οá½Î´â€™ ἔνθα πεφυγμένος ἦεν ἀέθλων καὶ μετὰ οἷσι φίλοισι. θεοὶ δ’ á¼Î»Î­Î±Î¹Ïον ἅπαντες νόσφι Ποσειδάωνος: ὠδ’ ἀσπεÏχὲς μενέαινεν ἀντιθέῳ Ὀδυσῆι πάÏος ἣν γαῖαν ἱκέσθαι. * ἀλλ’ ὠμὲν Αἰθίοπας μετεκίαθε τηλόθ’ á¼ÏŒÎ½Ï„ας, Αἰθίοπας τοὶ διχθὰ δεδαίαται, ἔσχατοι ἀνδÏῶν, οἱ μὲν δυσομένου ὙπεÏίονος οἱ δ’ ἀνιόντος, ἀντιόων ταÏÏων τε καὶ á¼€Ïνειῶν ἑκατόμβης. ἔνθ’ á½… γ’ á¼Ï„έÏπετο δαιτὶ παÏήμενος: οἱ δὲ δὴ ἄλλοι Ζηνὸς á¼Î½á½¶ μεγάÏοισιν Ὀλυμπίου á¼Î¸Ïόοι ἦσαν. τοῖσι δὲ μÏθων ἦÏχε Ï€Î±Ï„á½´Ï á¼€Î½Î´Ïῶν τε θεῶν τε: μνήσατο Î³á½°Ï ÎºÎ±Ï„á½° θυμὸν ἀμÏμονος Αἰγίσθοιο, τόν ῥ’ Ἀγαμεμνονίδης τηλεκλυτὸς ἔκταν’ ὈÏέστης: τοῦ á½… γ’ á¼Ï€Î¹Î¼Î½Î·ÏƒÎ¸Îµá½¶Ï‚ ἔπε’ ἀθανάτοισι μετηÏδα: * “ὢ πόποι, οἷον δή νυ θεοὺς βÏοτοὶ αἰτιόωνται: á¼Î¾ ἡμέων Î³Î¬Ï Ï†Î±ÏƒÎ¹ κάκ’ ἔμμεναι, οἱ δὲ καὶ αá½Ï„οὶ σφῇσιν ἀτασθαλίῃσιν á½‘Ï€á½²Ï Î¼ÏŒÏον ἄλγε’ ἔχουσιν, ὡς καὶ νῦν Αἴγισθος á½‘Ï€á½²Ï Î¼ÏŒÏον ἈτÏεί̈δαο γῆμ’ ἄλοχον μνηστήν, τὸν δ’ ἔκτανε νοστήσαντα, εἰδὼς αἰπὺν ὄλεθÏον, á¼Ï€Îµá½¶ Ï€ÏÏŒ οἱ εἴπομεν ἡμεῖς, á¼™Ïμείαν πέμψαντες, á¼Ïσκοπον á¼€Ïγεϊφόντην, μήτ’ αá½Ï„ὸν κτείνειν μήτε μνάασθαι ἄκοιτιν: á¼Îº Î³á½°Ï á½ˆÏέσταο τίσις ἔσσεται ἈτÏεί̈δαο, á½Ï€Ï€ÏŒÏ„’ ἂν ἡβήσῃ τε καὶ á¼§Ï‚ ἱμείÏεται αἴης. ὣς ἔφαθ’ á¼™Ïμείας, ἀλλ’ οὠφÏένας Αἰγίσθοιο πεῖθ’ ἀγαθὰ φÏονέων: νῦν δ’ á¼Î¸Ïόα πάντ’ ἀπέτισεν.†@SET [[[:Greek:]&[\u0370-\u03E1 \u03F0-\u03FF]] [\:-;?\u00B7\u037E\u0387]]icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/Test_Han-Latin.txt000066400000000000000000000054151172643025600260750ustar00rootroot00000000000000#-------------------------------------------------------------------- # Copyright (c) 1999-2004, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- @UPPERFILTER@ 什么是Unicode(统一ç )? Unicodeç»™æ¯ä¸ªå­—符æä¾›äº†ä¸€ä¸ªå”¯ä¸€çš„æ•°å­—, ä¸è®ºæ˜¯ä»€ä¹ˆå¹³å°ï¼Œ ä¸è®ºæ˜¯ä»€ä¹ˆç¨‹åºï¼Œ ä¸è®ºæ˜¯ä»€ä¹ˆè¯­è¨€ã€‚ åŸºæœ¬ä¸Šï¼Œè®¡ç®—æœºåªæ˜¯å¤„ç†æ•°å­—。它们指定一个数字,æ¥å‚¨å­˜å­—æ¯æˆ–其他字符。在创造Unicode之å‰ï¼Œæœ‰æ•°ç™¾ç§æŒ‡å®šè¿™äº›æ•°å­—的编ç ç³»ç»Ÿã€‚没有一个编ç å¯ä»¥åŒ…å«è¶³å¤Ÿçš„字符:例如,å•啿¬§å·žå…±åŒä½“就需è¦å¥½å‡ ç§ä¸åŒçš„ç¼–ç æ¥åŒ…括所有的语言。å³ä½¿æ˜¯å•一ç§è¯­è¨€ï¼Œä¾‹å¦‚英语,也没有哪一个编ç å¯ä»¥é€‚用于所有的字æ¯ï¼Œæ ‡ç‚¹ç¬¦å·ï¼Œå’Œå¸¸ç”¨çš„æŠ€æœ¯ç¬¦å·ã€‚ 这些编ç ç³»ç»Ÿä¹Ÿä¼šäº’相冲çªã€‚也就是说,两ç§ç¼–ç å¯èƒ½ä½¿ç”¨ç›¸åŒçš„æ•°å­—代表两个ä¸åŒçš„字符,或使用ä¸åŒçš„æ•°å­—代表相åŒçš„字符。任何一å°ç‰¹å®šçš„计算机(特别是æœåС噍)éƒ½éœ€è¦æ”¯æŒè®¸å¤šä¸åŒçš„ç¼–ç ï¼Œä½†æ˜¯ï¼Œä¸è®ºä»€ä¹ˆæ—¶å€™æ•°æ®é€šè¿‡ä¸åŒçš„ç¼–ç æˆ–å¹³å°ä¹‹é—´ï¼Œé‚£äº›æ•°æ®æ€»ä¼šæœ‰æŸåçš„å±é™©ã€‚ Unicodeæ­£åœ¨æ”¹å˜æ‰€æœ‰è¿™ä¸€åˆ‡ï¼ Unicodeç»™æ¯ä¸ªå­—符æä¾›äº†ä¸€ä¸ªå”¯ä¸€çš„æ•°å­—,ä¸è®ºæ˜¯ä»€ä¹ˆå¹³å°ï¼Œä¸è®ºæ˜¯ä»€ä¹ˆç¨‹åºï¼Œä¸è®ºä»€ä¹ˆè¯­è¨€ã€‚Unicode标准已ç»è¢«è¿™äº›å·¥ä¸šç•Œçš„领导们所采用,例如:Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys和其它许多公å¸ã€‚最新的标准都需è¦Unicode,例如XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML等等,并且,Unicode是实现ISO/IEC 10646的正规方å¼ã€‚许多æ“作系统,所有最新的æµè§ˆå™¨å’Œè®¸å¤šå…¶ä»–产å“都支æŒå®ƒã€‚Unicode标准的出现和支æŒå®ƒå·¥å…·çš„存在,是近æ¥å…¨çƒè½¯ä»¶æŠ€æœ¯æœ€é‡è¦çš„å‘展趋势。 å°†Unicode与客户æœåŠ¡å™¨æˆ–å¤šå±‚åº”ç”¨ç¨‹åºå’Œç½‘站结åˆï¼Œæ¯”使用传统字符集节çœè´¹ç”¨ã€‚Unicode使å•ä¸€è½¯ä»¶äº§å“æˆ–å•一网站能够贯穿多个平å°ï¼Œè¯­è¨€å’Œå›½å®¶ï¼Œè€Œä¸éœ€è¦é‡å»ºã€‚它å¯å°†æ•°æ®ä¼ è¾“到许多ä¸åŒçš„系统,而无æŸå。 关于Unicode学术学会 Unicode学术学会是一个éžç›ˆåˆ©çš„组织,是为å‘展,扩展和推广使用Unicode标准而建立的,Unicode学术学会设立了现代软件产å“和标准文本的表示法。学术学会的会员代表了广泛领域的计算机和资讯工业的公å¸å’Œç»„织。学术学会åªç”±ä¼šå‘˜æä¾›èµ„金。Unicode学术学会的会员资格开放给世界上任何支æŒUnicode标准和希望å助其扩展和执行的组织åŠä¸ªäººã€‚ 欲知更多信æ¯ï¼Œè¯·å‚é˜…æœ¯è¯­è¯æ±‡è¡¨ï¼ŒUnicodeäº§å“æ ·æœ¬ï¼ŒæŠ€æœ¯ç®€ä»‹å’Œå‚考资料。 Chinese translation by 黎國ç, Xeroxicu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/Test_Hebrew-Latin.txt000066400000000000000000000105611172643025600266010ustar00rootroot00000000000000#-------------------------------------------------------------------- # Copyright (c) 1999-2004, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- @UPPERFILTER@ מה ×–×” יוניקוד (Unicode)? יוניקוד מקצה מספר ייחודי לכל תו, ×œ× ×ž×©× ×” על ×יזו פלטפורמה, ×œ× ×ž×©× ×” ב×יזו תוכנית, ×•×œ× ×ž×©× ×” ב×יזו שפה. ב×ופן בסיסי, ×ž×—×©×‘×™× ×¢×•×¡×§×™× ×¨×§ במספרי×. ×”× ×ž××—×¡× ×™× ×ותיות ×•×ª×•×•×™× ××—×¨×™× ×¢×œ-ידי הקצ×ת מספר לכל ×חד מה×. ×‘×˜×¨× ×”×•×ž×¦× ×”×™×•× ×™×§×•×“, היו מ×ות מערכות קידוד שונות להקצ×ת ×”×ž×¡×¤×¨×™× ×”×œ×œ×•. ××£ ×œ× ×חת מהן יכלה להכיל כמות ×ª×•×•×™× ×ž×¡×¤×§×ª. לדוגמ×: רק ל×יחוד ×”×ירופ××™ × ×“×¨×©×™× ×›×ž×” סוגי ×§×™×“×•×“×™× ×©×•× ×™× ×¢×œ מנת לכסות ×ת כל השפות המדוברות בו. יתירה מז×ת ××£ לשפה בודדת, כמו ×נגלית למשל, ×œ× ×”×™×” די במערכת קידוד ×חת בעבור כל ×”×ותיות, סימני הפיסוק ×•×”×¡×ž×œ×™× ×”×˜×›× ×™×™× ×©×‘×©×™×ž×•×© שוטף. מערכות קידוד ×לו ××£ סותרות זו ×ת זו. כלומר, שני ×§×™×“×•×“×™× ×™×›×•×œ×™× ×œ×”×©×ª×ž×© ב×ותו מספר לשני ×ª×•×™× × ×‘×“×œ×™×, ×ו להשתמש ×‘×ž×¡×¤×¨×™× ×©×•× ×™× ×œ×ותו תו. על כל מחשב (ובמיוחד שרתי×) לתמוך במספר רב של מערכות קידוד שונות; ××•×œ× ×›×œ ×ימת ×©× ×ª×•× ×™× ×¢×•×‘×¨×™× ×‘×™×Ÿ מערכות קידוד ×ו פלטפורמות שונות ×§×™×™× ×”×¡×™×›×•×Ÿ שייפגמו. יוניקוד משנה ×ת כל ×–×”! יוניקוד מקצה מספר ייחודי לכל תו, ×œ×œ× ×ª×œ×•×ª בפלטפורמה, בתוכנית, ×ו בשפה. תקן היוניקוד ×ומץ על-ידי ×”×ž×•×‘×™×œ×™× ×‘×ª×¢×©×™×™×” כמו Appleâ€, HPâ€, IBMâ€, JustSystemâ€, Microsoftâ€, Oracleâ€, SAPâ€, Sunâ€, Sybaseâ€, Unisysâ€ ×•×¨×‘×™× ×חרי×. יוניקוד נדרש על-ידי ×ª×§× ×™× ×ž×•×“×¨× ×™×™× ×›×ž×• XMLâ€, Javaâ€, ECMAScript (JavaScript)‎â€, LDAPâ€, CORBA 3.0‎â€, WML†וכדומה, ומהווה למעשה ×ת ×”×™×™×©×•× ×”×¨×©×ž×™ של תקן ISO/IEC 10646. ×”×•× × ×ª×ž×š על ידי מערכות הפעלה רבות, כל ×”×“×¤×“×¤× ×™× ×”×—×“×™×©×™×, ×•×ž×•×¦×¨×™× ×¨×‘×™× ×חרי×. הופעת תקן היוניקוד וזמינות ×”×›×œ×™× ×”×ª×•×ž×›×™× ×‘×• נמנות ×¢× ×”×ž×’×ž×•×ª הכלל-עולמיות החשובות ביותר, ×שר מסתמנות ל×חרונה בטכנולוגיית התוכנה. שילוב יוניקוד ביישומי שרת-לקוח ×ו ×‘×™×™×©×•×ž×™× ×¨×‘×™-שכבות וב×תרי ×ינטרנט מ×פשר חיסכון ניכר בעלויות לעומת השימוש בסדרות ×”×ª×•×•×™× ×”×ž×¡×•×¨×ª×™×•×ª. הודות ליוניקוד, מוצר תוכנה ×חד ×ו ×תר יחיד ברשת יכול להרחיב ×ת יעדיו למגוון פלטפורמות, ×רצות ושפות ×œ×œ× ×¦×•×¨×š ×‘×©×™× ×•×™×™× ×ž×¨×—×™×§×™×. יוניקוד מ×פשר מעבר × ×ª×•× ×™× ×“×¨×š מערכות רבות ושונות מבלי שייפגמו. ×¤×¨×˜×™× ×ודות ×”×§×•× ×¡×•×¨×¦×™×•× ×©×œ יוניקוד (Unicode Consortium) ×”×§×•× ×¡×•×¨×¦×™×•× ×©×œ יוניקוד ×”×•× ×רגון ×œ×œ× ×ž×˜×¨×ª רווח שנוסד כדי לפתח, להרחיב ×•×œ×§×“× ×ת השימוש בתקן יוניקוד, ×שר מגדיר ×ת ייצוג הטקסט במוצרי תוכנה ×•×ª×§× ×™× ×ž×•×“×¨× ×™×™×. ×—×‘×¨×™× ×‘×§×•× ×¡×•×¨×¦×™×•× ×ž×’×•×•×Ÿ רחב של ת××’×™×“×™× ×•××¨×’×•× ×™× ×‘×ª×¢×©×™×™×ª ×”×ž×—×©×‘×™× ×•×¢×™×‘×•×“ המידע. ×”×§×•× ×¡×•×¨×¦×™×•× ×ž×ž×•×ž×Ÿ על-ידי דמי-חבר בלבד. החברות ×‘×§×•× ×¡×•×¨×¦×™×•× ×™×•× ×™×§×•×“ פתוחה ל××¨×’×•× ×™× ×•×œ×× ×©×™× ×¤×¨×˜×™×™×, בכל רחבי העול×, ×שר ×ª×•×ž×›×™× ×‘×ª×§×Ÿ יוניקוד ×•×ž×¢×•× ×™×™× ×™× ×œ×¡×™×™×¢ בהתפתחותו והטמעתו. למידע נוסף, ר××” מילון מונחי×, רשימה חלקית של ×ž×•×¦×¨×™× ×ž×•×ª××ž×™× ×œ×™×•× ×™×§×•×“, ×ž×‘×•× ×˜×›× ×™ ו- חומרי עזר [×§×™×©×•×¨×™× ×‘×נגלית]. @SET [[:Hebrew:] [\u05B0-\u05B9\u05BB-\u05BC\u05C1-\u05C2\u2135-\u2138]]icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/Test_Instructions.html000066400000000000000000000171551172643025600271570ustar00rootroot00000000000000 New Transliteration Test Files

    New Transliteration Test Files

    The Test_*.html files show the transliteration of characters for given languages. The sample for each language consists of "What Is Unicode" in Thai, followed by other available text. The text is broken apart into sentences for ease of viewing (note: we know of some problems with the sentence rules for Japanese and Chinese). The left column is the original, and the right is the romanization. The program also converts back to the original script. If there is a discrepancy between the source and the reverse transformation, that is indicated by making the background red from that point on.

    Note: If you have some more text that you would like added to the sample, just let me know. I am particularly interested in name lists, since they are the typical source.

    Standards

    The goal is to follow a given standard, such as ISO* or UNGEGN wherever possible. We also need to round-trip, so in some cases, that means adding some additional accent marks to disambiguate characters. And often the source standards are missing some characters, such as characters with combining Hamzas in Arabic. Remember that the goal for these is transliteration (unambiguously representing all the letters in the original), not transcription (representing the best pronunciation).

    • Thai: ISO 11940 < http://homepage.mac.com/sirbinks/pdf/Thai.r2.pdf > plus a few items:
      • Accents may be added to the Latin for disambiguation.
      • In the next release, we'd like to do the UNGEGN version < http://www.eki.ee/wgrs/rom1_th.pdf > which is probably more useful (and readable), and follows more closely the Thai standard.
      • Spaces are provided at word-breaks, using the Thai BreakIterator.
      • An inherent vowel (ọ) is added, as in UNGEGN. The dot is for disambiguation.
        • Note: if the inherent vowel positions cannot be algorithmically determined, let me know and I will remove them.
    • Arabic: Generally follows UNGEGN < http://www.eki.ee/wgrs/rom1_ar.pdf >
      • Accents may be added to the Latin for disambiguation.
      • Occasionally deviates in the direction of ISO 233 < http://homepage.mac.com/sirbinks/pdf/Arabic.pdf >
        • with underdot instead of cedilla for letter like SAD, since those are explicitly in Unicode for transliteration of Arabic
        • adding extra non-Arabic-language letters, like PEH. Note: not all extended Arabic characters are handled yet.
      • Does not do assimilation of "al", nor hyphenation of it.
        • While it could be done, we need to determine whether a prefix "al" could occur other than as the definite article (since no space is used).
      • This is transliteration. For transcription one would want an engine that added points appropriately to the Hebrew.
    • Hebrew: Generally follows UNGEGN < http://www.eki.ee/wgrs/rom1_he.pdf >, with some exceptions:
      • Accents may be added to the Latin for disambiguation.
      • Combinations of dagesh, shin/sin dot that would produce different letters are not yet called out.
      • Note that the final forms are not preserved. Thus, when going from Latin to Hebrew, a character is given final form depending on its position.
        • E.g. מםמם => mmmm => מממם
      • This is transliteration. For transcription one would want an engine that added points appropriately to the Hebrew.
      • See also < http://homepage.mac.com/sirbinks/pdf/Hebrew.r1.pdf > for the ISO version. The Chicago Manual of Style has a clear table of mappings for the vowel marks.
    • Han: Uses the CEDICT data plus Unicode Unihan kMandarin values for pinyin. Doesn't roundtrip!
      • Note: the Chinese pronunciation of Han characters varies by context and grammar, though nowhere near as much a Japanese.
        • Ideally we'd have an underlying engine for this. In 2.4 we will have a plug-in interface so that people could add one, such as the IBM engine.
        • The data from CEDICT and Unihan don't list the most frequent choice first, so we will be updating that.
    • Greek/UNGEGN: Uses a modern Greek transliteration, based on the UNGEGN rules at < http://www.eki.ee/wgrs/rom1_el.pdf >. This version will not roundtrip ancient Greek.
    • Greek: Uses a classic Greek transliteration. This version will not roundtrip modern Greek.

    Notes

    1. For readability, the files have a few other things besides just the transliteration:
      • The first word of the sentences are titlecased, as are names (where we have a name-list, such as in Thai).
      • The Latin in the original is mapped to the private-use zone before conversion, and then again after conversion. This does have the downside that any rules (such as in Han) that need to know the context (e.g. for inserting spaces or capitalization) will gum up a little bit. This is just an artifact of the test display.
    2. I don't think that ISO 11940 is a particularly good way to romanize, but it is at least complete and a standard. So what I am interested in just for now is whether the samples in the file follow it (with the above exceptions).
    3. Some of the files also have a set of characters at the end, one character per row, with a following row listing the hex and name.
    4. The source rules for all of these is in the following URL. So if you want to know the details of how the characters are handled, that is the place to look.
    icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/Test_Thai-Latin.txt000066400000000000000000000227131172643025600262540ustar00rootroot00000000000000#-------------------------------------------------------------------- # Copyright (c) 1999-2004, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- @UPPERFILTER@ Unicode คืออะไร? Unicode à¸à¸³à¸«à¸™à¸”หมายเลขเฉพาะสำหรับทุà¸à¸­à¸±à¸à¸‚ระ โดยไม่สนใจว่าเป็นà¹à¸žà¸¥à¹‡à¸•ฟอร์มใด ไม่ขึ้นà¸à¸±à¸šà¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¹‡à¸™à¹‚ปรà¹à¸à¸£à¸¡à¹ƒà¸” à¹à¸¥à¸°à¹„ม่ว่าจะเป็นภาษาใด โดยพื้นà¸à¸²à¸™à¹à¸¥à¹‰à¸§, คอมพิวเตอร์จะเà¸à¸µà¹ˆà¸¢à¸§à¸‚้องà¸à¸±à¸šà¹€à¸£à¸·à¹ˆà¸­à¸‡à¸‚องตัวเลข. คอมพิวเตอร์จัดเà¸à¹‡à¸šà¸•ัวอัà¸à¸©à¸£à¹à¸¥à¸°à¸­à¸±à¸à¸‚ระอื่นๆ โดยà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”หมายเลขให้สำหรับà¹à¸•่ละตัว. à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸—ี่๊ Unicode จะถูà¸à¸ªà¸£à¹‰à¸²à¸‡à¸‚ึ้น, ได้มีระบบ encoding อยู่หลายร้อยระบบสำหรับà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”หมายเลขเหล่านี้. ไม่มี encoding ใดที่มีจำนวนตัวอัà¸à¸‚ระมาà¸à¹€à¸žà¸µà¸¢à¸‡à¸žà¸­: ยà¸à¸•ัวอย่างเช่น, เฉพาะในà¸à¸¥à¸¸à¹ˆà¸¡à¸ªà¸«à¸ à¸²à¸žà¸¢à¸¸à¹‚รปเพียงà¹à¸«à¹ˆà¸‡à¹€à¸”ียว à¸à¹‡à¸•้องà¸à¸²à¸£à¸«à¸¥à¸²à¸¢ encoding ในà¸à¸²à¸£à¸„รอบคลุมทุà¸à¸ à¸²à¸©à¸²à¹ƒà¸™à¸à¸¥à¸¸à¹ˆà¸¡. หรือà¹à¸¡à¹‰à¹à¸•่ในภาษาเดี่ยว เช่น ภาษาอังà¸à¸¤à¸© à¸à¹‡à¹„ม่มี encoding ใดที่เพียงพอสำหรับทุà¸à¸•ัวอัà¸à¸©à¸£, เครื่องหมายวรรคตอน à¹à¸¥à¸°à¸ªà¸±à¸à¸¥à¸±à¸à¸©à¸“์ทางเทคนิคที่ใช้à¸à¸±à¸™à¸­à¸¢à¸¹à¹ˆà¸—ั่วไป. ระบบ encoding เหล่านี้ยังขัดà¹à¸¢à¹‰à¸‡à¸‹à¸¶à¹ˆà¸‡à¸à¸±à¸™à¹à¸¥à¸°à¸à¸±à¸™. นั่นà¸à¹‡à¸„ือ, ในสอง encoding สามารถใช้หมายเลขเดียวà¸à¸±à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸•ัวอัà¸à¸‚ระสองตัวที่à¹à¸•à¸à¸•่างà¸à¸±à¸™,หรือใช้หมายเลขต่างà¸à¸±à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸­à¸±à¸à¸‚ระตัวเดียวà¸à¸±à¸™. ในระบบคอมพิวเตอร์ (โดยเฉพาะเซิร์ฟเวอร์) ต้องมีà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸«à¸¥à¸²à¸¢ encoding; à¹à¸¥à¸°à¹€à¸¡à¸·à¹ˆà¸­à¸‚้อมูลที่ผ่านไปมาระหว่างà¸à¸²à¸£à¹€à¸‚้ารหัสหรือà¹à¸žà¸¥à¹‡à¸•ฟอร์มที่ต่างà¸à¸±à¸™, ข้อมูลนั้นจะเสี่ยงต่อà¸à¸²à¸£à¸œà¸´à¸”พลาดเสียหาย. Unicode จะเปลี่ยนà¹à¸›à¸¥à¸‡à¸ªà¸´à¹ˆà¸‡à¹€à¸«à¸¥à¹ˆà¸²à¸™à¸±à¹‰à¸™à¸—ั้งหมด! Unicode à¸à¸³à¸«à¸™à¸”หมายเลขเฉพาะสำหรับà¹à¸•่ละอัà¸à¸‚ระ, โดยไม่สนใจว่าเป็นà¹à¸žà¸¥à¹‡à¸•ฟอร์มใด, ไม่ขึ้นà¸à¸±à¸šà¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¹‡à¸™à¹‚ปรà¹à¸à¸£à¸¡à¹ƒà¸”à¹à¸¥à¸°à¹„ม่ว่าจะเป็นภาษาใด. มาตรà¸à¸²à¸™ Unicode ได้ถูà¸à¸™à¸³à¹„ปใช้โดยผู้นำในอุตสาหà¸à¸£à¸£à¸¡ เช่น Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys à¹à¸¥à¸°à¸­à¸·à¹ˆà¸™à¹† อีà¸à¸¡à¸²à¸. Unicode เป็นสิ่งที่จำเป็นสำหรับมาตรà¸à¸²à¸™à¹ƒà¸«à¸¡à¹ˆà¹† เช่น XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML ฯลฯ., à¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¹à¸™à¸§à¸—างอย่างเป็นทางà¸à¸²à¸£à¹ƒà¸™à¸à¸²à¸£à¸—ำ ISO/IEC 10646. Unicode ได้รับà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¹ƒà¸™à¸£à¸°à¸šà¸šà¸›à¸à¸´à¸šà¸±à¸•ิà¸à¸²à¸£à¸ˆà¸³à¸™à¸§à¸™à¸¡à¸²à¸, บราวเซอร์ใหม่ๆ ทà¸à¸•ัว, à¹à¸¥à¸°à¸œà¸¥à¸´à¸•ภัณฑ์อื่นๆ อีà¸à¸¡à¸²à¸. à¸à¸²à¸£à¹€à¸à¸´à¸”ขึ้นของ Unicode Standard à¹à¸¥à¸°à¸—ูลส์ต่างๆ ที่มีในà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™ Unicode, เป็นหนึ่งในà¹à¸™à¸§à¹‚น้มทางเทคโนโลยีซอฟต์à¹à¸§à¸£à¹Œà¸£à¸°à¸”ับโลà¸à¸—ี่มีความสำคัà¸à¸—ี่สุด. à¸à¸²à¸£à¸£à¸§à¸¡ Unicode เข้าไปในระบบไคลเอ็นต์-เซิร์ฟเวอร์ หรือà¹à¸­à¹‡à¸žà¸žà¸¥à¸´à¹€à¸„ชันà¹à¸šà¸š multi-tiered à¹à¸¥à¸°à¹€à¸§à¹‡à¸šà¹„ซต์ จะทำให้เà¸à¸´à¸”à¸à¸²à¸£à¸›à¸£à¸°à¸«à¸¢à¸±à¸”ค่าใช้จ่ายมาà¸à¸à¸§à¹ˆà¸²à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸Šà¸¸à¸”อัà¸à¸‚ระà¹à¸šà¸šà¹€à¸”ิม. Unicode ทำให้ผลิตภัณฑ์ซอฟต์à¹à¸§à¸£à¹Œà¸«à¸™à¸¶à¹ˆà¸‡à¹€à¸”ียว หรือเว็บไซต์à¹à¸«à¹ˆà¸‡à¹€à¸”ียว รองรับได้หลายà¹à¸žà¸¥à¹‡à¸•ฟอร์ม, หลายภาษาà¹à¸¥à¸°à¸«à¸¥à¸²à¸¢à¸›à¸£à¸°à¹€à¸—ศโดยไม่ต้องทำà¸à¸²à¸£à¸£à¸·à¹‰à¸­à¸›à¸£à¸±à¸šà¸£à¸°à¸šà¸š. Unicode ยังทำให้ข้อมูลสามารถเคลื่อนย้ายไปมาในหลายๆ ระบบโดยไม่เà¸à¸´à¸”ความผิดพลาดเสียหาย. เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸š Unicode Consortium Unicode Consortium เป็นองค์à¸à¸£à¹„ม่à¹à¸ªà¸§à¸‡à¸«à¸²à¸à¸³à¹„รที่à¸à¹ˆà¸­à¸•ั้งขึ้นเพื่อพัฒนา, ขยายà¹à¸¥à¸°à¸ªà¹ˆà¸‡à¹€à¸ªà¸£à¸´à¸¡à¸à¸²à¸£à¹ƒà¸Šà¹‰ Unicode Standard, ซึ่งà¸à¸³à¸«à¸™à¸”รูปà¹à¸šà¸šà¸à¸²à¸£à¹à¸—นค่าของข้อความในผลิตภัณฑ์ซอฟต์à¹à¸§à¸£à¹Œà¹à¸¥à¸°à¸¡à¸²à¸•รà¸à¸²à¸™à¹ƒà¸«à¸¡à¹ˆà¹†. สมาชิà¸à¸‚องสมาคมเป็นตัวà¹à¸—นจาà¸à¸šà¸£à¸´à¸©à¸±à¸—à¹à¸¥à¸°à¸­à¸‡à¸„์à¸à¸£à¹ƒà¸™à¸­à¸¸à¸•สาหà¸à¸£à¸£à¸¡à¸„อมพิวเตอร์à¹à¸¥à¸°à¸à¸²à¸£à¸›à¸£à¸°à¸¡à¸§à¸¥à¸œà¸¥à¸ªà¸²à¸£à¸ªà¸™à¹€à¸—ศ. สมาคมได้รับà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸—างà¸à¸²à¸£à¹€à¸‡à¸´à¸™à¸œà¹ˆà¸²à¸™à¸—างค่าธรรมเนียมของà¸à¸²à¸£à¹€à¸›à¹‡à¸™à¸ªà¸¡à¸²à¸Šà¸´à¸à¹€à¸—่านั้น. สมาชิà¸à¸ à¸²à¸žà¸‚อง Unicode Consortium เปิดà¸à¸§à¹‰à¸²à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¸­à¸‡à¸„์à¸à¸£à¸«à¸£à¸·à¸­à¸šà¸¸à¸„คลใดๆ ในโลà¸à¸—ี่ต้องà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™ Unicode Standard à¹à¸¥à¸°à¸Šà¹ˆà¸§à¸¢à¹€à¸«à¸¥à¸·à¸­à¸à¸²à¸£à¸‚ยายตัวà¹à¸¥à¸°à¸à¸²à¸£à¸™à¸³ Unicode ไปใช้งาน. สำหรับข้อมูลเพิ่มเติม, ให้ดูที่ Glossary, Sample Unicode-Enabled Products, Technical Introduction à¹à¸¥à¸° Useful Resources. เป็นมนุษย์สุดประเสริà¸à¹€à¸¥à¸´à¸¨à¸„ุณค่า à¸à¸§à¹ˆà¸²à¸šà¸£à¸£à¸”าà¸à¸¹à¸‡à¸ªà¸±à¸•ว์เดรัจฉาน จงà¸à¹ˆà¸²à¸Ÿà¸±à¸™à¸žà¸±à¸’นาวิชาà¸à¸²à¸£ อย่าล้างผลาà¸à¸¤à¹…เข่นฆ่าบีฑาใคร ไม่ถือโทษโà¸à¸£à¸˜à¹à¸Šà¹ˆà¸‡à¸‹à¸±à¸”ฮึดฮัดด่า หัดอภัยเหมือนà¸à¸µà¸¬à¸²à¸­à¸±à¸Šà¸Œà¸²à¸ªà¸±à¸¢ ปà¸à¸´à¸šà¸±à¸•ิประพฤติà¸à¸Žà¸à¸³à¸«à¸™à¸”ใจ พูดจาให้จ๊ะ ๆ จ๋า ๆ น่าฟังเอยฯ à¹à¸«à¸¥à¹ˆà¸‡à¸—ี่มา : สมาคมคอมพิวเตอร์à¹à¸«à¹ˆà¸‡à¸›à¸£à¸°à¹€à¸—ศไทย ฅนฃวด kho khuat and kho khon @TITLECASE@ à¸à¹Šà¸à¹€à¸®à¸‡ à¹à¸‹à¹ˆà¹à¸•้ à¸à¸Šà¸à¸£ ศราทธทัต à¸à¸•ิà¸à¸² อังคสุภณ à¸à¸™à¸ ธรรมประทีป à¸à¸™à¸ วงศ์ทองศรี à¸à¸™à¸à¸à¸£ ช้างเย็นฉ่ำ à¸à¸™à¸à¸‰à¸±à¸•ร์ ถาวรนันท์ à¸à¸™à¸à¸™à¸§à¸¥ โปษยะนันทน์ à¸à¸™à¸à¸žà¸£ คมคาย à¸à¸™à¸à¸žà¸£ ตีรเลิศพานิช à¸à¸™à¸à¸žà¸£ พันทร à¸à¸™à¸à¸žà¸£ ศรีบัณฑิต à¸à¸™à¸à¸žà¸£ อติวรรณาพัฒน์ à¸à¸™à¸à¸žà¸£à¸£à¸“ ศรีวนาภิรมย์ à¸à¸™à¸à¸£à¸±à¸•น์ เà¸à¸µà¸¢à¸£à¸•ิยิ่งอังศุลี à¸à¸™à¸à¸£à¸±à¸•น์ สุธรรมพิทัà¸à¸©à¹Œ à¸à¸™à¸à¸§à¸£à¸£à¸“ คงคาประเสริภà¸à¸™à¸à¸§à¸£à¸£à¸“ à¹à¸‹à¹ˆà¹€à¸•ียว à¸à¸™à¸à¸§à¸£à¸£à¸“ บุà¸à¸›à¸£à¸°à¹€à¸ªà¸£à¸´à¸ à¸à¸™à¸à¸§à¸£à¸£à¸“ รัà¸à¸—รัพย์ à¸à¸™à¸à¸§à¸£à¸£à¸“ สัจจพงษ์ à¸à¸™à¸à¸§à¸£à¸£à¸“ อุ้ยวงศ์ไพศาล à¸à¸™à¸à¸¨à¸±à¸à¸”ิ์ ยิ่งยง à¸à¸™à¸à¹à¸à¹‰à¸§ à¸à¸£à¸ªà¸¡à¸´à¸• à¸à¸™à¸´à¸©à¸à¸² ทนุถนอมราษฎร์ à¸à¸™à¸´à¸©à¸à¸² หวังวิบูลย์à¸à¸´à¸ˆ à¸à¸¡à¸¥ à¸à¸²à¸à¸ˆà¸™à¹‚รจน์ à¸à¸¡à¸¥ คัมภีร์ à¸à¸¡à¸¥ เจตน์มงคลรัตน์ à¸à¸¡à¸¥ ชูตระà¸à¸¹à¸¥à¸˜à¸£à¸£à¸¡ @SET [[:thai:] \u0E01-\u0E3A\u0E40-\u0E5B]icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/TransliteratingTextComponent.java000066400000000000000000000204241172643025600313240ustar00rootroot00000000000000/* ******************************************************************************* * Copyright (C) 1996-2010, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.translit; import java.awt.event.KeyEvent; import com.ibm.icu.dev.demo.impl.DumbTextComponent; import com.ibm.icu.text.ReplaceableString; import com.ibm.icu.text.Transliterator; /** * A subclass of {@link DumbTextComponent} that passes key events through * a {@link com.ibm.icu.text.Transliterator}. * * @author Alan Liu */ public class TransliteratingTextComponent extends DumbTextComponent { /** * For serialization */ private static final long serialVersionUID = -8672128213174154047L; private static boolean DEBUG = false; private Transliterator translit = null; // NOTE: DISABLE THE START AND CURSOR UNTIL WE CAN GET IT TO WORK AT ALL // Index into getText() where the start of transliteration is. // As we commit text during transliteration, we advance // this. //private int start = 0; // Index into getText() where the cursor is; cursor >= start //private int cursor = 0; // private static final String COPYRIGHT = // "\u00A9 IBM Corporation 1999. All rights reserved."; /** * Constructor. */ public TransliteratingTextComponent() { super(); /* addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // We get an ActionEvent only when the selection changes resetTransliterationStart(); } }); */ } /** * {@link DumbTextComponent} API. Framework method that is called * when a KeyEvent is received. This implementation * runs the new character through the current * Transliterator, if one is set, and inserts the * transliterated text into the buffer. */ protected void handleKeyTyped(KeyEvent e) { char ch = e.getKeyChar(); if (translit == null) { setKeyStart(-1); super.handleKeyTyped(e); return; } transliterate(ch, false); } public void flush() { if (translit != null) transliterate('\uFFFF', true); } protected void transliterate(char ch, boolean flush) { // ------------------------------------------------------------ // The following case motivates the two lines that recompute // start and cursor below. // " " // a b c q r|s t u m m // 0 1 2 3 4 5 6 7 8 9 // 0 1 2 // start 3, cursor 5, sel 6 -> { 0, 3, 2 } // : new int[] { 0, sel - start, cursor - start }; // sz>99|9 // " { " // a b c q r 9 9|9 t u m m // 0 1 2 3 4 5 6 7 8 9 a b // 0 1 2 3 4 // { 3, 5, 4 } -> start 6, cursor 7, sel 8 // : start += index[0]; // : cursor = start + index[2] - index[0]; // ------------------------------------------------------------ // Need to save start because calls to replaceRange will update // start and cursor. //int saveStart = start; int end = flush ? getSelectionEnd() : getSelectionStart(); String sourceText = getText().substring(0,end); ReplaceableString buf = new ReplaceableString(sourceText); /*buf.replace(0, 1, getText().substring(start, getSelectionStart()));*/ Transliterator.Position index = new Transliterator.Position(); index.contextLimit = buf.length(); index.contextStart = 0; index.start = getKeyStart(); if (index.start == -1) index.start = getSelectionStart(); index.limit = buf.length(); // StringBuffer log = null; if (DEBUG) { System.out.println("Transliterator: " + translit.getID()); System.out.println("From:\t" + '"' + buf.toString() + '"' + "; {cs: " + index.contextStart + ", s: " + index.start + ", l: " + index.limit + ", cl: " + index.contextLimit + "}" + "; '" + ch + "'" + " " + getKeyStart() ); } if (flush) { translit.finishTransliteration(buf, index); } else { translit.transliterate(buf, index, ch); } if (DEBUG) { System.out.println("To:\t" + '"' + buf.toString() + '"' + "; {cs: " + index.contextStart + ", s: " + index.start + ", l: " + index.limit + ", cl: " + index.contextLimit + "}" ); System.out.println(); } /* buf.replace(buf.length(), buf.length(), String.valueOf(ch)); translit.transliterate(buf); */ String result = buf.toString(); //if (result.equals(sourceText + ch)) return; replaceRange(result, 0, getSelectionEnd()); setKeyStart(index.start); // At this point start has been changed by the callback to // resetTransliteratorStart() via replaceRange() -- so use our // local copy, saveStart. // The START index is zero-based. On entry to transliterate(), // it was zero. We can therefore just add it to our original // getText()-based index value of start (in saveStart) to get // the new getText()-based start. // start = saveStart + index.contextStart; // Make the cursor getText()-based. The CURSOR index is zero-based. // cursor = start + index.start - index.contextStart; /* if (DEBUG) { String out = buf.toString(); log.append(out.substring(0, index.contextStart)). append('{'). append(out.substring(index.contextStart, index.start)). append('|'). append(out.substring(index.start)). append('"'); log.append(", {" + index.contextStart + ", " + index.contextLimit + ", " + index.start + "}, "); // log.append("start " + start + ", cursor " + cursor); log.append(", sel " + getSelectionStart()); System.out.println(escape(log.toString())); } */ } /** * Set the {@link com.ibm.icu.text.Transliterator} and direction to * use to process incoming KeyEvents. * @param t the {@link com.ibm.icu.text.Transliterator} to use */ public void setTransliterator(Transliterator t) { /* if (translit != t) { // [sic] pointer compare ok; singletons resetTransliterationStart(); } */ translit = t; } public Transliterator getTransliterator() { return translit; } /** * Reset the start point at which transliteration begins. This * needs to be done when the user moves the cursor or when the * current {@link com.ibm.icu.text.Transliterator} is changed. */ /* private void resetTransliterationStart() { start = getSelectionStart(); cursor = start; } */ /** * Escape non-ASCII characters as Unicode. * JUST FOR DEBUGGING OUTPUT. */ public static final String escape(String s) { StringBuffer buf = new StringBuffer(); for (int i=0; i= ' ' && c <= 0x007F) { if (c == '\\') { buf.append("\\\\"); // That is, "\\" } else { buf.append(c); } } else { buf.append("\\u"); if (c < 0x1000) { buf.append('0'); if (c < 0x100) { buf.append('0'); if (c < 0x10) { buf.append('0'); } } } buf.append(Integer.toHexString(c)); } } return buf.toString(); } } icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/TransliterationChart.java000066400000000000000000000264231172643025600275730ustar00rootroot00000000000000/** ******************************************************************************* * Copyright (C) 2001-2010, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo.translit; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; import com.ibm.icu.impl.Utility; import com.ibm.icu.lang.UCharacter; import com.ibm.icu.lang.UScript; import com.ibm.icu.text.Normalizer; import com.ibm.icu.text.Transliterator; import com.ibm.icu.text.UTF16; import com.ibm.icu.text.UnicodeSet; import com.ibm.icu.text.UnicodeSetIterator; public class TransliterationChart { public static void main(String[] args) throws IOException { System.out.println("Start"); UnicodeSet lengthMarks = new UnicodeSet("[\u09D7\u0B56-\u0B57\u0BD7\u0C56\u0CD5-\u0CD6\u0D57\u0C55\u0CD5]"); int[] indicScripts = { UScript.LATIN, UScript.DEVANAGARI, UScript.BENGALI, UScript.GURMUKHI, UScript.GUJARATI, UScript.ORIYA, UScript.TAMIL, UScript.TELUGU, UScript.KANNADA, UScript.MALAYALAM, }; String[] names = new String[indicScripts.length]; UnicodeSet[] sets = new UnicodeSet[indicScripts.length]; Transliterator[] fallbacks = new Transliterator[indicScripts.length]; for (int i = 0; i < indicScripts.length; ++i) { names[i] = UScript.getName(indicScripts[i]); sets[i] = new UnicodeSet("[[:" + names[i] + ":]&[[:L:][:M:]]&[:age=3.1:]]"); fallbacks[i] = Transliterator.getInstance("any-" + names[i]); } EquivClass eq = new EquivClass(new ReverseComparator()); PrintWriter pw = openPrintWriter("transChart.html"); pw.println(""); pw.println("Indic Transliteration Chart"); Transliterator anyToLatin = Transliterator.getInstance("any-latin"); String testString = "\u0946\u093E"; UnicodeSet failNorm = new UnicodeSet(); Set latinFail = new TreeSet(); for (int i = 0; i < indicScripts.length; ++i) { if (indicScripts[i] == UScript.LATIN) continue; String source = names[i]; System.out.println(source); UnicodeSet sourceChars = sets[i]; for (int j = 0; j < indicScripts.length; ++j) { if (i == j) continue; String target = names[j]; Transliterator forward = Transliterator.getInstance(source + '-' + target); Transliterator backward = forward.getInverse(); UnicodeSetIterator it = new UnicodeSetIterator(sourceChars); while (it.next()) { if (lengthMarks.contains(it.codepoint)) continue; String s = Normalizer.normalize(it.codepoint,Normalizer.NFC,0); //if (!Normalizer.isNormalized(s,Normalizer.NFC,0)) continue; if (!s.equals(Normalizer.normalize(s,Normalizer.NFD,0))) { failNorm.add(it.codepoint); } String t = fix(forward.transliterate(s)); if (t.equals(testString)) { System.out.println("debug"); } String r = fix(backward.transliterate(t)); if (Normalizer.compare(s,r,0) == 0) { if (indicScripts[j] != UScript.LATIN) eq.add(s,t); } else { if (indicScripts[j] == UScript.LATIN) { latinFail.add(s + " - " + t + " - " + r); } } } } } // collect equivalents pw.println(""); for (int i = 0; i < indicScripts.length; ++i) { pw.print(""); } pw.println(""); Iterator rit = eq.getSetIterator(new MyComparator()); while(rit.hasNext()) { Set equivs = (Set)rit.next(); pw.print(""); Iterator sit = equivs.iterator(); String source = (String)sit.next(); String item = anyToLatin.transliterate(source); if (item.equals("") || source.equals(item)) item = " "; pw.print(""); for (int i = 1; i < indicScripts.length; ++i) { sit = equivs.iterator(); item = ""; while (sit.hasNext()) { String trial = (String)sit.next(); if (!sets[i].containsAll(trial)) continue; item = trial; break; } String classString = ""; if (item.equals("")) { classString = " class='miss'"; String temp = fallbacks[i].transliterate(source); if (!temp.equals("") && !temp.equals(source)) item = temp; } String backup = item.equals("") ? " " : item; pw.print("" + backup + "
    " + Utility.hex(item) + ""); } /* Iterator sit = equivs.iterator(); while (sit.hasNext()) { String item = (String)sit.next(); pw.print("
    "); } */ pw.println(""); } pw.println("
    " + names[i].substring(0,3) + "
    " + item + "" + item + "
    "); if (true) { pw.println("

    Failed Normalization

    "); UnicodeSetIterator it = new UnicodeSetIterator(failNorm); UnicodeSet pieces = new UnicodeSet(); while (it.next()) { String s = UTF16.valueOf(it.codepoint); String d = Normalizer.normalize(s,Normalizer.NFD,0); pw.println("Norm:" + s + ", " + Utility.hex(s) + " " + UCharacter.getName(it.codepoint) + "; " + d + ", " + Utility.hex(d) + ", "); pw.println(UCharacter.getName(d.charAt(1)) + "
    "); if (UCharacter.getName(d.charAt(1)).indexOf("LENGTH") >= 0) pieces.add(d.charAt(1)); } pw.println(pieces); pw.println("

    Failed Round-Trip

    "); Iterator cit = latinFail.iterator(); while (cit.hasNext()) { pw.println(cit.next() + "
    "); } } pw.println(""); pw.close(); System.out.println("Done"); } public static String fix(String s) { if (s.equals("\u0946\u093E")) return "\u094A"; if (s.equals("\u0C46\u0C3E")) return "\u0C4A"; if (s.equals("\u0CC6\u0CBE")) return "\u0CCA"; if (s.equals("\u0947\u093E")) return "\u094B"; if (s.equals("\u0A47\u0A3E")) return "\u0A4B"; if (s.equals("\u0AC7\u0ABE")) return "\u0ACB"; if (s.equals("\u0C47\u0C3E")) return "\u0C4B"; if (s.equals("\u0CC7\u0CBE")) return "\u0CCB"; //return Normalizer.normalize(s,Normalizer.NFD,0); return s; } public static PrintWriter openPrintWriter(String fileName) throws IOException { File lf = new File(fileName); System.out.println("Creating file: " + lf.getAbsoluteFile()); return new PrintWriter( new BufferedWriter( new OutputStreamWriter( new FileOutputStream(fileName), "UTF8"), 4*1024)); } public static String getName(String s, String separator) { int cp; StringBuffer sb = new StringBuffer(); for (int i = 0; i < s.length(); i += UTF16.getCharCount(cp)) { cp = UTF16.charAt(s,i); if (i != 0) sb.append(separator); sb.append(UCharacter.getName(cp)); } return sb.toString(); } static class MyComparator implements Comparator { public int compare(Object o1, Object o2) { Iterator i1 = ((TreeSet) o1).iterator(); Iterator i2 = ((TreeSet) o2).iterator(); while (i1.hasNext() && i2.hasNext()) { String a = (String)i1.next(); String b = (String)i2.next(); int result = a.compareTo(b); if (result != 0) return result; } if (i1.hasNext()) return 1; if (i2.hasNext()) return -1; return 0; } } static class ReverseComparator implements Comparator { public int compare(Object o1, Object o2) { String a = o1.toString(); char a1 = a.charAt(0); String b = o2.toString(); char b1 = b.charAt(0); if (a1 < 0x900 && b1 > 0x900) return -1; if (a1 > 0x900 && b1 < 0x900) return +1; return a.compareTo(b); } } static class EquivClass { EquivClass(Comparator c) { comparator = c; } private HashMap itemToSet = new HashMap(); private Comparator comparator; void add(Object a, Object b) { Set sa = (Set)itemToSet.get(a); Set sb = (Set)itemToSet.get(b); if (sa == null && sb == null) { // new set! Set s = new TreeSet(comparator); s.add(a); s.add(b); itemToSet.put(a, s); itemToSet.put(b, s); } else if (sa == null) { sb.add(a); } else if (sb == null) { sa.add(b); } else { // merge sets, dumping sb sa.addAll(sb); Iterator it = sb.iterator(); while (it.hasNext()) { itemToSet.put(it.next(), sa); } } } private class MyIterator implements Iterator { private Iterator it; MyIterator (Comparator comp) { TreeSet values = new TreeSet(comp); values.addAll(itemToSet.values()); it = values.iterator(); } public boolean hasNext() { return it.hasNext(); } public Object next() { return it.next(); } public void remove() { throw new IllegalArgumentException("can't remove"); } } public Iterator getSetIterator (Comparator comp) { return new MyIterator(comp); } } }icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/demo.bat000077500000000000000000000010771172643025600242010ustar00rootroot00000000000000REM /* REM ******************************************************************************* REM * Copyright (C) 1996-2004, International Business Machines Corporation and * REM * others. All Rights Reserved. * REM ******************************************************************************* REM */ REM For best results, run the demo as an applet inside of Netscape REM with Bitstream Cyberbit installed. REM setup your JDK 1.1.x path and classpath here: call JDK11 set CLASSPATH=../translit.jar;%CLASSPATH% javaw Demo icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/demo.html000066400000000000000000000016751172643025600244000ustar00rootroot00000000000000 Transliteration Demo
    If you don't see a button above, then your browser is failing to locate the necessary Java class files.

    One way to make this work is to copy this HTML file to icu4j/src, and make sure the Java files in the directories under icu4j/src/com are built. Then open this HTML file using a browser or appletviewer.

    For best results, run this demo as an applet within Netscape with Bitstream Cyberbit installed. icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/package.html000066400000000000000000000004071172643025600250370ustar00rootroot00000000000000 Transliterator demo appliation. icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/resources/000077500000000000000000000000001172643025600245675ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Han_Pinyin.txt000066400000000000000000013206011172643025600324640ustar00rootroot00000000000000#-------------------------------------------------------------------- # Copyright (c) 1999-2001, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- # Generated: Fri Jan 26 15:14:48 2001 # Tool: ..\..\tools\translit\hanpinyin.pl #-------------------------------------------------------------------- # Han-Pinyin # Mechanically derived from \desk\Unihan.txt (ftp.unicode.org), version: # # Name: Unihan database # Unicode version: 3.0b1 # Table version: 1.1 # Date: 2 July 1999 # # Copyright (c) 1996-1999 Unicode, Inc. All Rights reserved. ä¸ > dÄ«ng; #4E01 丂 > kăo; #4E02 七 > qÄ«; #4E03 丄 > shàng; #4E04 丅 > xià; #4E05 万 > mò; #4E07 丈 > zhàng; #4E08 三 > sÄn; #4E09 上 > shàng; #4E0A 下 > xià; #4E0B 丌 > jÄ«; #4E0C ä¸ > bù; #4E0D 与 > yÅ­; #4E0E ä¸ > miăn; #4E0F ä¸ > gài; #4E10 丑 > chÅu; #4E11 丒 > chÅu; #4E12 专 > zhuÄn; #4E13 且 > qiÄ•; #4E14 丕 > pÄ«; #4E15 世 > shì; #4E16 丗 > shì; #4E17 丘 > qÄ«u; #4E18 丙 > bÄ­ng; #4E19 业 > yè; #4E1A 丛 > cóng; #4E1B 东 > dÅng; #4E1C ä¸ > sÄ«; #4E1D 丞 > chéng; #4E1E 丟 > dÄ«u; #4E1F 丠 > qÄ«u; #4E20 両 > liăng; #4E21 丢 > dÄ«u; #4E22 丣 > yÅu; #4E23 两 > liăng; #4E24 严 > yán; #4E25 並 > bìng; #4E26 丧 > sÄng; #4E27 丨 > gÅ­n; #4E28 丩 > jÄ«u; #4E29 个 > gè; #4E2A 丫 > yÄ; #4E2B 丬 > qiáng; #4E2C 中 > zhÅng; #4E2D 丮 > jÄ­; #4E2E 丯 > jiè; #4E2F 丰 > fÄ“ng; #4E30 丱 > guàn; #4E31 串 > chuàn; #4E32 丳 > chăn; #4E33 临 > lín; #4E34 丵 > zhÅ­o; #4E35 丶 > zhÅ­; #4E36 丸 > wán; #4E38 丹 > dÄn; #4E39 为 > wèi; #4E3A 主 > zhÅ­; #4E3B 丼 > jÄ­ng; #4E3C 丽 > lì; #4E3D 举 > jÅ­; #4E3E 丿 > piÄ•; #4E3F ä¹€ > fú; #4E40 ä¹ > yí; #4E41 乂 > yì; #4E42 乃 > năi; #4E43 ä¹… > jÄ­u; #4E45 乆 > jÄ­u; #4E46 乇 > zhé; #4E47 么 > yÄo; #4E48 义 > yì; #4E49 之 > zhÄ«; #4E4B 乌 > wÅ«; #4E4C ä¹ > zhà; #4E4D 乎 > hÅ«; #4E4E ä¹ > fá; #4E4F ä¹ > lè; #4E50 乑 > zhòng; #4E51 ä¹’ > pÄ«ng; #4E52 乓 > pang; #4E53 ä¹” > qiáo; #4E54 乕 > hÅ­; #4E55 ä¹– > guÄi; #4E56 ä¹— > chéng; #4E57 乘 > chéng; #4E58 ä¹™ > yÄ­; #4E59 乚 > yÄ­n; #4E5A 乜 > miÄ“; #4E5C ä¹ > jÄ­u; #4E5D 乞 > qÄ­; #4E5E 也 > yÄ•; #4E5F ä¹  > xí; #4E60 乡 > xiÄng; #4E61 ä¹¢ > gài; #4E62 ä¹£ > dÄ«u; #4E63 书 > shÅ«; #4E66 乨 > shÄ­; #4E68 乩 > jÄ«; #4E69 乪 > nÄng; #4E6A 乫 > jiÄ; #4E6B ä¹­ > shí; #4E6D ä¹° > măi; #4E70 ä¹± > luàn; #4E71 ä¹³ > rÅ­; #4E73 ä¹´ > xué; #4E74 ä¹µ > yăn; #4E75 ä¹¶ > fÅ­; #4E76 ä¹· > shÄ; #4E77 乸 > nă; #4E78 ä¹¹ > gÄn; #4E79 ä¹¾ > gÄn; #4E7E 乿 > chì; #4E7F 亀 > gÅ«i; #4E80 äº > gÄn; #4E81 亂 > luàn; #4E82 亃 > lín; #4E83 亄 > yì; #4E84 亅 > jué; #4E85 了 > liăo; #4E86 予 > yú; #4E88 争 > zhÄ“ng; #4E89 亊 > shì; #4E8A 事 > shì; #4E8B 二 > èr; #4E8C äº > chù; #4E8D 于 > yú; #4E8E äº > yú; #4E8F äº > yú; #4E90 云 > yún; #4E91 互 > hù; #4E92 亓 > qí; #4E93 五 > wÅ­; #4E94 井 > jÄ­ng; #4E95 亖 > sì; #4E96 亗 > sùi; #4E97 亘 > gèn; #4E98 亙 > gèn; #4E99 亚 > yà; #4E9A 些 > xiÄ“; #4E9B 亜 > yà; #4E9C äº > qí; #4E9D 亞 > yà; #4E9E 亟 > jí; #4E9F 亠 > tóu; #4EA0 亡 > wáng; #4EA1 亢 > kàng; #4EA2 亣 > tà; #4EA3 交 > jiÄo; #4EA4 亥 > hài; #4EA5 亦 > yì; #4EA6 产 > chăn; #4EA7 亨 > hÄ“ng; #4EA8 亩 > mÅ­; #4EA9 享 > xiăng; #4EAB 京 > jÄ«ng; #4EAC 亭 > tíng; #4EAD 亮 > liàng; #4EAE 亯 > xiăng; #4EAF 亰 > jÄ«ng; #4EB0 亱 > yè; #4EB1 亲 > qÄ«n; #4EB2 亳 > bó; #4EB3 亴 > yòu; #4EB4 亵 > xiè; #4EB5 亶 > dăn; #4EB6 亷 > lián; #4EB7 亸 > dÅ­o; #4EB8 亹 > wÄ•i; #4EB9 人 > rén; #4EBA 亻 > rén; #4EBB 亼 > jí; #4EBC 亾 > wáng; #4EBE 亿 > yì; #4EBF 什 > shí; #4EC0 ä» > rén; #4EC1 仂 > lè; #4EC2 仃 > dÄ«ng; #4EC3 仄 > zè; #4EC4 ä»… > jÄ­n; #4EC5 仆 > pÅ«; #4EC6 仇 > chóu; #4EC7 仈 > bÄ; #4EC8 仉 > zhăng; #4EC9 今 > jÄ«n; #4ECA 介 > jiè; #4ECB 仌 > bÄ«ng; #4ECC ä» > réng; #4ECD 从 > cóng; #4ECE ä» > fó; #4ECF ä» > săn; #4ED0 仑 > lún; #4ED1 仓 > cÄng; #4ED3 ä»” > zÄ­; #4ED4 仕 > shì; #4ED5 ä»– > tÄ; #4ED6 ä»— > zhàng; #4ED7 付 > fù; #4ED8 ä»™ > xiÄn; #4ED9 仚 > xiÄn; #4EDA ä»› > tÅ«o; #4EDB 仜 > hóng; #4EDC ä» > tóng; #4EDD 仞 > rèn; #4EDE 仟 > qiÄn; #4EDF ä»  > gán; #4EE0 仡 > yì; #4EE1 仢 > dí; #4EE2 代 > dài; #4EE3 令 > lìng; #4EE4 以 > yÄ­; #4EE5 仦 > chào; #4EE6 ä»§ > cháng; #4EE7 仨 > sÄ; #4EE8 仪 > yí; #4EEA 仫 > mù; #4EEB 们 > men; #4EEC ä»­ > rèn; #4EED ä»® > jiă; #4EEE 仯 > chào; #4EEF ä»° > yăng; #4EF0 ä»± > qián; #4EF1 仲 > zhòng; #4EF2 仳 > pÄ­; #4EF3 ä»´ > wàn; #4EF4 仵 > wÅ­; #4EF5 ä»¶ > jiàn; #4EF6 ä»· > jiè; #4EF7 仸 > yăo; #4EF8 仹 > fÄ“ng; #4EF9 仺 > cÄng; #4EFA ä»» > rèn; #4EFB 仼 > wáng; #4EFC 份 > fèn; #4EFD 仾 > dÄ«; #4EFE 仿 > făng; #4EFF ä¼€ > zhÅng; #4F00 ä¼ > qÄ­; #4F01 伂 > pèi; #4F02 伃 > yú; #4F03 伄 > diào; #4F04 ä¼… > dùn; #4F05 伆 > wèn; #4F06 伇 > yì; #4F07 伈 > xÄ­n; #4F08 伉 > kàng; #4F09 伊 > yÄ«; #4F0A 伋 > jí; #4F0B 伌 > ài; #4F0C ä¼ > wÅ­; #4F0D 伎 > jì; #4F0E ä¼ > fú; #4F0F ä¼ > fá; #4F10 休 > xÄ«u; #4F11 ä¼’ > jìn; #4F12 伓 > bÄ“i; #4F13 ä¼” > dăn; #4F14 伕 > fÅ«; #4F15 ä¼– > tăng; #4F16 ä¼— > zhòng; #4F17 优 > yÅu; #4F18 ä¼™ > hÅ­o; #4F19 会 > hùi; #4F1A ä¼› > yÅ­; #4F1B 伜 > cùi; #4F1C ä¼ > chuán; #4F1D 伞 > săn; #4F1E 伟 > wÄ•i; #4F1F ä¼  > chuán; #4F20 伡 > chÄ“; #4F21 ä¼¢ > yá; #4F22 ä¼£ > xiàn; #4F23 伤 > shÄng; #4F24 ä¼¥ > chÄng; #4F25 伦 > lún; #4F26 ä¼§ > cÄng; #4F27 伨 > xùn; #4F28 伩 > xìn; #4F29 伪 > wÄ•i; #4F2A 伫 > zhù; #4F2B ä¼­ > xuán; #4F2D ä¼® > nú; #4F2E 伯 > bó; #4F2F ä¼° > gÅ«; #4F30 ä¼± > nÄ­; #4F31 ä¼² > nÄ­; #4F32 ä¼³ > xiè; #4F33 ä¼´ > bàn; #4F34 ä¼µ > xù; #4F35 ä¼¶ > líng; #4F36 ä¼· > zhòu; #4F37 伸 > shÄ“n; #4F38 ä¼¹ > qÅ«; #4F39 伺 > sì; #4F3A ä¼» > bÄ“ng; #4F3B ä¼¼ > sì; #4F3C ä¼½ > jiÄ; #4F3D ä¼¾ > pÄ«; #4F3E 伿 > yì; #4F3F ä½€ > sì; #4F40 ä½ > ăi; #4F41 佂 > zhÄ“ng; #4F42 佃 > diàn; #4F43 佄 > hán; #4F44 ä½… > mài; #4F45 但 > dàn; #4F46 佇 > zhù; #4F47 佈 > bù; #4F48 佉 > qÅ«; #4F49 佊 > bÄ­; #4F4A 佋 > shào; #4F4B 佌 > cÄ­; #4F4C ä½ > wèi; #4F4D 低 > dÄ«; #4F4E ä½ > zhù; #4F4F ä½ > zÅ­o; #4F50 佑 > yòu; #4F51 ä½’ > yÄng; #4F52 体 > tÄ­; #4F53 ä½” > zhàn; #4F54 何 > hé; #4F55 ä½– > bì; #4F56 ä½— > tÅ«o; #4F57 佘 > shé; #4F58 ä½™ > yú; #4F59 佚 > yì; #4F5A ä½› > fó; #4F5B 作 > zùo; #4F5C ä½ > kòu; #4F5D 佞 > nìng; #4F5E 佟 > tóng; #4F5F ä½  > nÄ­; #4F60 佡 > xuÄn; #4F61 ä½¢ > qú; #4F62 ä½£ > yòng; #4F63 佤 > wă; #4F64 ä½¥ > qiÄn; #4F65 ä½§ > kă; #4F67 佩 > pèi; #4F69 佪 > huái; #4F6A 佫 > hè; #4F6B 佬 > lăo; #4F6C ä½­ > xiáng; #4F6D ä½® > gé; #4F6E 佯 > yáng; #4F6F ä½° > băi; #4F70 ä½± > fă; #4F71 ä½² > míng; #4F72 ä½³ > jia; #4F73 ä½´ > èr; #4F74 ä½µ > bìng; #4F75 ä½¶ > jí; #4F76 ä½· > hÄ•n; #4F77 佸 > húo; #4F78 ä½¹ > gÅ­i; #4F79 佺 > quán; #4F7A ä½» > tiÄo; #4F7B ä½¼ > jiăo; #4F7C ä½½ > cì; #4F7D ä½¾ > yì; #4F7E 使 > shÄ­; #4F7F ä¾€ > xíng; #4F80 ä¾ > shÄ“n; #4F81 侂 > tÅ«o; #4F82 侃 > kăn; #4F83 侄 > zhí; #4F84 ä¾… > gÄi; #4F85 來 > lái; #4F86 侇 > yí; #4F87 侈 > chÄ­; #4F88 侉 > kuÄ; #4F89 侊 > guÄng; #4F8A 例 > lì; #4F8B 侌 > yÄ«n; #4F8C ä¾ > shì; #4F8D 侎 > mÄ­; #4F8E ä¾ > zhÅ«; #4F8F ä¾ > xù; #4F90 侑 > yòu; #4F91 ä¾’ > Än; #4F92 侓 > lù; #4F93 ä¾” > móu; #4F94 侕 > ér; #4F95 ä¾– > lún; #4F96 ä¾— > tóng; #4F97 侘 > chà; #4F98 ä¾™ > chì; #4F99 侚 > xùn; #4F9A ä¾› > gÅng; #4F9B 侜 > zhÅu; #4F9C ä¾ > yÄ«; #4F9D 侞 > rÅ­; #4F9E 侟 > jiàn; #4F9F ä¾  > xiá; #4FA0 価 > jià; #4FA1 ä¾¢ > zài; #4FA2 ä¾£ > lÇš; #4FA3 ä¾¥ > jiăo; #4FA5 侦 > zhÄ“n; #4FA6 ä¾§ > cè; #4FA7 侨 > qiáo; #4FA8 侩 > kuài; #4FA9 侪 > chái; #4FAA 侫 > nìng; #4FAB 侬 > nóng; #4FAC ä¾­ > jÄ­n; #4FAD ä¾® > wÅ­; #4FAE 侯 > hóu; #4FAF ä¾° > jÄ­ong; #4FB0 ä¾± > chÄ•ng; #4FB1 ä¾² > zhèn; #4FB2 ä¾³ > zùo; #4FB3 ä¾´ > chÅu; #4FB4 ä¾µ > qÄ«n; #4FB5 ä¾¶ > lÇš; #4FB6 ä¾· > jú; #4FB7 侸 > shù; #4FB8 ä¾¹ > tÄ­ng; #4FB9 侺 > shèn; #4FBA ä¾» > tÅ«o; #4FBB ä¾¼ > bó; #4FBC ä¾½ > nán; #4FBD ä¾¾ > hÄo; #4FBE 便 > biàn; #4FBF ä¿€ > tÅ­i; #4FC0 ä¿ > yÅ­; #4FC1 ä¿‚ > xì; #4FC2 促 > cù; #4FC3 ä¿„ > é; #4FC4 ä¿… > qíu; #4FC5 俆 > xú; #4FC6 俇 > kuăng; #4FC7 俈 > kù; #4FC8 俉 > wù; #4FC9 俊 > jùn; #4FCA ä¿‹ > yì; #4FCB 俌 > fÅ­; #4FCC ä¿ > láng; #4FCD 俎 > zÅ­; #4FCE ä¿ > qiào; #4FCF ä¿ > lì; #4FD0 ä¿‘ > yÅng; #4FD1 ä¿’ > hùn; #4FD2 ä¿“ > jìng; #4FD3 ä¿” > xiàn; #4FD4 ä¿• > sàn; #4FD5 ä¿– > păi; #4FD6 ä¿— > sú; #4FD7 俘 > fú; #4FD8 ä¿™ > xÄ«; #4FD9 俚 > lÄ­; #4FDA ä¿› > fÅ­; #4FDB 俜 > pÄ«ng; #4FDC ä¿ > băo; #4FDD 俞 > yú; #4FDE 俟 > sì; #4FDF ä¿  > xiá; #4FE0 ä¿¡ > xìn; #4FE1 ä¿¢ > xÄ«u; #4FE2 ä¿£ > yÅ­; #4FE3 俤 > tì; #4FE4 ä¿¥ > chÄ“; #4FE5 俦 > chóu; #4FE6 俨 > yăn; #4FE8 ä¿© > liă; #4FE9 俪 > lì; #4FEA ä¿« > lái; #4FEB ä¿­ > jiăn; #4FED ä¿® > xÄ«u; #4FEE 俯 > fÅ­; #4FEF ä¿° > hè; #4FF0 俱 > jù; #4FF1 俲 > xiào; #4FF2 俳 > pái; #4FF3 ä¿´ > jiàn; #4FF4 俵 > biào; #4FF5 ä¿¶ > chù; #4FF6 ä¿· > fèi; #4FF7 俸 > fèng; #4FF8 俹 > yà; #4FF9 俺 > ăn; #4FFA ä¿» > bèi; #4FFB 俼 > yù; #4FFC 俽 > xÄ«n; #4FFD 俾 > bÄ­; #4FFE ä¿¿ > jiàn; #4FFF 倀 > chÄng; #5000 å€ > chí; #5001 倂 > bìng; #5002 倃 > zán; #5003 倄 > yáo; #5004 倅 > cùi; #5005 倆 > liă; #5006 倇 > wăn; #5007 倈 > lái; #5008 倉 > cÄng; #5009 倊 > zòng; #500A 個 > gè; #500B 倌 > guÄn; #500C å€ > bèi; #500D 倎 > tiÄn; #500E å€ > shÅ«; #500F å€ > shÅ«; #5010 們 > men; #5011 倒 > dăo; #5012 倓 > tán; #5013 倔 > jué; #5014 倕 > chúi; #5015 倖 > xìng; #5016 倗 > péng; #5017 倘 > tăng; #5018 候 > hòu; #5019 倚 > yÄ­; #501A 倛 > qÄ«; #501B 倜 > tì; #501C å€ > gàn; #501D 倞 > jìng; #501E 借 > jiè; #501F 倠 > sÅ«i; #5020 倡 > chàng; #5021 倢 > jié; #5022 倣 > făng; #5023 値 > zhí; #5024 倥 > kÅng; #5025 倦 > juàn; #5026 倧 > zÅng; #5027 倨 > jù; #5028 倩 > qiàn; #5029 倪 > ní; #502A 倫 > lún; #502B 倬 > zhÅ«o; #502C 倭 > wÄ“i; #502D 倮 > lÅ­o; #502E 倯 > sÅng; #502F 倰 > léng; #5030 倱 > hùn; #5031 倲 > dÅng; #5032 倳 > zì; #5033 倴 > bèn; #5034 倵 > wÅ­; #5035 倶 > jù; #5036 倷 > nài; #5037 倸 > căi; #5038 倹 > jiăn; #5039 债 > zhài; #503A 倻 > yÄ“; #503B 值 > zhí; #503C 倽 > shà; #503D 倾 > qÄ«ng; #503E å€ > yÄ«ng; #5040 å > chÄ“ng; #5041 å‚ > jiÄn; #5042 åƒ > yăn; #5043 å„ > nuàn; #5044 å… > zhòng; #5045 å† > chÅ­n; #5046 å‡ > jiă; #5047 åˆ > jié; #5048 å‰ > wÄ•i; #5049 åŠ > yÅ­; #504A å‹ > bÄ­ng; #504B åŒ > rùo; #504C å > tí; #504D åŽ > wÄ“i; #504E å > piÄn; #504F å > yàn; #5050 å‘ > fÄ“ng; #5051 å’ > tăng; #5052 å“ > wò; #5053 å” > è; #5054 å• > xié; #5055 å– > chÄ•; #5056 å— > shÄ•ng; #5057 å˜ > kăn; #5058 å™ > dì; #5059 åš > zùo; #505A å› > chÄ; #505B åœ > tíng; #505C å > bèi; #505D åž > yè; #505E åŸ > huáng; #505F å  > yăo; #5060 å¡ > zhàn; #5061 å¢ > chÅu; #5062 å£ > yÄn; #5063 å¤ > yÅu; #5064 å¥ > jiàn; #5065 å¦ > xÅ«; #5066 å§ > zhÄ; #5067 å¨ > cÄ«; #5068 å© > fù; #5069 åª > bÄ«; #506A å« > zhì; #506B å¬ > zÅng; #506C å­ > miăn; #506D å® > jí; #506E å¯ > yÄ­; #506F å° > xiè; #5070 å± > xún; #5071 å² > sÄ«; #5072 å³ > duÄn; #5073 å´ > cè; #5074 åµ > zhÄ“n; #5075 å¶ > Åu; #5076 å· > tÅu; #5077 å¸ > tÅu; #5078 å¹ > bèi; #5079 åº > zá; #507A å» > lÇš; #507B å¼ > jié; #507C å½ > wÄ•i; #507D å¾ > fèn; #507E å¿ > cháng; #507F å‚€ > gÅ«i; #5080 å‚ > sÅu; #5081 å‚‚ > zhì; #5082 傃 > sù; #5083 å‚„ > xiÄ; #5084 å‚… > fù; #5085 傆 > yuàn; #5086 傇 > rÅng; #5087 傈 > lì; #5088 傉 > rù; #5089 傊 > yÅ­n; #508A å‚‹ > gòu; #508B 傌 > mà; #508C å‚ > bàng; #508D 傎 > diÄn; #508E å‚ > táng; #508F å‚ > hào; #5090 å‚‘ > jié; #5091 å‚’ > xÄ«; #5092 å‚“ > shàn; #5093 å‚” > qiàn; #5094 å‚• > jué; #5095 å‚– > cÄng; #5096 å‚— > chù; #5097 傘 > săn; #5098 å‚™ > bèi; #5099 傚 > xiào; #509A å‚› > yÅng; #509B 傜 > yáo; #509C å‚ > tàn; #509D 傞 > sÅ«o; #509E 傟 > yăng; #509F å‚  > fÄ; #50A0 å‚¡ > bìng; #50A1 å‚¢ > jiÄ; #50A2 å‚£ > dăi; #50A3 傤 > zài; #50A4 å‚¥ > tăng; #50A5 å‚§ > bìn; #50A7 储 > chÅ­; #50A8 å‚© > núo; #50A9 傪 > cÄn; #50AA å‚« > lÄ•i; #50AB 催 > cÅ«i; #50AC å‚­ > yÅng; #50AD å‚® > zÄo; #50AE 傯 > zÅng; #50AF å‚° > péng; #50B0 傱 > sÅng; #50B1 傲 > ào; #50B2 傳 > chuán; #50B3 å‚´ > yÅ­; #50B4 債 > zhài; #50B5 å‚¶ > còu; #50B6 å‚· > shÄng; #50B7 傸 > qiăng; #50B8 傹 > jìng; #50B9 傺 > chì; #50BA å‚» > shă; #50BB 傼 > hàn; #50BC 傽 > zhÄng; #50BD 傾 > qÄ«ng; #50BE å‚¿ > yàn; #50BF 僀 > dì; #50C0 åƒ > xÄ«; #50C1 僂 > lÇš; #50C2 僃 > bèi; #50C3 僄 > piào; #50C4 僅 > jÄ­n; #50C5 僆 > lián; #50C6 僇 > lù; #50C7 僈 > màn; #50C8 僉 > qiÄn; #50C9 僊 > xiÄn; #50CA 僋 > tàn; #50CB 僌 > yíng; #50CC åƒ > dòng; #50CD 僎 > zhuàn; #50CE åƒ > xiàng; #50CF åƒ > shàn; #50D0 僑 > qiáo; #50D1 僒 > jÄ­ong; #50D2 僓 > tÅ­i; #50D3 僔 > zÅ­n; #50D4 僕 > pú; #50D5 僖 > xÄ«; #50D6 僗 > láo; #50D7 僘 > chăng; #50D8 僙 > guÄng; #50D9 僚 > liáo; #50DA 僛 > qÄ«; #50DB 僜 > dèng; #50DC åƒ > chán; #50DD 僞 > wÄ•i; #50DE 僟 > jÄ«; #50DF 僠 > fÄn; #50E0 僡 > hùi; #50E1 僢 > chuăn; #50E2 僣 > jiàn; #50E3 僤 > dàn; #50E4 僥 > jiăo; #50E5 僦 > jìu; #50E6 僧 > sÄ“ng; #50E7 僨 > fèn; #50E8 僩 > xiàn; #50E9 僪 > jué; #50EA 僫 > è; #50EB 僬 > jiÄo; #50EC 僭 > jiàn; #50ED 僮 > tóng; #50EE 僯 > lÄ­n; #50EF 僰 > bó; #50F0 僱 > gù; #50F1 僳 > sù; #50F3 僴 > xiàn; #50F4 僵 > jiÄng; #50F5 僶 > mÄ­n; #50F6 僷 > yè; #50F7 僸 > jìn; #50F8 價 > jià; #50F9 僺 > qiào; #50FA 僻 > pì; #50FB 僼 > fÄ“ng; #50FC 僽 > zhòu; #50FD 僾 > ài; #50FE 僿 > sài; #50FF å„€ > yí; #5100 å„ > jùn; #5101 å„‚ > nóng; #5102 儃 > chán; #5103 å„„ > yì; #5104 å„… > dÄng; #5105 儆 > jÄ­ng; #5106 儇 > xuÄn; #5107 儈 > kuài; #5108 儉 > jiăn; #5109 儊 > chù; #510A å„‹ > dÄn; #510B 儌 > jiăo; #510C å„ > shă; #510D 儎 > zài; #510E å„ > bìn; #5110 å„‘ > àn; #5111 å„’ > rú; #5112 å„“ > tái; #5113 å„” > chóu; #5114 å„• > chái; #5115 å„– > lán; #5116 å„— > nÄ­; #5117 儘 > jÄ­n; #5118 å„™ > qiàn; #5119 儚 > méng; #511A å„› > wÅ­; #511B 儜 > níng; #511C å„ > qíong; #511D 儞 > nÄ­; #511E 償 > cháng; #511F å„  > liè; #5120 å„¡ > lÄ•i; #5121 å„¢ > lÇš; #5122 å„£ > kuàng; #5123 儤 > bào; #5124 å„¥ > dú; #5125 儦 > biÄo; #5126 å„§ > zăn; #5127 儨 > zhí; #5128 å„© > sì; #5129 優 > yÅu; #512A å„« > háo; #512B 儬 > chèn; #512C å„­ > chèn; #512D å„® > lì; #512E 儯 > téng; #512F å„° > wÄ•i; #5130 儱 > lÅng; #5131 儲 > chÅ­; #5132 儳 > chàn; #5133 å„´ > ráng; #5134 儵 > shÅ«; #5135 å„¶ > hùi; #5136 å„· > lì; #5137 儸 > lúo; #5138 儹 > zăn; #5139 儺 > núo; #513A å„» > tăng; #513B 儼 > yăn; #513C 儽 > lÄ•i; #513D 儾 > nàng; #513E å„¿ > ér; #513F å…€ > wù; #5140 å… > yÅ­n; #5141 å…‚ > zÄn; #5142 å…ƒ > yuán; #5143 å…„ > xÄ«ong; #5144 å…… > chÅng; #5145 å…† > zhào; #5146 å…‡ > xÄ«ong; #5147 å…ˆ > xiÄn; #5148 å…‰ > guÄng; #5149 å…Š > dùi; #514A å…‹ > kè; #514B å…Œ > dùi; #514C å… > miăn; #514D å…Ž > tù; #514E å… > cháng; #514F å… > ér; #5150 å…‘ > dùi; #5151 å…’ > ér; #5152 å…“ > xÄ«n; #5153 å…” > tù; #5154 å…• > sì; #5155 å…– > yăn; #5156 å…— > yăn; #5157 å…˜ > shÄ­; #5158 å…™ > shí' 'kè; #5159 å…š > dăng; #515A å…› > qiÄn; #515B å…œ > dÅu; #515C å… > fÄ“n; #515D å…ž > máo; #515E å…Ÿ > shÄ“n; #515F å…  > dÅu; #5160 å…¡ > băi' 'kè; #5161 å…¢ > jÄ«ng; #5162 å…£ > lÄ­; #5163 å…¤ > huáng; #5164 å…¥ > rù; #5165 å…¦ > wáng; #5166 å…§ > nèi; #5167 å…¨ > quán; #5168 å…© > liăng; #5169 å…ª > yú; #516A å…« > bÄ; #516B å…¬ > gÅng; #516C å…­ > lìu; #516D å…® > xÄ«; #516E å…° > lán; #5170 å…± > gòng; #5171 å…² > tiÄn; #5172 å…³ > guÄn; #5173 å…´ > xÄ«ng; #5174 å…µ > bÄ«ng; #5175 å…¶ > qí; #5176 å…· > jù; #5177 å…¸ > diăn; #5178 å…¹ > zÄ«; #5179 å…» > yăng; #517B å…¼ > jiÄn; #517C å…½ > shòu; #517D å…¾ > jì; #517E å…¿ > yì; #517F 冀 > jì; #5180 å† > chăn; #5181 冂 > jÄ«ong; #5182 冃 > mao; #5183 冄 > răn; #5184 内 > nèi; #5185 円 > yuan; #5186 冇 > măo; #5187 冈 > gÄng; #5188 冉 > răn; #5189 冊 > cè; #518A 冋 > jÄ«ong; #518B 册 > cè; #518C å† > zài; #518D 冎 > guă; #518E å† > jÄ­ong; #518F å† > mào; #5190 冑 > zhòu; #5191 冒 > mòu; #5192 冓 > gòu; #5193 冔 > xÅ­; #5194 冕 > miăn; #5195 冖 > mì; #5196 冗 > rÅng; #5197 冘 > yín; #5198 写 > xiÄ•; #5199 冚 > kăn; #519A 军 > jÅ«n; #519B 农 > nóng; #519C å† > yí; #519D 冞 > mí; #519E 冟 > shì; #519F 冠 > guÄn; #51A0 冡 > méng; #51A1 冢 > zhÅng; #51A2 冣 > jù; #51A3 冤 > yuÄn; #51A4 冥 > míng; #51A5 冦 > kòu; #51A6 冨 > fù; #51A8 冩 > xiÄ•; #51A9 冪 > mì; #51AA 冫 > bÄ«ng; #51AB 冬 > dÅng; #51AC 冭 > tái; #51AD 冮 > gÄng; #51AE 冯 > féng; #51AF 冰 > bÄ«ng; #51B0 冱 > hù; #51B1 冲 > chÅng; #51B2 决 > jué; #51B3 冴 > hù; #51B4 况 > kuàng; #51B5 冶 > yÄ•; #51B6 冷 > lÄ•ng; #51B7 冸 > pàn; #51B8 冹 > fú; #51B9 冺 > mÄ­n; #51BA 冻 > dòng; #51BB 冼 > xiăn; #51BC 冽 > liè; #51BD 冾 > xiá; #51BE 冿 > jiÄn; #51BF 净 > jìng; #51C0 å‡ > shù; #51C1 凂 > mÄ•i; #51C2 凃 > tú; #51C3 凄 > qÄ«; #51C4 凅 > gù; #51C5 准 > zhÅ­n; #51C6 凇 > sòng; #51C7 凈 > jìng; #51C8 凉 > liáng; #51C9 凊 > qìng; #51CA 凋 > diÄo; #51CB 凌 > líng; #51CC å‡ > dòng; #51CD 凎 > gàn; #51CE å‡ > jiăn; #51CF å‡ > yÄ«n; #51D0 凑 > còu; #51D1 凒 > yí; #51D2 凓 > lì; #51D3 凔 > cÄng; #51D4 凕 > mÄ­ng; #51D5 凖 > zhuÄ•n; #51D6 凗 > cúi; #51D7 凘 > sÄ«; #51D8 凙 > dúo; #51D9 凚 > jìn; #51DA 凛 > lÄ­n; #51DB 凜 > lÄ­n; #51DC å‡ > níng; #51DD 凞 > xÄ«; #51DE 凟 > dú; #51DF 几 > jÄ«; #51E0 凡 > fán; #51E1 凢 > fán; #51E2 凣 > fán; #51E3 凤 > fèng; #51E4 凥 > jÅ«; #51E5 処 > chÅ­; #51E6 凨 > fÄ“ng; #51E8 凫 > fú; #51EB 凬 > fÄ“ng; #51EC 凭 > píng; #51ED 凮 > fÄ“ng; #51EE 凯 > kăi; #51EF 凰 > huáng; #51F0 凱 > kăi; #51F1 凲 > gÄn; #51F2 凳 > dèng; #51F3 凴 > píng; #51F4 凵 > qÅ«; #51F5 凶 > xÄ«ong; #51F6 凷 > kuài; #51F7 凸 > tÅ«; #51F8 凹 > Äo; #51F9 出 > chÅ«; #51FA 击 > jí; #51FB 凼 > dàng; #51FC 函 > hán; #51FD 凾 > hán; #51FE 凿 > záo; #51FF 刀 > dÄo; #5200 åˆ > diÄo; #5201 刂 > dÄo; #5202 刃 > rèn; #5203 刄 > rèn; #5204 刅 > chuÄng; #5205 分 > fÄ“n; #5206 切 > qiÄ“; #5207 刈 > yì; #5208 刉 > jÄ«; #5209 刊 > kÄn; #520A 刋 > qiàn; #520B 刌 > cÅ­n; #520C åˆ > chú; #520D 刎 > wÄ•n; #520E åˆ > jÄ«; #520F åˆ > dăn; #5210 刑 > xíng; #5211 划 > huá; #5212 刓 > wán; #5213 刔 > jué; #5214 刕 > lí; #5215 刖 > yuè; #5216 列 > liè; #5217 刘 > líu; #5218 则 > zé; #5219 刚 > gÄng; #521A 创 > chuàng; #521B 刜 > fú; #521C åˆ > chÅ«; #521D 刞 > qù; #521E 刟 > jÅ«; #521F 删 > shÄn; #5220 刡 > mÄ­n; #5221 刢 > líng; #5222 刣 > zhÅng; #5223 判 > pàn; #5224 別 > bié; #5225 刦 > jié; #5226 刧 > jié; #5227 刨 > bào; #5228 利 > lì; #5229 刪 > shÄn; #522A 别 > bié; #522B 刬 > chăn; #522C 刭 > jÄ­ng; #522D 刮 > guÄ; #522E 刯 > gÄ“n; #522F 到 > dào; #5230 刱 > chuàng; #5231 刲 > kÅ«i; #5232 刳 > kÅ«; #5233 刴 > dùo; #5234 刵 > èr; #5235 制 > zhì; #5236 刷 > shuÄ; #5237 券 > quàn; #5238 刹 > chà; #5239 刺 > cì; #523A 刻 > kè; #523B 刼 > jié; #523C 刽 > gùi; #523D 刾 > cì; #523E 刿 > gùi; #523F 剀 > kăi; #5240 å‰ > dùo; #5241 剂 > jì; #5242 剃 > tì; #5243 剄 > jÄ­ng; #5244 剅 > lóu; #5245 剆 > gÄ“n; #5246 則 > zé; #5247 剈 > yuÄn; #5248 剉 > cùo; #5249 削 > xuÄ“; #524A 剋 > kè; #524B 剌 > là; #524C å‰ > qián; #524D 剎 > chà; #524E å‰ > chuàng; #524F å‰ > guă; #5250 剑 > jiàn; #5251 剒 > cùo; #5252 剓 > lí; #5253 剔 > tÄ«; #5254 剕 > fèi; #5255 剖 > pÅu; #5256 剗 > chăn; #5257 剘 > qí; #5258 剙 > chuàng; #5259 剚 > zì; #525A 剛 > gÄng; #525B 剜 > wÄn; #525C å‰ > bÅ; #525D 剞 > jÄ«; #525E 剟 > dÅ«o; #525F 剠 > qíng; #5260 剡 > yăn; #5261 剢 > zhúo; #5262 剣 > jiàn; #5263 剤 > jì; #5264 剥 > bÅ; #5265 剦 > yÄn; #5266 剧 > jù; #5267 剨 > hùo; #5268 剩 > shèng; #5269 剪 > jiăn; #526A 剫 > dúo; #526B 剬 > duÄn; #526C 剭 > wÅ«; #526D 剮 > guă; #526E 副 > fù; #526F 剰 > shèng; #5270 剱 > jiàn; #5271 割 > gÄ“; #5272 剳 > zhÄ; #5273 剴 > kăi; #5274 創 > chuàng; #5275 剶 > juÄn; #5276 剷 > chăn; #5277 剸 > tuán; #5278 剹 > lù; #5279 剺 > lí; #527A 剻 > fóu; #527B 剼 > shÄn; #527C 剽 > piào; #527D 剾 > kÅu; #527E 剿 > jiăo; #527F 劀 > guÄ; #5280 åŠ > qiÄo; #5281 劂 > jué; #5282 劃 > huà; #5283 劄 > zhá; #5284 劅 > zhùo; #5285 劆 > lián; #5286 劇 > jù; #5287 劈 > pÄ«; #5288 劉 > líu; #5289 劊 > gùi; #528A 劋 > jiăo; #528B 劌 > gùi; #528C åŠ > jiàn; #528D 劎 > jiàn; #528E åŠ > tÄng; #528F åŠ > hÅ«o; #5290 劑 > jì; #5291 劒 > jiàn; #5292 劓 > yì; #5293 劔 > jiàn; #5294 劕 > zhí; #5295 劖 > chán; #5296 劗 > cuán; #5297 劘 > mó; #5298 劙 > lí; #5299 劚 > zhú; #529A 力 > lì; #529B 劜 > yÄ; #529C åŠ > quàn; #529D 办 > bàn; #529E 功 > gÅng; #529F 加 > jiÄ; #52A0 务 > wù; #52A1 劢 > mài; #52A2 劣 > liè; #52A3 劤 > jìn; #52A4 劥 > kÄ“ng; #52A5 劦 > xié; #52A6 劧 > zhÄ­; #52A7 动 > dòng; #52A8 助 > zhù; #52A9 努 > nÅ­; #52AA 劫 > jié; #52AB 劬 > qú; #52AC 劭 > shào; #52AD 劮 > yì; #52AE 劯 > zhÅ«; #52AF 劰 > miăo; #52B0 励 > lì; #52B1 劲 > jìng; #52B2 劳 > láo; #52B3 労 > láo; #52B4 劵 > juàn; #52B5 劶 > kÅu; #52B6 劷 > yáng; #52B7 劸 > wÄ; #52B8 効 > xiào; #52B9 劺 > móu; #52BA 劻 > kuÄng; #52BB 劼 > jié; #52BC 劽 > liè; #52BD 劾 > hé; #52BE 势 > shì; #52BF å‹€ > kè; #52C0 å‹ > jìng; #52C1 å‹‚ > háo; #52C2 勃 > bó; #52C3 å‹„ > mÄ­n; #52C4 å‹… > chì; #52C5 勆 > láng; #52C6 勇 > yÅng; #52C7 勈 > yÅng; #52C8 勉 > miăn; #52C9 勊 > kè; #52CA å‹‹ > xÅ«n; #52CB 勌 > juàn; #52CC å‹ > qíng; #52CD 勎 > lù; #52CE å‹ > pÅu; #52CF å‹ > mÄ•ng; #52D0 å‹‘ > lài; #52D1 å‹’ > lè; #52D2 å‹“ > kài; #52D3 å‹” > miăn; #52D4 å‹• > dòng; #52D5 å‹– > xù; #52D6 å‹— > xù; #52D7 勘 > kÄn; #52D8 å‹™ > wù; #52D9 勚 > yì; #52DA å‹› > xÅ«n; #52DB 勜 > wÄ•ng; #52DC å‹ > shèng; #52DD 勞 > láo; #52DE 募 > mù; #52DF å‹  > lù; #52E0 å‹¡ > piào; #52E1 å‹¢ > shì; #52E2 å‹£ > jÄ«; #52E3 勤 > qín; #52E4 å‹¥ > qiăng; #52E5 勦 > jiăo; #52E6 å‹§ > quàn; #52E7 勨 > yăng; #52E8 å‹© > yì; #52E9 勪 > jué; #52EA å‹« > fán; #52EB 勬 > juàn; #52EC å‹­ > tóng; #52ED å‹® > jù; #52EE 勯 > dÄn; #52EF å‹° > xié; #52F0 勱 > mài; #52F1 勲 > xÅ«n; #52F2 勳 > xÅ«n; #52F3 å‹´ > lÇœ; #52F4 勵 > lì; #52F5 å‹¶ > chè; #52F6 å‹· > ráng; #52F7 勸 > quàn; #52F8 勹 > bÄo; #52F9 勺 > sháo; #52FA å‹» > yún; #52FB 勼 > jÄ«u; #52FC 勽 > bào; #52FD 勾 > gÅu; #52FE å‹¿ > wù; #52FF 匀 > yún; #5300 匃 > gài; #5303 匄 > gài; #5304 包 > bÄo; #5305 匆 > cÅng; #5306 匈 > xÄ«ong; #5308 匉 > pÄ“ng; #5309 匊 > jú; #530A 匋 > táo; #530B 匌 > gé; #530C åŒ > pú; #530D 匎 > àn; #530E åŒ > páo; #530F åŒ > fú; #5310 匑 > gÅng; #5311 匒 > dá; #5312 匓 > jìu; #5313 匔 > qÄ«ong; #5314 匕 > bÄ­; #5315 化 > huà; #5316 北 > bÄ•i; #5317 匘 > năo; #5318 匙 > chí; #5319 匚 > fÄng; #531A 匛 > jìu; #531B 匜 > yí; #531C åŒ > zÄ; #531D 匞 > jiàng; #531E 匟 > kàng; #531F 匠 > jiàng; #5320 匡 > kuÄng; #5321 匢 > hÅ«; #5322 匣 > xiá; #5323 匤 > qÅ«; #5324 匥 > biàn; #5325 匦 > gÅ­i; #5326 匧 > qiè; #5327 匨 > zÄng; #5328 匩 > kuÄng; #5329 匪 > fÄ•i; #532A 匫 > hÅ«; #532B 匬 > tóu; #532C 匭 > gÅ­i; #532D 匮 > gùi; #532E 匯 > hùi; #532F 匰 > dÄn; #5330 匱 > gùi; #5331 匲 > lián; #5332 匳 > lián; #5333 匴 > suăn; #5334 匵 > dú; #5335 匶 > jìu; #5336 匷 > qú; #5337 匸 > xÄ­; #5338 匹 > pÄ­; #5339 区 > qÅ«; #533A 医 > yì; #533B 匼 > qià; #533C 匽 > yăn; #533D 匾 > biăn; #533E 匿 > nì; #533F å€ > qÅ«; #5340 å > shí; #5341 å‚ > xìn; #5342 åƒ > qiÄn; #5343 å„ > niàn; #5344 å… > sà; #5345 å† > zú; #5346 å‡ > shÄ“ng; #5347 åˆ > wÅ­; #5348 å‰ > hùi; #5349 åŠ > bàn; #534A å‹ > shì; #534B åŒ > xì; #534C å > wàn; #534D åŽ > huá; #534E å > xié; #534F å > wàn; #5350 å‘ > bÄ“i; #5351 å’ > zú; #5352 å“ > zhÅ«o; #5353 å” > xié; #5354 å• > dÄn; #5355 å– > mài; #5356 å— > nán; #5357 å˜ > dÄn; #5358 å™ > jí; #5359 åš > bó; #535A å› > shuài; #535B åœ > bÅ­; #535C å > kuàng; #535D åž > biàn; #535E åŸ > bÅ­; #535F å  > zhÄn; #5360 å¡ > qiă; #5361 å¢ > lú; #5362 å£ > yÅu; #5363 å¤ > lÅ­; #5364 å¥ > xÄ«; #5365 å¦ > guà; #5366 å§ > wò; #5367 å¨ > xiè; #5368 å© > jié; #5369 åª > jié; #536A å« > wèi; #536B å¬ > áng; #536C å­ > qíong; #536D å® > zhÄ«; #536E å¯ > măo; #536F å° > yìn; #5370 å± > wÄ“i; #5371 å² > shào; #5372 å³ > jí; #5373 å´ > què; #5374 åµ > luăn; #5375 å¶ > shì; #5376 å· > juàn; #5377 å¸ > xiè; #5378 å¹ > xù; #5379 åº > jÄ­n; #537A å» > què; #537B å¼ > wù; #537C å½ > jí; #537D å¾ > è; #537E å¿ > qÄ«ng; #537F 厀 > xÄ«; #5380 厂 > hàn; #5382 厃 > zhÄn; #5383 厄 > è; #5384 厅 > tÄ«ng; #5385 历 > lì; #5386 厇 > zhé; #5387 厈 > hăn; #5388 厉 > lì; #5389 厊 > yă; #538A 压 > yÄ; #538B 厌 > yàn; #538C åŽ > shè; #538D 厎 > zhÄ­; #538E åŽ > zhă; #538F åŽ > páng; #5390 厒 > hé; #5392 厓 > yá; #5393 厔 > zhì; #5394 厕 > cè; #5395 厖 > páng; #5396 厗 > tí; #5397 厘 > lí; #5398 厙 > shè; #5399 厚 > hòu; #539A 厛 > tÄ«ng; #539B 厜 > zÅ«i; #539C åŽ > cùo; #539D 厞 > fèi; #539E 原 > yuán; #539F 厠 > cè; #53A0 厡 > yuán; #53A1 厢 > xiÄng; #53A2 厣 > yăn; #53A3 厤 > lì; #53A4 厥 > jué; #53A5 厦 > shà; #53A6 厧 > diÄn; #53A7 厨 > chú; #53A8 厩 > jìu; #53A9 厪 > qín; #53AA 厫 > áo; #53AB 厬 > gÅ­i; #53AC 厭 > yàn; #53AD 厮 > sÄ«; #53AE 厯 > lì; #53AF 厰 > chăng; #53B0 厱 > lán; #53B1 厲 > lì; #53B2 厳 > yán; #53B3 厴 > yăn; #53B4 厵 > yuán; #53B5 厶 > sÄ«; #53B6 厷 > gÅng; #53B7 厸 > lín; #53B8 厹 > qíu; #53B9 厺 > qù; #53BA 去 > qù; #53BB 厽 > lÄ•i; #53BD 厾 > dÅ«; #53BE 县 > xiàn; #53BF å€ > zhuÄn; #53C0 å > sÄn; #53C1 å‚ > cÄn; #53C2 åƒ > cÄn; #53C3 å„ > cÄn; #53C4 å… > cÄn; #53C5 å† > ài; #53C6 å‡ > dài; #53C7 åˆ > yòu; #53C8 å‰ > cha; #53C9 åŠ > jí; #53CA å‹ > yÅu; #53CB åŒ > shuÄng; #53CC å > făn; #53CD åŽ > shÅu; #53CE å > guài; #53CF å > bá; #53D0 å‘ > fÄ; #53D1 å’ > rùo; #53D2 å“ > shì; #53D3 å” > shÅ«; #53D4 å• > zhúo; #53D5 å– > qÅ«; #53D6 å— > shòu; #53D7 å˜ > biàn; #53D8 å™ > xù; #53D9 åš > jiă; #53DA å› > pàn; #53DB åœ > sÅu; #53DC å > gào; #53DD åž > wèi; #53DE åŸ > sÅu; #53DF å  > dié; #53E0 å¡ > rùi; #53E1 å¢ > cóng; #53E2 å£ > kÅu; #53E3 å¤ > gÅ­; #53E4 å¥ > jù; #53E5 å¦ > lìng; #53E6 å§ > guă; #53E7 å¨ > tÄo; #53E8 å© > kòu; #53E9 åª > zhÄ­; #53EA å« > jiào; #53EB å¬ > zhào; #53EC å­ > bÄ; #53ED å® > dÄ«ng; #53EE å¯ > kÄ•; #53EF å° > tái; #53F0 å± > chì; #53F1 å² > shÄ­; #53F2 å³ > yòu; #53F3 å´ > qíu; #53F4 åµ > pÅ; #53F5 å¶ > xié; #53F6 å· > hào; #53F7 å¸ > sÄ«; #53F8 å¹ > tàn; #53F9 åº > chÄ­; #53FA å» > lè; #53FB å¼ > diÄo; #53FC å½ > jÄ«; #53FD å¿ > hÅng; #53FF å€ > miÄ“; #5400 å > xÅ«; #5401 å‚ > máng; #5402 åƒ > chÄ«; #5403 å„ > gè; #5404 å… > xuÄn; #5405 å† > yÄo; #5406 å‡ > zÄ­; #5407 åˆ > hé; #5408 å‰ > jí; #5409 åŠ > diào; #540A å‹ > cùn; #540B åŒ > tóng; #540C å > míng; #540D åŽ > hòu; #540E å > lì; #540F å > tÅ­; #5410 å‘ > xiàng; #5411 å’ > zhà; #5412 å“ > xià; #5413 å” > yÄ•; #5414 å• > lÇš; #5415 å– > Ä; #5416 å— > ma; #5417 å˜ > Åu; #5418 å™ > xuÄ“; #5419 åš > yÄ«; #541A å› > jÅ«n; #541B åœ > chÅu; #541C å > lìn; #541D åž > tÅ«n; #541E åŸ > yín; #541F å  > fèi; #5420 å¡ > bÄ­; #5421 å¢ > qìn; #5422 å£ > qìn; #5423 å¤ > jiè; #5424 å¥ > bù; #5425 å¦ > fÅu; #5426 å§ > ba; #5427 å¨ > dÅ«n; #5428 å© > fÄ“n; #5429 åª > é; #542A å« > hán; #542B å¬ > tÄ«ng; #542C å­ > háng; #542D å® > shÅ­n; #542E å¯ > qÄ­; #542F å° > hóng; #5430 å± > zhÄ«; #5431 å² > shÄ•n; #5432 å³ > wú; #5433 å´ > wú; #5434 åµ > chăo; #5435 å¶ > nè; #5436 å· > xuè; #5437 å¸ > xÄ«; #5438 å¹ > chÅ«i; #5439 åº > dÅu; #543A å» > wÄ•n; #543B å¼ > hÅu; #543C å½ > óu; #543D å¾ > wú; #543E å¿ > gào; #543F å‘€ > yÄ; #5440 å‘ > jùn; #5441 å‘‚ > lÇš; #5442 呃 > è; #5443 å‘„ > gé; #5444 å‘… > méi; #5445 呆 > ái; #5446 呇 > qÄ­; #5447 呈 > chéng; #5448 呉 > wú; #5449 告 > gào; #544A å‘‹ > fÅ«; #544B 呌 > jiào; #544C å‘ > hÅng; #544D 呎 > chÄ­; #544E å‘ > shÄ“ng; #544F å‘ > nè; #5450 å‘‘ > tÅ«n; #5451 å‘’ > fÅ­; #5452 å‘“ > yì; #5453 å‘” > dÄi; #5454 å‘• > Åu; #5455 å‘– > lì; #5456 å‘— > bài; #5457 员 > yuán; #5458 å‘™ > kuÄi; #5459 å‘› > qiÄng; #545B 呜 > wÅ«; #545C å‘ > è; #545D 呞 > shÄ«; #545E 呟 > quăn; #545F å‘  > pÄ“n; #5460 å‘¡ > wÄ•n; #5461 å‘¢ > ní; #5462 å‘£ > mÌ; #5463 呤 > lÄ­ng; #5464 å‘¥ > răn; #5465 呦 > yÅu; #5466 å‘§ > dÄ­; #5467 周 > zhÅu; #5468 å‘© > shì; #5469 呪 > zhòu; #546A å‘« > tiÄ“; #546B 呬 > xì; #546C å‘­ > yì; #546D å‘® > qì; #546E 呯 > píng; #546F å‘° > zÄ­; #5470 呱 > gÅ«; #5471 呲 > zÄ«; #5472 味 > wèi; #5473 å‘´ > xÅ«; #5474 呵 > hÄ“; #5475 å‘¶ > náo; #5476 å‘· > xiÄ; #5477 呸 > pÄ“i; #5478 呹 > yì; #5479 呺 > xiÄo; #547A å‘» > shÄ“n; #547B 呼 > hÅ«; #547C 命 > mìng; #547D 呾 > dá; #547E å‘¿ > qÅ«; #547F å’€ > jÅ­; #5480 å’ > gèm; #5481 å’‚ > zÄ; #5482 å’ƒ > tÅ«o; #5483 å’„ > dÅ«o; #5484 å’… > pòu; #5485 å’† > páo; #5486 å’‡ > bì; #5487 å’ˆ > fú; #5488 å’‰ > yÄng; #5489 å’Š > hé; #548A å’‹ > zhà; #548B å’Œ > hé; #548C å’ > hÄi; #548D å’Ž > jìu; #548E å’ > yÅng; #548F å’ > fù; #5490 å’‘ > què; #5491 å’’ > zhòu; #5492 å’“ > wă; #5493 å’” > kă; #5494 å’• > gÅ«; #5495 å’– > kÄ; #5496 å’— > zÅ­o; #5497 å’˜ > bù; #5498 å’™ > lóng; #5499 å’š > dÅng; #549A å’› > níng; #549B å’ > sÄ«; #549D å’ž > xiàn; #549E å’Ÿ > hùo; #549F å’  > qì; #54A0 å’¡ > èr; #54A1 å’¢ > è; #54A2 å’£ > guÄng; #54A3 å’¤ > zhà; #54A4 å’¥ > xì; #54A5 å’¦ > yí; #54A6 å’§ > liÄ•; #54A7 å’¨ > zÄ«; #54A8 å’© > miÄ“; #54A9 å’ª > mÄ«; #54AA å’« > zhÄ­; #54AB å’¬ > yăo; #54AC å’­ > jÄ«; #54AD å’® > zhòu; #54AE å’¯ > gÄ“; #54AF å’° > shuài; #54B0 å’± > zán; #54B1 å’² > xiào; #54B2 å’³ > ké; #54B3 å’´ > hÅ«i; #54B4 å’µ > kuÄ; #54B5 å’¶ > huài; #54B6 å’· > táo; #54B7 å’¸ > xián; #54B8 å’¹ > è; #54B9 å’º > xuÄn; #54BA å’» > xÄ«u; #54BB å’¼ > wÄi; #54BC å’½ > yÄn; #54BD å’¾ > lăo; #54BE å’¿ > yÄ«; #54BF å“€ > Äi; #54C0 å“ > pÄ­n; #54C1 å“‚ > shÄ•n; #54C2 哃 > tóng; #54C3 å“„ > hÅng; #54C4 å“… > xÄ«ong; #54C5 哆 > chÄ­; #54C6 哇 > wÄ; #54C7 哈 > hÄ; #54C8 哉 > zÄi; #54C9 哊 > yù; #54CA å“‹ > dì; #54CB 哌 > pài; #54CC å“ > xiăng; #54CD 哎 > Äi; #54CE å“ > hÄ•n; #54CF å“ > kuÄng; #54D0 å“‘ > yă; #54D1 å“’ > dÄ; #54D2 å““ > xiÄo; #54D3 å“” > bì; #54D4 å“• > yuÄ•; #54D5 å“— > huÄ; #54D7 å“™ > kuài; #54D9 哚 > dÅ­o; #54DA 哜 > jì; #54DC å“ > nóng; #54DD 哞 > mÅu; #54DE 哟 > yo; #54DF å“  > hào; #54E0 å“¡ > yuán; #54E1 å“¢ > lòng; #54E2 å“£ > pÅu; #54E3 哤 > máng; #54E4 å“¥ > gÄ“; #54E5 哦 > é; #54E6 å“§ > chÄ«; #54E7 哨 > shào; #54E8 å“© > lÄ«; #54E9 哪 > nă; #54EA å“« > zú; #54EB 哬 > hé; #54EC å“­ > kÅ«; #54ED å“® > xiÄo; #54EE 哯 > xiàn; #54EF å“° > láo; #54F0 哱 > bÅ; #54F1 哲 > zhé; #54F2 哳 > zhÄ; #54F3 å“´ > liàng; #54F4 哵 > bÄ; #54F5 å“¶ > miÄ“; #54F6 å“· > lè; #54F7 哸 > sÅ«i; #54F8 哹 > fóu; #54F9 哺 > bÅ­; #54FA å“» > hàn; #54FB 哼 > hÄ“ng; #54FC 哽 > gÄ•ng; #54FD 哾 > shÅ«o; #54FE å“¿ > gÄ•; #54FF 唀 > yÅu; #5500 å” > yàn; #5501 唂 > gÅ­; #5502 唃 > gÅ­; #5503 唄 > bài; #5504 å”… > hÄn; #5505 唆 > sÅ«o; #5506 唇 > chún; #5507 唈 > yì; #5508 唉 > Äi; #5509 唊 > jiá; #550A 唋 > tÅ­; #550B 唌 > xián; #550C å” > huăn; #550D 唎 > lÄ«; #550E å” > xÄ«; #550F å” > táng; #5510 唑 > zùo; #5511 å”’ > qíu; #5512 唓 > chÄ“; #5513 å”” > wú; #5514 唕 > zào; #5515 å”– > yă; #5516 å”— > dÅu; #5517 唘 > qÄ­; #5518 å”™ > dí; #5519 唚 > qìn; #551A å”› > mà; #551B å” > hÅng; #551D 唞 > dÅu; #551E å”  > láo; #5520 唡 > liăng; #5521 唢 > sÅ­o; #5522 唣 > zào; #5523 唤 > huàn; #5524 唦 > shÄ; #5526 å”§ > jÄ«; #5527 唨 > zÅ­o; #5528 唩 > wÅ; #5529 唪 > fÄ•ng; #552A 唫 > yín; #552B 唬 > hÅ­; #552C å”­ > qÄ«; #552D å”® > shòu; #552E 唯 > wéi; #552F å”° > shuÄ; #5530 å”± > chàng; #5531 唲 > ér; #5532 唳 > lì; #5533 å”´ > qiàng; #5534 唵 > ăn; #5535 å”¶ > jiè; #5536 å”· > yÅ; #5537 唸 > niàn; #5538 唹 > yÅ«; #5539 唺 > tiăn; #553A å”» > lăi; #553B 唼 > shà; #553C 唽 > xÄ«; #553D 唾 > tùo; #553E 唿 > hÅ«; #553F å•€ > ái; #5540 å• > zhÅu; #5541 å•‚ > nòu; #5542 啃 > kÄ•n; #5543 å•„ > zhúo; #5544 å•… > zhúo; #5545 商 > shÄng; #5546 啇 > dí; #5547 啈 > hèng; #5548 啉 > lán; #5549 啊 > a; #554A å•‹ > xiÄo; #554B 啌 > xiÄng; #554C å• > tÅ«n; #554D 啎 > wÅ­; #554E å• > wèn; #554F å• > cùi; #5550 å•‘ > shà; #5551 å•’ > hÅ«; #5552 å•“ > qÄ­; #5553 å•” > qÄ­; #5554 å•• > táo; #5555 å•– > dàn; #5556 å•— > dàn; #5557 啘 > yè; #5558 å•™ > zÄ­; #5559 啚 > bÄ­; #555A å•› > cùi; #555B 啜 > chùo; #555C å• > hé; #555D 啞 > yă; #555E 啟 > qÄ­; #555F å•  > zhé; #5560 å•¡ > pÄ“i; #5561 å•¢ > liăng; #5562 å•£ > xián; #5563 啤 > pí; #5564 å•¥ > shà; #5565 啦 > la; #5566 å•§ > zé; #5567 啨 > qÄ«ng; #5568 å•© > guà; #5569 啪 > pÄ; #556A å•« > zhÄ•; #556B 啬 > sè; #556C å•­ > zhuàn; #556D å•® > niè; #556E 啯 > guo; #556F å•° > lÅ«o; #5570 啱 > yÄn; #5571 啲 > dì; #5572 啳 > quán; #5573 å•´ > tÄn; #5574 啵 > bo; #5575 å•¶ > dìng; #5576 å•· > lÄng; #5577 啸 > xiào; #5578 啺 > táng; #557A å•» > chì; #557B 啼 > tí; #557C 啽 > án; #557D 啾 > jÄ«u; #557E å•¿ > dàn; #557F å–€ > kè; #5580 å– > yóng; #5581 å–‚ > wèi; #5582 å–ƒ > nán; #5583 å–„ > shàn; #5584 å–… > yù; #5585 å–† > zhé; #5586 å–‡ > lă; #5587 å–ˆ > jiÄ“; #5588 å–‰ > hóu; #5589 å–Š > hăn; #558A å–‹ > dié; #558B å–Œ > zhÅu; #558C å– > chái; #558D å–Ž > wÄi; #558E å– > rÄ•; #558F å– > yù; #5590 å–‘ > yÄ«n; #5591 å–’ > zán; #5592 å–“ > yÄo; #5593 å–” > wÅ; #5594 å–• > miăn; #5595 å–– > hú; #5596 å–— > yÅ­n; #5597 å–˜ > chuăn; #5598 å–™ > hùi; #5599 å–š > huàn; #559A å–› > huàn; #559B å–œ > xÄ­; #559C å– > hÄ“; #559D å–ž > jÄ«; #559E å–Ÿ > kùi; #559F å–  > zhÅng; #55A0 å–¡ > wÄ•i; #55A1 å–¢ > shà; #55A2 å–£ > xÅ­; #55A3 å–¤ > huáng; #55A4 å–¥ > dù; #55A5 å–¦ > niè; #55A6 å–§ > 1xuÄn; #55A7 å–¨ > liàng; #55A8 å–© > yù; #55A9 å–ª > sÄng; #55AA å–« > chÄ«; #55AB å–¬ > qiáo; #55AC å–­ > yàn; #55AD å–® > dÄn; #55AE å–¯ > pÄ“n; #55AF å–° > cÄn; #55B0 å–± > lí; #55B1 å–² > yo; #55B2 å–³ > zhÄ; #55B3 å–´ > wÄ“i; #55B4 å–µ > miÄo; #55B5 å–¶ > yíng; #55B6 å–· > pÄ“n; #55B7 å–¹ > kúi; #55B9 å–º > xì; #55BA å–» > yù; #55BB å–¼ > jié; #55BC å–½ > lou; #55BD å–¾ > kù; #55BE å–¿ > sào; #55BF å—€ > hùo; #55C0 å— > tí; #55C1 å—‚ > yáo; #55C2 å—ƒ > hè; #55C3 å—„ > á; #55C4 å—… > xìu; #55C5 å—† > qiÄng; #55C6 å—‡ > sè; #55C7 å—ˆ > yÅng; #55C8 å—‰ > sù; #55C9 å—Š > hÅng; #55CA å—‹ > xié; #55CB å—Œ > yì; #55CC å— > sÅ«o; #55CD å—Ž > ma; #55CE å— > chÄ; #55CF å— > hài; #55D0 å—‘ > kè; #55D1 å—’ > tà; #55D2 å—“ > săng; #55D3 å—” > tián; #55D4 å—• > rù; #55D5 å—– > sÅu; #55D6 å—— > wÄ; #55D7 å—˜ > jÄ«; #55D8 å—™ > păng; #55D9 å—š > wÅ«; #55DA å—› > xián; #55DB å—œ > shì; #55DC å— > gé; #55DD å—ž > zÄ«; #55DE å—Ÿ > jiÄ“; #55DF å—  > lùo; #55E0 å—¡ > wÄ“ng; #55E1 å—¢ > wà; #55E2 å—£ > sì; #55E3 å—¤ > chÄ«; #55E4 å—¥ > háo; #55E5 å—¦ > sÅ«o; #55E6 å—§ > jiÄ' 'lún; #55E7 å—¨ > hăi; #55E8 å—© > sÅ­o; #55E9 å—ª > qín; #55EA å—« > niè; #55EB å—¬ > hÄ“; #55EC å—® > sài; #55EE å—¯ > nÌ€g; #55EF å—° > gè; #55F0 å—± > ná; #55F1 å—² > diă; #55F2 å—³ > ài; #55F3 å—µ > tÅng; #55F5 å—¶ > bì; #55F6 å—· > áo; #55F7 å—¸ > áo; #55F8 å—¹ > lián; #55F9 å—º > cÅ«i; #55FA å—» > zhÄ“; #55FB å—¼ > mò; #55FC å—½ > sòu; #55FD å—¾ > sÅu; #55FE å—¿ > tăn; #55FF 嘀 > dí; #5600 å˜ > qÄ«; #5601 嘂 > jiào; #5602 嘃 > chÅng; #5603 嘄 > jiÄo; #5604 嘅 > kăi; #5605 嘆 > tàn; #5606 嘇 > sÄn; #5607 嘈 > cáo; #5608 嘉 > jiÄ; #5609 嘊 > ái; #560A 嘋 > xiÄo; #560B 嘌 > piÄo; #560C å˜ > lou; #560D 嘎 > gÄ; #560E å˜ > gÅ­; #560F å˜ > xiÄo; #5610 嘑 > hÅ«; #5611 嘒 > hùi; #5612 嘓 > guo; #5613 嘔 > Åu; #5614 嘕 > xiÄn; #5615 嘖 > zé; #5616 嘗 > cháng; #5617 嘘 > xÅ«; #5618 嘙 > pó; #5619 嘚 > dé; #561A 嘛 > ma; #561B 嘜 > mà; #561C å˜ > hú; #561D 嘞 > lei; #561E 嘟 > dÅ«; #561F 嘠 > gÄ; #5620 嘡 > tÄng; #5621 嘢 > yÄ•; #5622 嘣 > bÄ“ng; #5623 嘤 > yÄ«ng; #5624 嘦 > jiào; #5626 嘧 > mÄ«; #5627 嘨 > xiào; #5628 嘩 > huÄ; #5629 嘪 > măi; #562A 嘫 > rán; #562B 嘬 > zÅ«o; #562C 嘭 > pÄ“ng; #562D 嘮 > láo; #562E 嘯 > xiào; #562F 嘰 > jÄ«; #5630 嘱 > zhÅ­; #5631 嘲 > cháo; #5632 嘳 > kùi; #5633 嘴 > zÅ­i; #5634 嘵 > xiÄo; #5635 嘶 > sÄ«; #5636 嘷 > háo; #5637 嘸 > fÅ­; #5638 嘹 > liáo; #5639 嘺 > qiáo; #563A 嘻 > xÄ«; #563B 嘼 > xìu; #563C 嘽 > tÄn; #563D 嘾 > tán; #563E 嘿 > mò; #563F 噀 > xùn; #5640 å™ > Ä•; #5641 噂 > zÅ­n; #5642 噃 > fÄn; #5643 噄 > chÄ«; #5644 å™… > hÅ«i; #5645 噆 > zăn; #5646 噇 > chuáng; #5647 噈 > cù; #5648 噉 > dàn; #5649 噊 > yù; #564A 噋 > tÅ«n; #564B 噌 > chÄ“ng; #564C å™ > jiào; #564D 噎 > yÄ“; #564E å™ > xÄ«; #564F å™ > qì; #5650 噑 > háo; #5651 å™’ > lián; #5652 噓 > xÅ«; #5653 å™” > dÄ“ng; #5654 噕 > hÅ«i; #5655 å™– > yín; #5656 å™— > pÅ«; #5657 噘 > juÄ“; #5658 å™™ > qín; #5659 噚 > xún; #565A å™› > niè; #565B 噜 > lÅ«; #565C å™ > sÄ«; #565D 噞 > yăn; #565E 噟 > yìng; #565F å™  > dÄ; #5660 噡 > dÄn; #5661 噢 > yÅ­; #5662 噣 > zhòu; #5663 噤 > jìn; #5664 噥 > nóng; #5665 噦 > yuÄ•; #5666 å™§ > hùi; #5667 器 > qì; #5668 噩 > è; #5669 噪 > zào; #566A 噫 > yÄ«; #566B 噬 > shì; #566C å™­ > jiào; #566D å™® > yuÄn; #566E 噯 > ài; #566F å™° > yÅng; #5670 å™± > jué; #5671 噲 > kuài; #5672 噳 > yÅ­; #5673 å™´ > pÄ“n; #5674 噵 > dào; #5675 å™¶ > gé; #5676 å™· > xÄ«n; #5677 噸 > dÅ«n; #5678 噹 > dÄng; #5679 å™» > sai; #567B 噼 > pÄ«; #567C 噽 > pÄ­; #567D 噾 > yÄ«n; #567E 噿 > zÅ­i; #567F 嚀 > níng; #5680 åš > dí; #5681 åš‚ > làn; #5682 嚃 > tÄ; #5683 åš„ > hùo; #5684 åš… > rú; #5685 嚆 > hÄo; #5686 嚇 > xià; #5687 嚈 > yà; #5688 嚉 > dÅ«o; #5689 嚊 > xì; #568A åš‹ > chóu; #568B 嚌 > jì; #568C åš > jìn; #568D 嚎 > háo; #568E åš > tì; #568F åš > cháng; #5690 åš“ > cÄ; #5693 åš” > tì; #5694 åš• > lÅ«; #5695 åš– > hùi; #5696 åš— > bó; #5697 嚘 > yÅu; #5698 åš™ > niè; #5699 åšš > yín; #569A åš› > hù; #569B åšœ > mò; #569C åš > huÄng; #569D åšž > zhé; #569E 嚟 > lí; #569F åš  > líu; #56A0 嚢 > náng; #56A2 嚣 > xiÄo; #56A3 嚤 > mó; #56A4 嚥 > yàn; #56A5 嚦 > lì; #56A6 åš§ > lú; #56A7 嚨 > lóng; #56A8 åš© > fú; #56A9 嚪 > dàn; #56AA åš« > chèn; #56AB 嚬 > pín; #56AC åš­ > pÄ­; #56AD åš® > xiàng; #56AE 嚯 > hùo; #56AF åš° > mó; #56B0 åš± > xì; #56B1 åš² > dÅ­o; #56B2 åš³ > kù; #56B3 åš´ > yán; #56B4 åšµ > chán; #56B5 åš¶ > yÄ«ng; #56B6 åš· > răng; #56B7 嚸 > diăn; #56B8 åš¹ > lÄ; #56B9 嚺 > tà; #56BA åš» > xiÄo; #56BB åš¼ > jiáo; #56BC åš½ > chùo; #56BD åš¾ > huÄn; #56BE åš¿ > hùo; #56BF 囀 > zhuàn; #56C0 å› > niè; #56C1 囂 > xiÄo; #56C2 囃 > cà; #56C3 囄 > lí; #56C4 å›… > chăn; #56C5 囆 > chài; #56C6 囇 > lì; #56C7 囈 > yì; #56C8 囉 > lÅ«o; #56C9 囊 > náng; #56CA 囋 > zàn; #56CB 囌 > sÅ«; #56CC å› > xÄ­; #56CD å› > jiÄn; #56CF å› > zá; #56D0 囑 > zhÅ­; #56D1 å›’ > lán; #56D2 囓 > niè; #56D3 å›” > nÄng; #56D4 å›— > wéi; #56D7 囘 > húi; #56D8 å›™ > yÄ«n; #56D9 囚 > qíu; #56DA å›› > sì; #56DB 囜 > nín; #56DC å› > jiăn; #56DD 回 > húi; #56DE 囟 > xìn; #56DF å›  > yÄ«n; #56E0 囡 > nÄn; #56E1 团 > tuán; #56E2 団 > tuán; #56E3 囤 > dùn; #56E4 囥 > kàng; #56E5 囦 > yuÄn; #56E6 å›§ > jÄ­ong; #56E7 囨 > piÄn; #56E8 囩 > yùn; #56E9 囪 > cÅng; #56EA 囫 > hú; #56EB 囬 > húi; #56EC å›­ > yuán; #56ED å›® > yóu; #56EE 囯 > gúo; #56EF å›° > kùn; #56F0 å›± > cÅng; #56F1 囲 > wéi; #56F2 図 > tú; #56F3 å›´ > wéi; #56F4 囵 > lún; #56F5 å›¶ > gúo; #56F6 å›· > qÅ«n; #56F7 囸 > rì; #56F8 囹 > líng; #56F9 固 > gù; #56FA å›» > gúo; #56FB 囼 > tÄi; #56FC 国 > gúo; #56FD 图 > tú; #56FE 囿 > yòu; #56FF 圀 > gúo; #5700 åœ > yín; #5701 圂 > hùn; #5702 圃 > pÅ­; #5703 圄 > yÅ­; #5704 圅 > hán; #5705 圆 > yuán; #5706 圇 > lún; #5707 圈 > quÄn; #5708 圉 > yÅ­; #5709 圊 > qÄ«ng; #570A 國 > gúo; #570B 圌 > chuán; #570C åœ > wéi; #570D 圎 > yuán; #570E åœ > quÄn; #570F åœ > kÅ«; #5710 圑 > fù; #5711 園 > yuán; #5712 圓 > yuán; #5713 圔 > è; #5714 圕 > tú' 'shÅ«' 'guăn; #5715 圖 > tú; #5716 圗 > tú; #5717 團 > tuán; #5718 圙 > lÇœe; #5719 圚 > hùi; #571A 圛 > yì; #571B 圜 > yuán; #571C åœ > luán; #571D 圞 > luán; #571E 土 > tÅ­; #571F 圠 > yà; #5720 圡 > tÅ­; #5721 圢 > tÄ«ng; #5722 圣 > shèng; #5723 圤 > pÅ­; #5724 圥 > lù; #5725 圧 > yÄ; #5727 在 > zài; #5728 圩 > wéi; #5729 圪 > gÄ“; #572A 圫 > yù; #572B 圬 > wÅ«; #572C 圭 > gÅ«i; #572D 圮 > pÄ­; #572E 圯 > yí; #572F 地 > dì; #5730 圱 > qiÄn; #5731 圲 > qiÄn; #5732 圳 > zhèn; #5733 圴 > zhúo; #5734 圵 > dàng; #5735 圶 > qià; #5736 圹 > kuàng; #5739 场 > cháng; #573A 圻 > qí; #573B 圼 > niè; #573C 圽 > mò; #573D 圾 > jí; #573E 圿 > jiá; #573F å€ > zhÄ­; #5740 å > zhÄ­; #5741 å‚ > băn; #5742 åƒ > xÅ«n; #5743 å„ > tóu; #5744 å… > qÄ­n; #5745 å† > fén; #5746 å‡ > jÅ«n; #5747 åˆ > kÄ“ng; #5748 å‰ > tún; #5749 åŠ > fÄng; #574A å‹ > fèn; #574B åŒ > bèn; #574C å > tÄn; #574D åŽ > kăn; #574E å > pÄ«; #574F å > zùo; #5750 å‘ > kÄ“ng; #5751 å’ > bì; #5752 å“ > xíng; #5753 å” > dì; #5754 å• > jÄ«ng; #5755 å– > jì; #5756 å— > kuài; #5757 å˜ > dÄ­; #5758 å™ > jÄ«ng; #5759 åš > jiÄn; #575A å› > tán; #575B åœ > lì; #575C å > bà; #575D åž > wù; #575E åŸ > fén; #575F å  > zhùi; #5760 å¡ > pÅ; #5761 å¢ > păn; #5762 å£ > tÄng; #5763 å¤ > kÅ«n; #5764 å¥ > qÅ«; #5765 å¦ > tăn; #5766 å§ > zhÄ«; #5767 å¨ > túo; #5768 å© > gÄn; #5769 åª > píng; #576A å« > diàn; #576B å¬ > guà; #576C å­ > ní; #576D å® > tái; #576E å¯ > pÄ«; #576F å° > jÄ«ong; #5770 å± > yăng; #5771 å² > fó; #5772 å³ > ào; #5773 å´ > lìu; #5774 åµ > qÄ«u; #5775 å¶ > mù; #5776 å· > kÄ•; #5777 å¸ > gòu; #5778 å¹ > xuè; #5779 åº > bá; #577A å» > chí; #577B å¼ > chè; #577C å½ > líng; #577D å¾ > zhù; #577E å¿ > fù; #577F 垀 > hÅ«; #5780 åž > zhì; #5781 åž‚ > chúi; #5782 垃 > lÄ; #5783 åž„ > lÅng; #5784 åž… > lÅng; #5785 垆 > lú; #5786 垇 > ào; #5787 垉 > páo; #5789 åž‹ > xíng; #578B 垌 > dòng; #578C åž > jì; #578D 垎 > kè; #578E åž > lù; #578F åž > cí; #5790 åž‘ > chÄ­; #5791 åž’ > lÄ•i; #5792 åž“ > gÄi; #5793 åž” > yÄ«n; #5794 åž• > hòu; #5795 åž– > dÅ«i; #5796 åž— > zhào; #5797 垘 > fú; #5798 åž™ > guÄng; #5799 åžš > yáo; #579A åž› > dÅ­o; #579B åžœ > dÅ­o; #579C åž > gÅ­i; #579D åžž > chá; #579E 垟 > yáng; #579F åž  > yín; #57A0 åž¡ > fá; #57A1 垢 > gòu; #57A2 垣 > yuán; #57A3 垤 > dié; #57A4 垥 > xié; #57A5 垦 > kÄ•n; #57A6 åž§ > jÄ«ong; #57A7 垨 > shÅu; #57A8 åž© > è; #57A9 åž« > diàn; #57AB 垬 > hóng; #57AC åž­ > wù; #57AD åž® > kuă; #57AE åž± > dàng; #57B1 åž² > kăi; #57B2 åž´ > năo; #57B4 åžµ > ăn; #57B5 åž¶ > xÄ«ng; #57B6 åž· > xiàn; #57B7 垸 > huàn; #57B8 åž¹ > bÄng; #57B9 垺 > pÄ“i; #57BA åž» > bà; #57BB åž¼ > yì; #57BC åž½ > yìn; #57BD åž¾ > hàn; #57BE åž¿ > xù; #57BF 埀 > chúi; #57C0 åŸ > cén; #57C1 埂 > gÄ•ng; #57C2 埃 > Äi; #57C3 埄 > péng; #57C4 埅 > fáng; #57C5 埆 > què; #57C6 埇 > yÅng; #57C7 埈 > xùn; #57C8 埉 > jiá; #57C9 埊 > dì; #57CA 埋 > mái; #57CB 埌 > làng; #57CC åŸ > xuàn; #57CD 城 > chéng; #57CE åŸ > yán; #57CF åŸ > jÄ«n; #57D0 埑 > zhé; #57D1 埒 > lèi; #57D2 埓 > liè; #57D3 埔 > bù; #57D4 埕 > chéng; #57D5 埗 > bù; #57D7 埘 > shí; #57D8 埙 > xÅ«n; #57D9 埚 > gÅ«o; #57DA 埛 > jÄ«ong; #57DB 埜 > yÄ•; #57DC åŸ > niàn; #57DD 埞 > dÄ­; #57DE 域 > yù; #57DF 埠 > bù; #57E0 埡 > yà; #57E1 埢 > juăn; #57E2 埣 > sùi; #57E3 埤 > pí; #57E4 埥 > chÄ“ng; #57E5 埦 > wăn; #57E6 埧 > jù; #57E7 埨 > lÅ­n; #57E8 埩 > zhÄ“ng; #57E9 埪 > kÅng; #57EA 埫 > chÅng; #57EB 埬 > dÅng; #57EC 埭 > dài; #57ED 埮 > tàn; #57EE 埯 > ăn; #57EF 埰 > cài; #57F0 埱 > shú; #57F1 埲 > bÄ•ng; #57F2 埳 > kăn; #57F3 埴 > zhí; #57F4 埵 > dÅ­o; #57F5 埶 > yì; #57F6 執 > zhí; #57F7 埸 > yì; #57F8 培 > péi; #57F9 基 > jÄ«; #57FA 埻 > zhÅ­n; #57FB 埼 > qí; #57FC 埽 > sào; #57FD 埾 > jù; #57FE 埿 > ní; #57FF å € > kÅ«; #5800 å  > kè; #5801 å ‚ > táng; #5802 å ƒ > kÅ«n; #5803 å „ > nì; #5804 å … > jiÄn; #5805 å † > dÅ«i; #5806 å ‡ > jÄ­n; #5807 å ˆ > gÄng; #5808 å ‰ > yù; #5809 å Š > è; #580A å ‹ > péng; #580B å Œ > gù; #580C å  > tù; #580D å Ž > lèng; #580E å  > yá; #5810 å ‘ > qiàn; #5811 å “ > àn; #5813 å • > dùo; #5815 å – > năo; #5816 å — > tÅ«; #5817 å ˜ > chéng; #5818 å ™ > yÄ«n; #5819 å š > hún; #581A å › > bì; #581B å œ > liàn; #581C å  > gÅ«o; #581D å ž > dié; #581E å Ÿ > zhuàn; #581F å   > hòu; #5820 å ¡ > băo; #5821 å ¢ > băo; #5822 å £ > yú; #5823 å ¤ > dÄ«; #5824 å ¥ > máo; #5825 å ¦ > jiÄ“; #5826 å § > ruán; #5827 å ¨ > è; #5828 å © > gèng; #5829 å ª > kÄn; #582A å « > zÅng; #582B å ¬ > yú; #582C å ­ > huáng; #582D å ® > è; #582E å ¯ > yáo; #582F å ° > yàn; #5830 å ± > bào; #5831 å ² > jí; #5832 å ³ > méi; #5833 å ´ > cháng; #5834 å µ > dÅ­; #5835 å ¶ > túo; #5836 å · > yìn; #5837 å ¸ > féng; #5838 å ¹ > zhòng; #5839 å º > jiè; #583A å » > zhÄ“n; #583B å ¼ > fÄ“ng; #583C å ½ > gÄng; #583D å ¾ > chuăn; #583E å ¿ > jiăn; #583F å¡‚ > xiàng; #5842 塃 > huÄng; #5843 å¡„ > léng; #5844 å¡… > duàn; #5845 塇 > xuÄn; #5847 塈 > jì; #5848 塉 > jí; #5849 塊 > kuài; #584A å¡‹ > yíng; #584B 塌 > tÄ; #584C å¡ > chéng; #584D 塎 > yÅng; #584E å¡ > kăi; #584F å¡ > sù; #5850 å¡‘ > sù; #5851 å¡’ > shí; #5852 å¡“ > mì; #5853 å¡” > tă; #5854 å¡• > wÄ•ng; #5855 å¡– > chéng; #5856 å¡— > tú; #5857 塘 > táng; #5858 å¡™ > què; #5859 塚 > zhÅng; #585A å¡› > lì; #585B 塜 > péng; #585C å¡ > bàng; #585D 塞 > sÄi; #585E 塟 > zàng; #585F å¡  > dÅ«i; #5860 å¡¡ > tián; #5861 å¡¢ > wù; #5862 å¡£ > chÄ•ng; #5863 塤 > xÅ«n; #5864 å¡¥ > gé; #5865 塦 > zhèn; #5866 å¡§ > ài; #5867 塨 > gÅng; #5868 å¡© > yán; #5869 塪 > kăn; #586A å¡« > tián; #586B 塬 > yuán; #586C å¡­ > wÄ“n; #586D å¡® > xiè; #586E 塯 > lìu; #586F 塱 > lăng; #5871 塲 > cháng; #5872 塳 > péng; #5873 å¡´ > bèng; #5874 塵 > chén; #5875 å¡¶ > cù; #5876 å¡· > lÅ­; #5877 塸 > Åu; #5878 塹 > qiàn; #5879 塺 > méi; #587A å¡» > mò; #587B 塼 > zhuÄn; #587C 塽 > shuăng; #587D 塾 > shú; #587E å¡¿ > lÅu; #587F 墀 > chí; #5880 å¢ > màn; #5881 墂 > biÄo; #5882 境 > jìng; #5883 墄 > qÄ«; #5884 墅 > shù; #5885 墆 > dì; #5886 墇 > zhÄng; #5887 墈 > kàn; #5888 墉 > yÅng; #5889 墊 > diàn; #588A 墋 > chÄ•n; #588B 墌 > zhÄ«; #588C å¢ > xì; #588D 墎 > gÅ«o; #588E å¢ > qiăng; #588F å¢ > jìn; #5890 墑 > dÄ«; #5891 墒 > shÄng; #5892 墓 > mù; #5893 墔 > cÅ«i; #5894 墕 > yàn; #5895 墖 > tă; #5896 増 > zÄ“ng; #5897 墘 > qí; #5898 墙 > qiáng; #5899 墚 > liáng; #589A 墜 > zhùi; #589C å¢ > qiÄo; #589D 增 > zÄ“ng; #589E 墟 > xÅ«; #589F 墠 > shàn; #58A0 墡 > shàn; #58A1 墢 > bá; #58A2 墣 > pÅ«; #58A3 墤 > kuài; #58A4 墥 > dÅng; #58A5 墦 > fán; #58A6 墧 > què; #58A7 墨 > mò; #58A8 墩 > dÅ«n; #58A9 墪 > dÅ«n; #58AA 墫 > dÅ«n; #58AB 墬 > dì; #58AC 墭 > shèng; #58AD 墮 > dùo; #58AE 墯 > dùo; #58AF 墰 > tán; #58B0 墱 > dèng; #58B1 墲 > wÅ­; #58B2 墳 > fén; #58B3 墴 > huáng; #58B4 墵 > tán; #58B5 墶 > dÄ; #58B6 墷 > yè; #58B7 墺 > yù; #58BA 墻 > qiáng; #58BB 墼 > jÄ«; #58BC 墽 > qiÄo; #58BD 墾 > kÄ•n; #58BE 墿 > yì; #58BF 壀 > pí; #58C0 å£ > bì; #58C1 壂 > diàn; #58C2 壃 > jiÄng; #58C3 壄 > yÄ•; #58C4 壅 > yÅng; #58C5 壆 > bó; #58C6 壇 > tán; #58C7 壈 > lăn; #58C8 壉 > jù; #58C9 壊 > huài; #58CA 壋 > dàng; #58CB 壌 > răng; #58CC å£ > qiàn; #58CD 壎 > xÅ«n; #58CE å£ > làn; #58CF å£ > xÄ­; #58D0 壑 > hè; #58D1 壒 > ài; #58D2 壓 > yÄ; #58D3 壔 > dăo; #58D4 壕 > háo; #58D5 壖 > ruán; #58D6 壘 > lÄ•i; #58D8 壙 > kuàng; #58D9 壚 > lú; #58DA 壛 > yán; #58DB 壜 > tán; #58DC å£ > wéi; #58DD 壞 > huài; #58DE 壟 > lÅng; #58DF 壠 > lÅng; #58E0 壡 > rùi; #58E1 壢 > lì; #58E2 壣 > lín; #58E3 壤 > răng; #58E4 壦 > xÅ«n; #58E6 壧 > yán; #58E7 壨 > léi; #58E8 壩 > bà; #58E9 士 > shì; #58EB 壬 > rén; #58EC 壮 > zhuàng; #58EE 壯 > zhuàng; #58EF 声 > shÄ“ng; #58F0 壱 > yÄ«; #58F1 売 > mài; #58F2 壳 > ké; #58F3 壴 > zhÅ­; #58F4 壵 > zhuàng; #58F5 壶 > hú; #58F6 壷 > hú; #58F7 壸 > kÅ­n; #58F8 壹 > yÄ«; #58F9 壺 > hú; #58FA 壻 > xù; #58FB 壼 > kÅ­n; #58FC 壽 > shòu; #58FD 壾 > măng; #58FE 壿 > zÅ­n; #58FF 夀 > shòu; #5900 å¤ > yÄ«; #5901 夂 > zhÄ­; #5902 夃 > gÅ«; #5903 处 > chù; #5904 夅 > jiàng; #5905 夆 > fÄ“ng; #5906 备 > bèi; #5907 変 > biàn; #5909 夊 > sÅ«i; #590A 夋 > qÅ«n; #590B 夌 > líng; #590C å¤ > fù; #590D 夎 > zùo; #590E å¤ > xià; #590F å¤ > xìong; #5910 夒 > náo; #5912 夓 > xià; #5913 夔 > kúi; #5914 夕 > xÄ«; #5915 外 > wài; #5916 夗 > yuàn; #5917 夘 > măo; #5918 夙 > sù; #5919 多 > dÅ«o; #591A 夛 > dÅ«o; #591B 夜 > yè; #591C å¤ > qíng; #591D 够 > gòu; #591F 夠 > gòu; #5920 夡 > qì; #5921 夢 > mèng; #5922 夣 > mèng; #5923 夤 > yín; #5924 夥 > hÅ­o; #5925 夦 > chèn; #5926 大 > dà; #5927 夨 > zè; #5928 天 > tiÄn; #5929 太 > tài; #592A 夫 > fÅ«; #592B 夬 > guài; #592C 夭 > yăo; #592D 央 > yÄng; #592E 夯 > hÄng; #592F 夰 > găo; #5930 失 > shÄ«; #5931 夲 > bÄ•n; #5932 夳 > tài; #5933 头 > tóu; #5934 夵 > yăn; #5935 夶 > bÄ­; #5936 夷 > yí; #5937 夸 > kuÄ; #5938 夹 > jiÄ; #5939 夺 > dúo; #593A 夼 > kuăng; #593C 夽 > yùn; #593D 夾 > jiÄ; #593E 夿 > pÄ; #593F 奀 > Ä“n; #5940 å¥ > lián; #5941 奂 > huàn; #5942 奃 > dì; #5943 奄 > yăn; #5944 奅 > pào; #5945 奆 > quăn; #5946 奇 > qí; #5947 奈 > nài; #5948 奉 > fèng; #5949 奊 > xié; #594A 奋 > fèn; #594B 奌 > diăn; #594C 奎 > kúi; #594E å¥ > zòu; #594F å¥ > huàn; #5950 契 > qì; #5951 奒 > kÄi; #5952 奓 > zhà; #5953 奔 > bÄ“n; #5954 奕 > yì; #5955 奖 > jiăng; #5956 套 > tào; #5957 奘 > zàng; #5958 奙 > bÄ•n; #5959 奚 > xÄ«; #595A 奛 > xiăng; #595B 奜 > fÄ•i; #595C å¥ > diÄo; #595D 奞 > xùn; #595E 奟 > kÄ“ng; #595F 奠 > diàn; #5960 奡 > ào; #5961 奢 > shÄ“; #5962 奣 > wÄ•ng; #5963 奤 > păn; #5964 奥 > ào; #5965 奦 > wù; #5966 奧 > ào; #5967 奨 > jiăng; #5968 奩 > lián; #5969 奪 > dúo; #596A 奫 > yÅ«n; #596B 奬 > jiăng; #596C 奭 > shì; #596D 奮 > fèn; #596E 奯 > hùo; #596F 奰 > bì; #5970 奱 > lián; #5971 奲 > dÅ­o; #5972 女 > nÇš; #5973 奴 > nú; #5974 奵 > dÄ«ng; #5975 奶 > năi; #5976 奷 > qiÄn; #5977 奸 > jiÄn; #5978 她 > tÄ; #5979 奺 > jÄ­u; #597A 奻 > nán; #597B 奼 > chà; #597C 好 > hăo; #597D 奾 > xiÄn; #597E 奿 > fàn; #597F 妀 > jÄ­; #5980 å¦ > shùo; #5981 如 > rú; #5982 妃 > fÄ“i; #5983 妄 > wàng; #5984 妅 > hóng; #5985 妆 > zhuÄng; #5986 妇 > fù; #5987 妈 > mÄ; #5988 妉 > dÄn; #5989 妊 > rèn; #598A 妋 > fÅ«; #598B 妌 > jìng; #598C å¦ > yán; #598D 妎 > xiè; #598E å¦ > wèn; #598F å¦ > zhÅng; #5990 妑 > pÄ; #5991 妒 > dù; #5992 妓 > jì; #5993 妔 > kÄ“ng; #5994 妕 > zhòng; #5995 妖 > yÄo; #5996 妗 > jìn; #5997 妘 > yún; #5998 妙 > miào; #5999 妚 > pÄ“i; #599A 妜 > yuè; #599C å¦ > zhuÄng; #599D 妞 > nÄ«u; #599E 妟 > yàn; #599F 妠 > nà; #59A0 妡 > xÄ«n; #59A1 妢 > fén; #59A2 妣 > bÄ­; #59A3 妤 > yú; #59A4 妥 > tÅ­o; #59A5 妦 > fÄ“ng; #59A6 妧 > yuán; #59A7 妨 > fáng; #59A8 妩 > wÅ­; #59A9 妪 > yù; #59AA 妫 > gÅ«i; #59AB 妬 > dù; #59AC 妭 > bá; #59AD 妮 > nÄ«; #59AE 妯 > zhóu; #59AF 妰 > zhúo; #59B0 妱 > zhÄo; #59B1 妲 > dá; #59B2 妳 > năi; #59B3 妴 > yuăn; #59B4 妵 > tÅu; #59B5 妶 > xuán; #59B6 妷 > zhí; #59B7 妸 > Ä“; #59B8 妹 > mèi; #59B9 妺 > mò; #59BA 妻 > qÄ«; #59BB 妼 > bì; #59BC 妽 > shÄ“n; #59BD 妾 > qiè; #59BE 妿 > Ä“; #59BF å§€ > hé; #59C0 å§ > xÅ­; #59C1 å§‚ > fá; #59C2 姃 > zhÄ“ng; #59C3 å§„ > mín; #59C4 å§… > bàn; #59C5 姆 > mÅ­; #59C6 姇 > fÅ«; #59C7 姈 > líng; #59C8 姉 > zÄ­; #59C9 å§Š > zÄ­; #59CA å§‹ > shÄ­; #59CB å§Œ > răn; #59CC å§ > shÄn; #59CD å§Ž > yÄng; #59CE å§ > mán; #59CF å§ > jiÄ•; #59D0 å§‘ > gÅ«; #59D1 å§’ > sì; #59D2 å§“ > xìng; #59D3 å§” > wÄ•i; #59D4 å§• > zÄ«; #59D5 å§– > jù; #59D6 å§— > shÄn; #59D7 姘 > pÄ«n; #59D8 å§™ > rèn; #59D9 å§š > yáo; #59DA å§› > tÅng; #59DB å§œ > jiÄng; #59DC å§ > shÅ«; #59DD å§ž > jí; #59DE å§Ÿ > gÄi; #59DF å§  > shàng; #59E0 å§¡ > kùo; #59E1 å§¢ > juÄn; #59E2 å§£ > jiÄo; #59E3 姤 > gòu; #59E4 å§¥ > mÅ­; #59E5 姦 > jiÄn; #59E6 å§§ > jiÄn; #59E7 姨 > yí; #59E8 å§© > niàn; #59E9 姪 > zhí; #59EA å§« > jÄ«; #59EB 姬 > jÄ«; #59EC å§­ > xiàn; #59ED å§® > héng; #59EE 姯 > guÄng; #59EF å§° > jÅ«n; #59F0 å§± > kuÄ; #59F1 å§² > yàn; #59F2 å§³ > mÄ­ng; #59F3 å§´ > liè; #59F4 å§µ > pèi; #59F5 å§¶ > yăn; #59F6 å§· > yòu; #59F7 姸 > yán; #59F8 å§¹ > chà; #59F9 姺 > shÄ“n; #59FA å§» > yÄ«n; #59FB å§¼ > chÄ­; #59FC å§½ > gÅ­i; #59FD å§¾ > quÄn; #59FE å§¿ > zÄ«; #59FF 娀 > sÅng; #5A00 å¨ > wÄ“i; #5A01 娂 > hóng; #5A02 娃 > wá; #5A03 娄 > lóu; #5A04 娅 > yà; #5A05 娆 > răo; #5A06 娇 > jiÄo; #5A07 娈 > luán; #5A08 娉 > pÄ«ng; #5A09 娊 > xiàn; #5A0A 娋 > shào; #5A0B 娌 > lÄ­; #5A0C å¨ > chéng; #5A0D 娎 > xiào; #5A0E å¨ > máng; #5A0F å¨ > fu; #5A10 娑 > sÅ«o; #5A11 娒 > wÅ­; #5A12 娓 > wÄ•i; #5A13 娔 > kè; #5A14 娕 > lài; #5A15 娖 > chùo; #5A16 娗 > dìng; #5A17 娘 > niáng; #5A18 娙 > xíng; #5A19 娚 > nán; #5A1A 娛 > yú; #5A1B 娜 > núo; #5A1C å¨ > pÄ“i; #5A1D 娞 > nÄ•i; #5A1E 娟 > juÄn; #5A1F 娠 > shÄ“n; #5A20 娡 > zhì; #5A21 娢 > hán; #5A22 娣 > dì; #5A23 娤 > zhuÄng; #5A24 娥 > é; #5A25 娦 > pín; #5A26 娧 > tùi; #5A27 娨 > hàn; #5A28 娩 > miăn; #5A29 娪 > wú; #5A2A 娫 > yán; #5A2B 娬 > wÅ­; #5A2C 娭 > xÄ«; #5A2D 娮 > yán; #5A2E 娯 > yú; #5A2F 娰 > sì; #5A30 娱 > yú; #5A31 娲 > wÄ; #5A32 娴 > xián; #5A34 娵 > jÅ«; #5A35 娶 > qÅ­; #5A36 娷 > shùi; #5A37 娸 > qÄ«; #5A38 娹 > xián; #5A39 娺 > zhÅ«i; #5A3A 娻 > dÅng; #5A3B 娼 > chÄng; #5A3C 娽 > lù; #5A3D 娾 > ăi; #5A3E 娿 > Ä“; #5A3F å©€ > Ä“; #5A40 å© > lóu; #5A41 å©‚ > mián; #5A42 婃 > cóng; #5A43 å©„ > pÅu; #5A44 å©… > jú; #5A45 婆 > pó; #5A46 婇 > căi; #5A47 婈 > díng; #5A48 婉 > wăn; #5A49 婊 > biăo; #5A4A å©‹ > xiÄo; #5A4B 婌 > shÅ­; #5A4C å© > qÄ­; #5A4D 婎 > hÅ«i; #5A4E å© > fù; #5A4F å© > Ä“; #5A50 å©‘ > wÅ; #5A51 å©’ > tán; #5A52 å©“ > fÄ“i; #5A53 å©” > wei; #5A54 å©• > jié; #5A55 å©– > tiÄn; #5A56 å©— > ní; #5A57 婘 > quán; #5A58 å©™ > jìng; #5A59 婚 > hÅ«n; #5A5A å©› > jÄ«ng; #5A5B 婜 > qiÄn; #5A5C å© > diàn; #5A5D 婞 > xìng; #5A5E 婟 > hù; #5A5F å©  > wà; #5A60 å©¡ > lái; #5A61 å©¢ > bì; #5A62 å©£ > yÄ«n; #5A63 婤 > chÅu; #5A64 å©¥ > chùo; #5A65 婦 > fù; #5A66 å©§ > jìng; #5A67 婨 > lún; #5A68 å©© > yàn; #5A69 婪 > lán; #5A6A å©« > kÅ«n; #5A6B 婬 > yín; #5A6C å©­ > yà; #5A6D å©® > ju; #5A6E 婯 > lì; #5A6F å©° > diăn; #5A70 婱 > xián; #5A71 婳 > huà; #5A73 å©´ > yÄ«ng; #5A74 婵 > chán; #5A75 å©¶ > shÄ•n; #5A76 å©· > tíng; #5A77 婸 > dàng; #5A78 婹 > yăo; #5A79 婺 > wù; #5A7A å©» > nàn; #5A7B 婼 > rùo; #5A7C 婽 > jiă; #5A7D 婾 > tÅu; #5A7E å©¿ > xù; #5A7F 媀 > yú; #5A80 åª > wÄ“i; #5A81 媂 > tí; #5A82 媃 > róu; #5A83 媄 > mÄ•i; #5A84 媅 > dÄn; #5A85 媆 > ruăn; #5A86 媇 > qÄ«n; #5A87 媈 > hui; #5A88 媉 > wÅ«; #5A89 媊 > qián; #5A8A 媋 > chÅ«n; #5A8B 媌 > máo; #5A8C åª > fù; #5A8D 媎 > jiÄ•; #5A8E åª > duÄn; #5A8F åª > xÄ«; #5A90 媑 > zhòng; #5A91 媒 > méi; #5A92 媓 > huáng; #5A93 媔 > mián; #5A94 媕 > Än; #5A95 媖 > yÄ«ng; #5A96 媗 > xuÄn; #5A97 媘 > jie; #5A98 媙 > wÄ“i; #5A99 媚 > mèi; #5A9A 媛 > yuàn; #5A9B 媜 > zhÄ“n; #5A9C åª > qÄ«u; #5A9D 媞 > tí; #5A9E 媟 > xiè; #5A9F 媠 > tÅ­o; #5AA0 媡 > liàn; #5AA1 媢 > mào; #5AA2 媣 > răn; #5AA3 媤 > sÄ«; #5AA4 媥 > piÄn; #5AA5 媦 > wèi; #5AA6 媧 > wÄ; #5AA7 媨 > jìu; #5AA8 媩 > hú; #5AA9 媪 > ăo; #5AAA 媭 > xÅ«; #5AAD 媮 > tÅu; #5AAE 媯 > gÅ«i; #5AAF 媰 > zÅu; #5AB0 媱 > yáo; #5AB1 媲 > pì; #5AB2 媳 > xí; #5AB3 媴 > yuán; #5AB4 媵 > yìng; #5AB5 媶 > róng; #5AB6 媷 > rù; #5AB7 媸 > chÄ«; #5AB8 媹 > líu; #5AB9 媺 > mÄ•i; #5ABA 媻 > pán; #5ABB 媼 > ăo; #5ABC 媽 > mÄ; #5ABD 媾 > gòu; #5ABE 媿 > kùi; #5ABF å«€ > qín; #5AC0 å« > jià; #5AC1 å«‚ > săo; #5AC2 嫃 > zhÄ“n; #5AC3 å«„ > yuán; #5AC4 å«… > chÄ; #5AC5 嫆 > yóng; #5AC6 嫇 > míng; #5AC7 嫈 > yÄ«ng; #5AC8 嫉 > jí; #5AC9 嫊 > sù; #5ACA å«‹ > niăo; #5ACB 嫌 > xián; #5ACC å« > tÄo; #5ACD 嫎 > páng; #5ACE å« > láng; #5ACF å« > năo; #5AD0 å«‘ > báo; #5AD1 å«’ > ài; #5AD2 å«“ > pì; #5AD3 å«” > pín; #5AD4 å«• > yì; #5AD5 å«– > piào; #5AD6 å«— > yù; #5AD7 嫘 > léi; #5AD8 å«™ > xuán; #5AD9 嫚 > màn; #5ADA å«› > yÄ«; #5ADB 嫜 > zhÄng; #5ADC å« > kÄng; #5ADD 嫞 > yóng; #5ADE 嫟 > nì; #5ADF å«  > lí; #5AE0 å«¡ > dí; #5AE1 å«¢ > gÅ«i; #5AE2 å«£ > yÄn; #5AE3 嫤 > jìn; #5AE4 å«¥ > zhuÄn; #5AE5 嫦 > cháng; #5AE6 å«§ > cè; #5AE7 嫨 > hÄn; #5AE8 å«© > nèn; #5AE9 嫪 > lào; #5AEA å«« > mó; #5AEB 嫬 > zhÄ“; #5AEC å«­ > hù; #5AED å«® > hù; #5AEE 嫯 > ào; #5AEF å«° > nèn; #5AF0 嫱 > qiáng; #5AF1 嫳 > piè; #5AF3 å«´ > gÅ«; #5AF4 嫵 > wÅ­; #5AF5 å«¶ > jiáo; #5AF6 å«· > tÅ­o; #5AF7 嫸 > zhăn; #5AF8 嫹 > máo; #5AF9 嫺 > xián; #5AFA å«» > xián; #5AFB 嫼 > mò; #5AFC 嫽 > liáo; #5AFD 嫾 > lián; #5AFE å«¿ > huà; #5AFF 嬀 > gÅ«i; #5B00 å¬ > dÄ“ng; #5B01 嬂 > zhÄ«; #5B02 嬃 > xÅ«; #5B03 嬄 > yi; #5B04 嬅 > huá; #5B05 嬆 > xÄ«; #5B06 嬇 > hùi; #5B07 嬈 > răo; #5B08 嬉 > xÄ«; #5B09 嬊 > yàn; #5B0A 嬋 > chán; #5B0B 嬌 > jiÄo; #5B0C å¬ > mÄ•i; #5B0D 嬎 > fàn; #5B0E å¬ > fÄn; #5B0F å¬ > xiÄn; #5B10 嬑 > yì; #5B11 嬒 > wèi; #5B12 嬓 > jiào; #5B13 嬔 > fù; #5B14 嬕 > shì; #5B15 嬖 > bì; #5B16 嬗 > shàn; #5B17 嬘 > sùi; #5B18 嬙 > qiáng; #5B19 嬚 > liăn; #5B1A 嬛 > huán; #5B1B 嬜 > xin; #5B1C å¬ > niăo; #5B1D 嬞 > dÅng; #5B1E 嬟 > yì; #5B1F 嬠 > cán; #5B20 嬡 > ài; #5B21 嬢 > niáng; #5B22 嬣 > néng; #5B23 嬤 > mÄ; #5B24 嬥 > tiăo; #5B25 嬦 > chóu; #5B26 嬧 > jìn; #5B27 嬨 > cí; #5B28 嬩 > yú; #5B29 嬪 > pín; #5B2A 嬫 > yong; #5B2B 嬬 > xÅ«; #5B2C 嬭 > năi; #5B2D 嬮 > yÄn; #5B2E 嬯 > tái; #5B2F 嬰 > yÄ«ng; #5B30 嬱 > cán; #5B31 嬲 > niăo; #5B32 嬳 > wo; #5B33 嬴 > yíng; #5B34 嬵 > mián; #5B35 嬷 > mÄ; #5B37 嬸 > shÄ•n; #5B38 嬹 > xìng; #5B39 嬺 > nì; #5B3A 嬻 > dú; #5B3B 嬼 > lÄ­u; #5B3C 嬽 > yuÄn; #5B3D 嬾 > lăn; #5B3E 嬿 > yàn; #5B3F å­€ > shuÄng; #5B40 å­ > líng; #5B41 å­‚ > jiăo; #5B42 å­ƒ > niáng; #5B43 å­„ > lăn; #5B44 å­… > xiÄn; #5B45 å­† > yÄ«ng; #5B46 å­‡ > shuÄng; #5B47 å­ˆ > shuÄi; #5B48 å­‰ > quán; #5B49 å­Š > mÄ­; #5B4A å­‹ > lí; #5B4B å­Œ > luán; #5B4C å­ > yán; #5B4D å­Ž > zhÅ­; #5B4E å­ > lăn; #5B4F å­ > zÄ­; #5B50 å­‘ > jié; #5B51 å­’ > jué; #5B52 å­“ > jué; #5B53 å­” > kÅng; #5B54 å­• > yùn; #5B55 å­– > zÄ«; #5B56 å­— > zì; #5B57 å­˜ > cún; #5B58 å­™ > sÅ«n; #5B59 å­š > fú; #5B5A å­› > bèi; #5B5B å­œ > zÄ«; #5B5C å­ > xiào; #5B5D å­ž > xìn; #5B5E å­Ÿ > mèng; #5B5F å­  > sì; #5B60 å­¡ > tÄi; #5B61 å­¢ > bÄo; #5B62 å­£ > jì; #5B63 å­¤ > gÅ«; #5B64 å­¥ > nú; #5B65 å­¦ > xué; #5B66 å­¨ > zhuăn; #5B68 å­© > hái; #5B69 å­ª > luán; #5B6A å­« > sÅ«n; #5B6B å­¬ > huài; #5B6C å­­ > miÄ“; #5B6D å­® > cóng; #5B6E å­¯ > qiÄn; #5B6F å­° > shú; #5B70 å­± > chán; #5B71 å­² > yÄ; #5B72 å­³ > zÄ«; #5B73 å­´ > nÄ­; #5B74 å­µ > fÅ«; #5B75 å­¶ > zÄ«; #5B76 å­· > lí; #5B77 å­¸ > xué; #5B78 å­¹ > bò; #5B79 å­º > rú; #5B7A å­» > lái; #5B7B å­¼ > niè; #5B7C å­½ > niè; #5B7D å­¾ > yÄ«ng; #5B7E å­¿ > luán; #5B7F 宀 > mián; #5B80 å® > zhù; #5B81 宂 > rÅng; #5B82 它 > tÄ; #5B83 宄 > gÅ­i; #5B84 å®… > zhái; #5B85 宆 > qíong; #5B86 宇 > yÅ­; #5B87 守 > shÅu; #5B88 安 > Än; #5B89 宊 > tú; #5B8A 宋 > sòng; #5B8B 完 > wán; #5B8C å® > ròu; #5B8D 宎 > yăo; #5B8E å® > hóng; #5B8F å® > yí; #5B90 宑 > jÄ­ng; #5B91 å®’ > zhÅ«n; #5B92 宓 > mì; #5B93 å®” > zhÅ­; #5B94 宕 > dàng; #5B95 å®– > hóng; #5B96 å®— > zÅng; #5B97 官 > guÄn; #5B98 å®™ > zhòu; #5B99 定 > dìng; #5B9A å®› > wăn; #5B9B 宜 > yí; #5B9C å® > băo; #5B9D 实 > shí; #5B9E 実 > shí; #5B9F å®  > chÅng; #5BA0 审 > shÄ•n; #5BA1 客 > kè; #5BA2 宣 > xuÄn; #5BA3 室 > shì; #5BA4 宥 > yòu; #5BA5 宦 > huàn; #5BA6 å®§ > yí; #5BA7 宨 > tiăo; #5BA8 宩 > shÄ­; #5BA9 宪 > xiàn; #5BAA 宫 > gÅng; #5BAB 宬 > chéng; #5BAC å®­ > qún; #5BAD å®® > gÅng; #5BAE 宯 > xiÄo; #5BAF å®° > zăi; #5BB0 å®± > zhà; #5BB1 宲 > băo; #5BB2 害 > hài; #5BB3 å®´ > yàn; #5BB4 宵 > xiÄo; #5BB5 å®¶ > jiÄ; #5BB6 å®· > shÄ•n; #5BB7 宸 > chén; #5BB8 容 > róng; #5BB9 宺 > huăng; #5BBA å®» > mì; #5BBB 宼 > kòu; #5BBC 宽 > kuÄn; #5BBD 宾 > bÄ«n; #5BBE 宿 > sù; #5BBF 寀 > cài; #5BC0 å¯ > zăn; #5BC1 寂 > jì; #5BC2 寃 > yuÄn; #5BC3 寄 > jì; #5BC4 寅 > yín; #5BC5 密 > mì; #5BC6 寇 > kòu; #5BC7 寈 > qÄ«ng; #5BC8 寉 > què; #5BC9 寊 > zhÄ“n; #5BCA 寋 > jiăn; #5BCB 富 > fù; #5BCC å¯ > níng; #5BCD 寎 > bìng; #5BCE å¯ > huán; #5BCF å¯ > mèi; #5BD0 寑 > qÄ­n; #5BD1 寒 > hán; #5BD2 寓 > yù; #5BD3 寔 > shí; #5BD4 寕 > níng; #5BD5 寖 > qìn; #5BD6 寗 > níng; #5BD7 寘 > zhì; #5BD8 寙 > yÅ­; #5BD9 寚 > băo; #5BDA 寛 > kuÄn; #5BDB 寜 > níng; #5BDC å¯ > qÄ­n; #5BDD 寞 > mò; #5BDE 察 > chá; #5BDF 寠 > jù; #5BE0 寡 > guă; #5BE1 寢 > qÄ­n; #5BE2 寣 > hÅ«; #5BE3 寤 > wù; #5BE4 寥 > liáo; #5BE5 實 > shí; #5BE6 寧 > zhù; #5BE7 寨 > zhài; #5BE8 審 > shÄ•n; #5BE9 寪 > wÄ•i; #5BEA 寫 > xiÄ•; #5BEB 寬 > kuÄn; #5BEC 寭 > hùi; #5BED 寮 > liáo; #5BEE 寯 > jùn; #5BEF 寰 > huán; #5BF0 寱 > yì; #5BF1 寲 > yí; #5BF2 寳 > băo; #5BF3 寴 > qìn; #5BF4 寵 > chÅng; #5BF5 寶 > băo; #5BF6 寷 > fÄ“ng; #5BF7 寸 > cùn; #5BF8 对 > dùi; #5BF9 寺 > sì; #5BFA 寻 > xún; #5BFB 导 > dăo; #5BFC 寽 > lÇœ; #5BFD 対 > dùi; #5BFE 寿 > shòu; #5BFF å°€ > pÅ; #5C00 å° > fÄ“ng; #5C01 å°‚ > zhuÄn; #5C02 å°ƒ > fÅ«; #5C03 å°„ > shè; #5C04 å°… > kè; #5C05 å°† > jiÄng; #5C06 å°‡ > jiÄng; #5C07 å°ˆ > zhuÄn; #5C08 å°‰ > wèi; #5C09 å°Š > zÅ«n; #5C0A å°‹ > xún; #5C0B å°Œ > shù; #5C0C å° > dùi; #5C0D å°Ž > dăo; #5C0E å° > xiăo; #5C0F å° > jÄ«; #5C10 å°‘ > shăo; #5C11 å°’ > Ä•r; #5C12 å°“ > Ä•r; #5C13 å°” > Ä•r; #5C14 å°• > gă; #5C15 å°– > jiÄn; #5C16 å°— > shú; #5C17 å°˜ > chén; #5C18 å°™ > shàng; #5C19 å°š > shàng; #5C1A å°› > mo; #5C1B å°œ > gá; #5C1C å° > cháng; #5C1D å°ž > liào; #5C1E å°Ÿ > xiăn; #5C1F å°  > xiăn; #5C20 å°¢ > wÄng; #5C22 å°£ > wÄng; #5C23 å°¤ > yóu; #5C24 å°¥ > liào; #5C25 å°¦ > liào; #5C26 å°§ > yáo; #5C27 å°¨ > máng; #5C28 å°© > wÄng; #5C29 å°ª > wÄng; #5C2A å°« > wÄng; #5C2B å°¬ > gà; #5C2C å°­ > yáo; #5C2D å°® > dùo; #5C2E å°¯ > kùi; #5C2F å°° > zhÅng; #5C30 å°± > jìu; #5C31 å°² > gÄn; #5C32 å°³ > gÅ­; #5C33 å°´ > gÄn; #5C34 å°µ > túi; #5C35 å°¶ > gÄn; #5C36 å°· > gÄn; #5C37 å°¸ > shÄ«; #5C38 å°¹ > yÄ­n; #5C39 å°º > chÄ­; #5C3A å°» > kÄo; #5C3B å°¼ > ní; #5C3C å°½ > jÄ­n; #5C3D å°¾ > wÄ•i; #5C3E å°¿ > niào; #5C3F å±€ > jú; #5C40 å± > pì; #5C41 层 > céng; #5C42 屃 > xì; #5C43 屄 > bÄ«; #5C44 å±… > jÅ«; #5C45 屆 > jiè; #5C46 屇 > tián; #5C47 屈 > qÅ«; #5C48 屉 > tì; #5C49 届 > jiè; #5C4A 屋 > wÅ«; #5C4B 屌 > diăo; #5C4C å± > shÄ«; #5C4D 屎 > shÄ­; #5C4E å± > píng; #5C4F å± > jÄ«; #5C50 屑 > xiè; #5C51 å±’ > chén; #5C52 屓 > xì; #5C53 å±” > ní; #5C54 展 > zhăn; #5C55 å±– > xÄ«; #5C56 屘 > măn; #5C58 å±™ > Ä“; #5C59 屚 > lòu; #5C5A å±› > píng; #5C5B 屜 > tì; #5C5C å± > fèi; #5C5D 属 > shÅ­; #5C5E 屟 > xiè; #5C5F å±  > tú; #5C60 屡 > lÇš; #5C61 å±¢ > lÇš; #5C62 å±£ > xÄ­; #5C63 層 > céng; #5C64 å±¥ > lÇš; #5C65 屦 > jù; #5C66 å±§ > xiè; #5C67 屨 > jù; #5C68 屩 > juÄ“; #5C69 屪 > liáo; #5C6A 屫 > jué; #5C6B 屬 > shÅ­; #5C6C å±­ > xì; #5C6D å±® > chè; #5C6E 屯 > tún; #5C6F å±° > nì; #5C70 å±± > shÄn; #5C71 å±³ > xiÄn; #5C73 å±´ > lì; #5C74 å±µ > xuÄ“; #5C75 屸 > lóng; #5C78 å±¹ > yì; #5C79 屺 > qÄ­; #5C7A å±» > rèn; #5C7B å±¼ > wù; #5C7C å±½ > hàn; #5C7D å±¾ > shÄ“n; #5C7E 屿 > yÅ­; #5C7F å²€ > chÅ«; #5C80 å² > sùi; #5C81 岂 > qÄ­; #5C82 岄 > yuè; #5C84 å²… > băn; #5C85 岆 > yăo; #5C86 岇 > áng; #5C87 岈 > yá; #5C88 岉 > wù; #5C89 岊 > jié; #5C8A 岋 > è; #5C8B 岌 > jí; #5C8C å² > qiÄn; #5C8D 岎 > fÄ“n; #5C8E å² > yuán; #5C8F å² > qí; #5C90 岑 > cén; #5C91 å²’ > qián; #5C92 岓 > qí; #5C93 å²” > chà; #5C94 岕 > jiè; #5C95 å²– > qÅ«; #5C96 å²— > găng; #5C97 岘 > xiàn; #5C98 å²™ > ào; #5C99 岚 > lán; #5C9A å²› > dăo; #5C9B 岜 > bÄ; #5C9C å² > zùo; #5C9D 岞 > zùo; #5C9E 岟 > yăng; #5C9F å²  > jù; #5CA0 岡 > gÄng; #5CA1 å²¢ > kÄ•; #5CA2 å²£ > gÅu; #5CA3 岤 > xuè; #5CA4 å²¥ > bÄ“i; #5CA5 岦 > lì; #5CA6 å²§ > tiáo; #5CA7 岨 > jÅ«; #5CA8 岩 > yán; #5CA9 岪 > fú; #5CAA 岫 > xìu; #5CAB 岬 > jiă; #5CAC å²­ > líng; #5CAD å²® > túo; #5CAE 岯 > pÄ“i; #5CAF å²° > yÅu; #5CB0 å²± > dài; #5CB1 å²² > kuàng; #5CB2 å²³ > yuè; #5CB3 å²´ > qÅ«; #5CB4 å²µ > hù; #5CB5 å²¶ > pò; #5CB6 å²· > mín; #5CB7 岸 > àn; #5CB8 å²¹ > tiáo; #5CB9 岺 > líng; #5CBA å²» > chí; #5CBB å²½ > dÅng; #5CBD 岿 > kÅ«i; #5CBF å³€ > xìu; #5CC0 å³ > măo; #5CC1 峂 > tóng; #5CC2 峃 > xué; #5CC3 峄 > yì; #5CC4 峆 > hÄ“; #5CC6 峇 > kÄ“; #5CC7 峈 > lùo; #5CC8 峉 > Ä“; #5CC9 峊 > fù; #5CCA 峋 > xún; #5CCB 峌 > dié; #5CCC å³ > lù; #5CCD 峎 > Än; #5CCE å³ > Ä•r; #5CCF å³ > gÄi; #5CD0 峑 > quán; #5CD1 å³’ > tóng; #5CD2 峓 > yí; #5CD3 å³” > mÅ­; #5CD4 峕 > shí; #5CD5 å³– > Än; #5CD6 å³— > wéi; #5CD7 峘 > hÅ«; #5CD8 å³™ > zhì; #5CD9 峚 > mì; #5CDA å³› > lÄ­; #5CDB 峜 > jÄ«; #5CDC å³ > tóng; #5CDD 峞 > wéi; #5CDE 峟 > yòu; #5CDF 峡 > xiá; #5CE1 å³¢ > lÄ­; #5CE2 å³£ > yáo; #5CE3 峤 > jiào; #5CE4 å³¥ > zhÄ“ng; #5CE5 峦 > luán; #5CE6 å³§ > jiÄo; #5CE7 峨 > é; #5CE8 峩 > é; #5CE9 峪 > yù; #5CEA 峫 > yé; #5CEB 峬 > bÅ«; #5CEC å³­ > qiào; #5CED å³® > qÅ«n; #5CEE 峯 > fÄ“ng; #5CEF å³° > fÄ“ng; #5CF0 å³± > náo; #5CF1 å³² > lÄ­; #5CF2 å³³ > yóu; #5CF3 å³´ > xiàn; #5CF4 å³µ > hóng; #5CF5 å³¶ > dăo; #5CF6 å³· > shÄ“n; #5CF7 峸 > chéng; #5CF8 å³¹ > tú; #5CF9 峺 > gÄ•ng; #5CFA å³» > jùn; #5CFB å³¼ > hào; #5CFC å³½ > xiá; #5CFD å³¾ > yÄ«n; #5CFE 峿 > yÅ­; #5CFF å´€ > làng; #5D00 å´ > kăn; #5D01 å´‚ > láo; #5D02 å´ƒ > lái; #5D03 å´„ > xiăn; #5D04 å´… > què; #5D05 å´† > kÅng; #5D06 å´‡ > chóng; #5D07 å´ˆ > chóng; #5D08 å´‰ > tà; #5D09 å´Š > lin; #5D0A å´‹ > huá; #5D0B å´Œ > jÅ«; #5D0C å´ > lái; #5D0D å´Ž > qí; #5D0E å´ > mín; #5D0F å´ > kÅ«n; #5D10 å´‘ > kÅ«n; #5D11 å´’ > zú; #5D12 å´“ > gù; #5D13 å´” > cÅ«i; #5D14 å´• > yá; #5D15 å´– > yá; #5D16 å´— > găng; #5D17 å´˜ > lún; #5D18 å´™ > lún; #5D19 å´š > léng; #5D1A å´› > jué; #5D1B å´œ > dÅ«o; #5D1C å´ > zhÄ“ng; #5D1D å´ž > gÅ«o; #5D1E å´Ÿ > yín; #5D1F å´  > dÅng; #5D20 å´¡ > hán; #5D21 å´¢ > zhÄ“ng; #5D22 å´£ > wÄ•i; #5D23 å´¤ > yáo; #5D24 å´¥ > pÄ­; #5D25 å´¦ > yÄn; #5D26 å´§ > sÅng; #5D27 å´¨ > jié; #5D28 å´© > bÄ“ng; #5D29 å´ª > zú; #5D2A å´« > jué; #5D2B å´¬ > dÅng; #5D2C å´­ > zhăn; #5D2D å´® > gù; #5D2E å´¯ > yín; #5D2F å´± > zé; #5D31 å´² > huáng; #5D32 å´³ > yú; #5D33 å´´ > wÄ“i; #5D34 å´µ > yáng; #5D35 å´¶ > fÄ“ng; #5D36 å´· > qíu; #5D37 å´¸ > dùn; #5D38 å´¹ > tí; #5D39 å´º > yÄ­; #5D3A å´» > zhì; #5D3B å´¼ > shì; #5D3C å´½ > zăi; #5D3D å´¾ > yăo; #5D3E å´¿ > è; #5D3F åµ€ > zhù; #5D40 åµ > kÄn; #5D41 嵂 > lÇœ; #5D42 嵃 > yăn; #5D43 嵄 > mÄ•i; #5D44 åµ… > gÄn; #5D45 嵆 > jÄ«; #5D46 嵇 > jÄ«; #5D47 嵈 > huăn; #5D48 嵉 > tíng; #5D49 嵊 > shèng; #5D4A 嵋 > méi; #5D4B 嵌 > qiàn; #5D4C åµ > wù; #5D4D 嵎 > yú; #5D4E åµ > zÅng; #5D4F åµ > lán; #5D50 嵑 > jué; #5D51 åµ’ > yán; #5D52 嵓 > yán; #5D53 åµ” > wÄ•i; #5D54 嵕 > zÅng; #5D55 åµ– > chá; #5D56 åµ— > sùi; #5D57 嵘 > róng; #5D58 嵚 > qÄ«n; #5D5A åµ› > yú; #5D5B åµ > lÅu; #5D5D 嵞 > tú; #5D5E 嵟 > dÅ«i; #5D5F åµ  > xÄ«; #5D60 嵡 > wÄ“ng; #5D61 åµ¢ > cÄng; #5D62 åµ£ > dÄng; #5D63 嵤 > hóng; #5D64 åµ¥ > jié; #5D65 嵦 > ái; #5D66 åµ§ > líu; #5D67 嵨 > wÅ­; #5D68 嵩 > sÅng; #5D69 嵪 > qiÄo; #5D6A 嵫 > zÄ«; #5D6B 嵬 > wéi; #5D6C åµ­ > bÄ“ng; #5D6D åµ® > diÄn; #5D6E 嵯 > cúo; #5D6F åµ° > qiăn; #5D70 åµ± > yÅng; #5D71 åµ² > niè; #5D72 åµ³ > cúo; #5D73 åµ´ > jí; #5D74 åµ· > sÅng; #5D77 嵸 > zÅng; #5D78 åµ¹ > jiàng; #5D79 嵺 > liáo; #5D7A åµ» > kang; #5D7B åµ¼ > chăn; #5D7C åµ½ > dié; #5D7D åµ¾ > cÄ“n; #5D7E 嵿 > dÄ­ng; #5D7F å¶€ > tÅ«; #5D80 å¶ > lÅu; #5D81 å¶‚ > zhàng; #5D82 嶃 > zhăn; #5D83 å¶„ > zhăn; #5D84 å¶… > áo; #5D85 嶆 > cáo; #5D86 嶇 > qÅ«; #5D87 嶈 > qiÄng; #5D88 嶉 > zÅ«i; #5D89 å¶Š > zÅ­i; #5D8A å¶‹ > dăo; #5D8B å¶Œ > dăo; #5D8C å¶ > xí; #5D8D å¶Ž > yù; #5D8E å¶ > bó; #5D8F å¶ > lóng; #5D90 å¶‘ > xiăng; #5D91 å¶’ > céng; #5D92 å¶“ > bÅ; #5D93 å¶” > qÄ«n; #5D94 å¶• > jiÄo; #5D95 å¶– > yăn; #5D96 å¶— > láo; #5D97 嶘 > zhàn; #5D98 å¶™ > lín; #5D99 å¶š > liáo; #5D9A å¶› > liáo; #5D9B å¶œ > jÄ«n; #5D9C å¶ > dèng; #5D9D å¶ž > dùo; #5D9E å¶Ÿ > zÅ«n; #5D9F å¶  > jiào; #5DA0 å¶¡ > gùi; #5DA1 å¶¢ > yáo; #5DA2 å¶£ > qiáo; #5DA3 嶤 > yáo; #5DA4 å¶¥ > jué; #5DA5 嶦 > zhÄn; #5DA6 å¶§ > yì; #5DA7 嶨 > xué; #5DA8 å¶© > náo; #5DA9 嶪 > yè; #5DAA å¶« > yè; #5DAB 嶬 > yí; #5DAC å¶­ > è; #5DAD å¶® > xiăn; #5DAE 嶯 > jí; #5DAF å¶° > xiè; #5DB0 å¶± > kÄ•; #5DB1 å¶² > xÄ«; #5DB2 å¶³ > dì; #5DB3 å¶´ > ào; #5DB4 å¶µ > zÅ­i; #5DB5 å¶· > nì; #5DB7 嶸 > róng; #5DB8 å¶¹ > dăo; #5DB9 嶺 > lÄ­ng; #5DBA å¶» > zá; #5DBB å¶¼ > yÅ­; #5DBC å¶½ > yuè; #5DBD å¶¾ > yÄ­n; #5DBE å·€ > jiÄ“; #5DC0 å· > lì; #5DC1 å·‚ > sÅ­i; #5DC2 å·ƒ > lóng; #5DC3 å·„ > lóng; #5DC4 å·… > diÄn; #5DC5 å·† > yíng; #5DC6 å·‡ > xÄ«; #5DC7 å·ˆ > jú; #5DC8 å·‰ > chán; #5DC9 å·Š > yÄ­ng; #5DCA å·‹ > kÅ«i; #5DCB å·Œ > yán; #5DCC å· > wÄ“i; #5DCD å·Ž > náo; #5DCE å· > quán; #5DCF å· > chăo; #5DD0 å·‘ > cuán; #5DD1 å·’ > luán; #5DD2 å·“ > diÄn; #5DD3 å·” > diÄn; #5DD4 å·– > yán; #5DD6 å·— > yán; #5DD7 å·˜ > yăn; #5DD8 å·™ > náo; #5DD9 å·š > yăn; #5DDA å·› > chuÄn; #5DDB å·œ > gùi; #5DDC å· > chuÄn; #5DDD å·ž > zhÅu; #5DDE å·Ÿ > huÄng; #5DDF å·  > jÄ«ng; #5DE0 å·¡ > xún; #5DE1 å·¢ > cháo; #5DE2 å·£ > cháo; #5DE3 å·¤ > liÄ“; #5DE4 å·¥ > gÅng; #5DE5 å·¦ > zÅ­o; #5DE6 å·§ > qiăo; #5DE7 å·¨ > jù; #5DE8 å·© > gÅng; #5DE9 å·« > wÅ«; #5DEB å·® > chÄi; #5DEE å·¯ > qíu; #5DEF å·° > qíu; #5DF0 å·± > jÄ­; #5DF1 å·² > yÄ­; #5DF2 å·³ > sì; #5DF3 å·´ > bÄ; #5DF4 å·µ > zhÄ«; #5DF5 å·¶ > zhÄo; #5DF6 å·· > xiàng; #5DF7 å·¸ > yí; #5DF8 å·¹ > jÄ­n; #5DF9 å·º > xùn; #5DFA å·» > juàn; #5DFB å·½ > xùn; #5DFD å·¾ > jÄ«n; #5DFE å·¿ > fú; #5DFF 帀 > zÄ; #5E00 å¸ > bì; #5E01 市 > shì; #5E02 布 > bù; #5E03 帄 > dÄ«ng; #5E04 帅 > shuài; #5E05 帆 > fÄn; #5E06 帇 > niè; #5E07 师 > shÄ«; #5E08 帉 > fÄ“n; #5E09 帊 > pà; #5E0A 帋 > zhÄ­; #5E0B 希 > xÄ«; #5E0C å¸ > hù; #5E0D 帎 > dàn; #5E0E å¸ > wéi; #5E0F å¸ > zhàng; #5E10 帑 > tăng; #5E11 帒 > dài; #5E12 帓 > mà; #5E13 帔 > pèi; #5E14 帕 > pà; #5E15 帖 > tiÄ“; #5E16 帗 > fú; #5E17 帘 > lián; #5E18 帙 > zhì; #5E19 帚 > zhÅu; #5E1A 帛 > bó; #5E1B 帜 > zhì; #5E1C å¸ > dì; #5E1D 帞 > mò; #5E1E 帟 > yì; #5E1F 帠 > yì; #5E20 帡 > píng; #5E21 帢 > qià; #5E22 帣 > juàn; #5E23 帤 > rú; #5E24 帥 > shuài; #5E25 带 > dài; #5E26 帧 > zhèng; #5E27 帨 > shùi; #5E28 帩 > qiào; #5E29 帪 > zhÄ“n; #5E2A 師 > shÄ«; #5E2B 帬 > qún; #5E2C 席 > xí; #5E2D 帮 > bÄng; #5E2E 帯 > dài; #5E2F 帰 > gÅ«i; #5E30 帱 > chóu; #5E31 帲 > píng; #5E32 帳 > zhàng; #5E33 帴 > shÄ; #5E34 帵 > wÄn; #5E35 帶 > dài; #5E36 帷 > wéi; #5E37 常 > cháng; #5E38 帹 > shà; #5E39 帺 > qí; #5E3A 帻 > zé; #5E3B 帼 > gúo; #5E3C 帽 > mào; #5E3D 帾 > dÅ­; #5E3E 帿 > hóu; #5E3F å¹€ > zhèng; #5E40 å¹ > xÅ«; #5E41 幂 > mì; #5E42 幃 > wéi; #5E43 幄 > wò; #5E44 å¹… > fú; #5E45 幆 > yì; #5E46 幇 > bÄng; #5E47 幈 > píng; #5E48 幊 > gÅng; #5E4A 幋 > pán; #5E4B 幌 > huăng; #5E4C å¹ > dÄo; #5E4D 幎 > mì; #5E4E å¹ > jiÄ; #5E4F å¹ > téng; #5E50 幑 > hÅ«i; #5E51 å¹’ > zhÅng; #5E52 幓 > shÄn; #5E53 å¹” > màn; #5E54 幕 > mù; #5E55 å¹– > biÄo; #5E56 å¹— > gúo; #5E57 幘 > zé; #5E58 å¹™ > mù; #5E59 幚 > bÄng; #5E5A å¹› > zhàng; #5E5B 幜 > jÄ­ong; #5E5C å¹ > chăn; #5E5D 幞 > fú; #5E5E 幟 > zhì; #5E5F å¹  > hÅ«; #5E60 幡 > fÄn; #5E61 å¹¢ > chuáng; #5E62 å¹£ > bì; #5E63 幦 > mì; #5E66 å¹§ > qiÄo; #5E67 幨 > chÄn; #5E68 幩 > fén; #5E69 幪 > méng; #5E6A 幫 > bÄng; #5E6B 幬 > chóu; #5E6C å¹­ > miè; #5E6D å¹® > chú; #5E6E 幯 > jié; #5E6F å¹° > xiăn; #5E70 å¹± > lán; #5E71 å¹² > gÄn; #5E72 å¹³ > píng; #5E73 å¹´ > nián; #5E74 å¹µ > qiÄn; #5E75 å¹¶ > bìng; #5E76 å¹· > bìng; #5E77 幸 > xìng; #5E78 å¹¹ > gàn; #5E79 幺 > yÄo; #5E7A å¹» > huàn; #5E7B å¹¼ > yòu; #5E7C å¹½ > yÅu; #5E7D å¹¾ > jÄ­; #5E7E 广 > yăn; #5E7F 庀 > pÄ­; #5E80 åº > tÄ«ng; #5E81 庂 > zè; #5E82 広 > guăng; #5E83 庄 > zhuÄng; #5E84 庅 > mo; #5E85 庆 > qìng; #5E86 庇 > bì; #5E87 庈 > qín; #5E88 庉 > dùn; #5E89 床 > chuáng; #5E8A 庋 > gÅ­i; #5E8B 庌 > yă; #5E8C åº > bài; #5E8D 庎 > jiè; #5E8E åº > xù; #5E8F åº > lú; #5E90 庑 > wÅ­; #5E91 库 > kù; #5E93 应 > yìng; #5E94 底 > dÄ­; #5E95 庖 > páo; #5E96 店 > diàn; #5E97 庘 > yÄ; #5E98 庙 > miào; #5E99 庚 > gÄ“ng; #5E9A 庛 > cÄ«; #5E9B 府 > fÅ­; #5E9C åº > tóng; #5E9D 庞 > páng; #5E9E 废 > fèi; #5E9F 庠 > xiáng; #5EA0 庡 > yÄ­; #5EA1 庢 > zhì; #5EA2 庣 > tiÄo; #5EA3 庤 > zhì; #5EA4 庥 > xÄ«u; #5EA5 度 > dù; #5EA6 座 > zùo; #5EA7 庨 > xiÄo; #5EA8 庩 > tú; #5EA9 庪 > gÅ­i; #5EAA 庫 > kù; #5EAB 庬 > páng; #5EAC 庭 > tíng; #5EAD 庮 > yÅu; #5EAE 庯 > bÅ«; #5EAF 庰 > dÄ«ng; #5EB0 庱 > chÄ•ng; #5EB1 庲 > lái; #5EB2 庳 > bÄ“i; #5EB3 庴 > jí; #5EB4 庵 > Än; #5EB5 庶 > shù; #5EB6 康 > kÄng; #5EB7 庸 > yÅng; #5EB8 庹 > tÅ­o; #5EB9 庺 > sÅng; #5EBA 庻 > shù; #5EBB 庼 > qÄ­ng; #5EBC 庽 > yù; #5EBD 庾 > yÅ­; #5EBE 庿 > miào; #5EBF 廀 > sÅu; #5EC0 å» > cè; #5EC1 廂 > xiÄng; #5EC2 廃 > fèi; #5EC3 廄 > jìu; #5EC4 å»… > hé; #5EC5 廆 > hùi; #5EC6 廇 > lìu; #5EC7 廈 > shà; #5EC8 廉 > lián; #5EC9 廊 > láng; #5ECA 廋 > sÅu; #5ECB 廌 > jiàn; #5ECC å» > pÅu; #5ECD 廎 > qÄ­ng; #5ECE å» > jìu; #5ECF å» > jìu; #5ED0 廑 > qín; #5ED1 å»’ > áo; #5ED2 廓 > kùo; #5ED3 å»” > lóu; #5ED4 廕 > yÄ«n; #5ED5 å»– > liào; #5ED6 å»— > dài; #5ED7 廘 > lù; #5ED8 å»™ > yì; #5ED9 廚 > chú; #5EDA å»› > chán; #5EDB 廜 > tÅ«; #5EDC å» > sÄ«; #5EDD 廞 > xÄ«n; #5EDE 廟 > miào; #5EDF å»  > chăng; #5EE0 廡 > wÅ­; #5EE1 廢 > fèi; #5EE2 廣 > guăng; #5EE3 廥 > kuài; #5EE5 廦 > bì; #5EE6 å»§ > qiáng; #5EE7 廨 > xiè; #5EE8 廩 > lÄ­n; #5EE9 廪 > lÄ­n; #5EEA 廫 > liáo; #5EEB 廬 > lú; #5EEC å»® > yíng; #5EEE 廯 > xiÄn; #5EEF å»° > tÄ«ng; #5EF0 å»± > yÅng; #5EF1 廲 > lí; #5EF2 廳 > tÄ«ng; #5EF3 å»´ > yÄ­n; #5EF4 廵 > xún; #5EF5 å»¶ > yán; #5EF6 å»· > tíng; #5EF7 廸 > dí; #5EF8 廹 > pò; #5EF9 建 > jiàn; #5EFA å»» > húi; #5EFB 廼 > năi; #5EFC 廽 > húi; #5EFD 廾 > gòng; #5EFE 廿 > niàn; #5EFF å¼€ > kÄi; #5F00 å¼ > biàn; #5F01 异 > yì; #5F02 弃 > qì; #5F03 弄 > nòng; #5F04 å¼… > fén; #5F05 弆 > jÅ­; #5F06 弇 > yăn; #5F07 弈 > yì; #5F08 弉 > zàng; #5F09 弊 > bì; #5F0A 弋 > yì; #5F0B 弌 > yÄ«; #5F0C å¼ > èr; #5F0D 弎 > sÄn; #5F0E å¼ > shì; #5F0F å¼ > èr; #5F10 弑 > shì; #5F11 å¼’ > shì; #5F12 弓 > gÅng; #5F13 å¼” > diào; #5F14 引 > yÄ­n; #5F15 å¼– > hù; #5F16 å¼— > fú; #5F17 弘 > hóng; #5F18 å¼™ > wÅ«; #5F19 弚 > túi; #5F1A å¼› > chí; #5F1B 弜 > jiàng; #5F1C å¼ > bà; #5F1D 弞 > shÄ•n; #5F1E 弟 > dì; #5F1F å¼  > zhÄng; #5F20 弡 > jué; #5F21 å¼¢ > tÄo; #5F22 å¼£ > fÅ­; #5F23 弤 > dÄ­; #5F24 å¼¥ > mí; #5F25 弦 > xián; #5F26 å¼§ > hú; #5F27 弨 > chÄo; #5F28 弩 > nÅ­; #5F29 弪 > jìng; #5F2A 弫 > zhÄ•n; #5F2B 弬 > yí; #5F2C å¼­ > mÄ­; #5F2D å¼® > quÄn; #5F2E 弯 > wÄn; #5F2F å¼° > shÄo; #5F30 å¼± > rùo; #5F31 å¼² > xuÄn; #5F32 å¼³ > jìng; #5F33 å¼´ > dÅ«n; #5F34 å¼µ > zhÄng; #5F35 å¼¶ > jiàng; #5F36 å¼· > qiáng; #5F37 弸 > péng; #5F38 å¼¹ > dàn; #5F39 强 > qiáng; #5F3A å¼» > bì; #5F3B å¼¼ > bì; #5F3C å¼½ > shè; #5F3D å¼¾ > dàn; #5F3E 弿 > jiăn; #5F3F å½€ > gòu; #5F40 彂 > fÄ; #5F42 彃 > bì; #5F43 彄 > kÅu; #5F44 彆 > biè; #5F46 彇 > xiÄo; #5F47 彈 > dàn; #5F48 彉 > kùo; #5F49 彊 > qiáng; #5F4A 彋 > hóng; #5F4B 彌 > mí; #5F4C å½ > kùo; #5F4D 彎 > wÄn; #5F4E å½ > jué; #5F4F å½ > jì; #5F50 彑 > jì; #5F51 å½’ > gÅ«i; #5F52 当 > dÄng; #5F53 å½” > lù; #5F54 录 > lù; #5F55 å½– > tuàn; #5F56 å½— > hùi; #5F57 彘 > zhì; #5F58 å½™ > hùi; #5F59 彚 > hùi; #5F5A å½› > yí; #5F5B 彜 > yí; #5F5C å½ > yí; #5F5D 彞 > yí; #5F5E 彟 > hùo; #5F5F å½  > hùo; #5F60 彡 > shÄn; #5F61 å½¢ > xíng; #5F62 å½£ > wén; #5F63 彤 > tóng; #5F64 å½¥ > yàn; #5F65 彦 > yàn; #5F66 å½§ > yù; #5F67 彨 > chÄ«; #5F68 彩 > căi; #5F69 彪 > biÄo; #5F6A 彫 > diÄo; #5F6B 彬 > bÄ«n; #5F6C å½­ > péng; #5F6D å½® > yÅng; #5F6E 彯 > piÄo; #5F6F å½° > zhÄng; #5F70 å½± > yÄ­ng; #5F71 å½² > chÄ«; #5F72 å½³ > chì; #5F73 å½´ > zhúo; #5F74 å½µ > tÅ­o; #5F75 å½¶ > jí; #5F76 å½· > páng; #5F77 彸 > zhÅng; #5F78 å½¹ > yì; #5F79 彺 > wáng; #5F7A å½» > chè; #5F7B å½¼ > bÄ­; #5F7C å½½ > chí; #5F7D å½¾ > lÄ­ng; #5F7E 彿 > fú; #5F7F å¾€ > wăng; #5F80 å¾ > zhÄ“ng; #5F81 徂 > cú; #5F82 徃 > wăng; #5F83 径 > jìng; #5F84 å¾… > dài; #5F85 徆 > xÄ«; #5F86 徇 > xùn; #5F87 很 > hÄ•n; #5F88 徉 > yáng; #5F89 徊 > huái; #5F8A 律 > lÇœ; #5F8B 後 > hòu; #5F8C å¾ > wÄ; #5F8D 徎 > chÄ•ng; #5F8E å¾ > zhì; #5F8F å¾ > xú; #5F90 徑 > jìng; #5F91 å¾’ > tú; #5F92 従 > cóng; #5F93 徕 > lái; #5F95 å¾– > cóng; #5F96 å¾— > dé; #5F97 徘 > pái; #5F98 å¾™ > xÄ­; #5F99 å¾› > qì; #5F9B 徜 > cháng; #5F9C å¾ > zhì; #5F9D 從 > cóng; #5F9E 徟 > zhÅu; #5F9F å¾  > lái; #5FA0 御 > yù; #5FA1 å¾¢ > xiè; #5FA2 å¾£ > jiè; #5FA3 徤 > jiàn; #5FA4 å¾¥ > chí; #5FA5 徦 > jiă; #5FA6 å¾§ > biàn; #5FA7 徨 > huáng; #5FA8 復 > fù; #5FA9 循 > xún; #5FAA 徫 > wÄ•i; #5FAB 徬 > páng; #5FAC å¾­ > yáo; #5FAD å¾® > wÄ“i; #5FAE 徯 > xÄ«; #5FAF å¾° > zhÄ“ng; #5FB0 å¾± > piào; #5FB1 å¾² > chí; #5FB2 å¾³ > dé; #5FB3 å¾´ > zhÄ“ng; #5FB4 å¾µ > zhÄ“ng; #5FB5 å¾¶ > biè; #5FB6 å¾· > dé; #5FB7 徸 > chÅng; #5FB8 å¾¹ > chè; #5FB9 徺 > jiăo; #5FBA å¾» > wèi; #5FBB å¾¼ > jiào; #5FBC å¾½ > hÅ«i; #5FBD å¾¾ > méi; #5FBE 徿 > lòng; #5FBF å¿€ > xiÄng; #5FC0 å¿ > bào; #5FC1 å¿‚ > qú; #5FC2 心 > xÄ«n; #5FC3 å¿„ > shù' 'xÄ«n' 'páng; #5FC4 å¿… > bì; #5FC5 忆 > yì; #5FC6 忇 > lè; #5FC7 忈 > rén; #5FC8 忉 > dÄo; #5FC9 忊 > dìng; #5FCA å¿‹ > găi; #5FCB 忌 > jì; #5FCC å¿ > rÄ•n; #5FCD 忎 > rén; #5FCE å¿ > chàn; #5FCF å¿ > tăn; #5FD0 å¿‘ > tè; #5FD1 å¿’ > tè; #5FD2 å¿“ > gÄn; #5FD3 å¿” > qì; #5FD4 å¿• > shì; #5FD5 å¿– > cÅ­n; #5FD6 å¿— > zhì; #5FD7 忘 > wàng; #5FD8 å¿™ > máng; #5FD9 忚 > xÄ«; #5FDA å¿› > fán; #5FDB 応 > yÄ«ng; #5FDC å¿ > tiăn; #5FDD 忞 > mín; #5FDE 忟 > mín; #5FDF å¿  > zhÅng; #5FE0 å¿¡ > chÅng; #5FE1 å¿¢ > wù; #5FE2 å¿£ > jí; #5FE3 忤 > wÅ­; #5FE4 å¿¥ > xì; #5FE5 忦 > yè; #5FE6 å¿§ > yÅu; #5FE7 忨 > wàn; #5FE8 å¿© > cÅng; #5FE9 忪 > zhÅng; #5FEA å¿« > kuài; #5FEB 忬 > yù; #5FEC å¿­ > biàn; #5FED å¿® > zhì; #5FEE 忯 > qí; #5FEF å¿° > cùi; #5FF0 忱 > chén; #5FF1 忲 > tài; #5FF2 忳 > tún; #5FF3 å¿´ > qián; #5FF4 念 > niàn; #5FF5 å¿¶ > hún; #5FF6 å¿· > xÄ«ong; #5FF7 忸 > nÄ­u; #5FF8 忹 > wăng; #5FF9 忺 > xiÄn; #5FFA å¿» > xÄ«n; #5FFB 忼 > kÄng; #5FFC 忽 > hÅ«; #5FFD 忾 > kài; #5FFE å¿¿ > fèn; #5FFF 怀 > huái; #6000 æ€ > tài; #6001 怂 > sÅng; #6002 怃 > wÅ­; #6003 怄 > òu; #6004 怅 > chàng; #6005 怆 > chuàng; #6006 怇 > jù; #6007 怈 > yì; #6008 怉 > băo; #6009 怊 > chÄo; #600A 怋 > mín; #600B 怌 > pÄ“i; #600C æ€ > zùo; #600D 怎 > zÄ•n; #600E æ€ > yàng; #600F æ€ > kòu; #6010 怑 > bàn; #6011 怒 > nù; #6012 怓 > náo; #6013 怔 > zhÄ“ng; #6014 怕 > pà; #6015 怖 > bù; #6016 怗 > tiÄ“; #6017 怘 > gù; #6018 怙 > hù; #6019 怚 > jù; #601A 怛 > dá; #601B 怜 > lián; #601C æ€ > sÄ«; #601D 怞 > chÅu; #601E 怟 > dì; #601F 怠 > dài; #6020 怡 > yí; #6021 怢 > tú; #6022 怣 > yóu; #6023 怤 > fÅ«; #6024 急 > jí; #6025 怦 > pÄ“ng; #6026 性 > xìng; #6027 怨 > yuàn; #6028 怩 > ní; #6029 怪 > guài; #602A 怫 > fú; #602B 怬 > xì; #602C 怭 > bì; #602D 怮 > yÅu; #602E 怯 > qiè; #602F 怰 > xuàn; #6030 怱 > cÅng; #6031 怲 > bÄ­ng; #6032 怳 > huăng; #6033 怴 > xù; #6034 怵 > chù; #6035 怶 > pÄ«; #6036 怷 > xÄ«; #6037 怸 > xÄ«; #6038 怹 > tÄn; #6039 总 > zÅng; #603B 怼 > dùi; #603C 怿 > yì; #603F æ€ > chÄ­; #6040 æ > rèn; #6041 æ‚ > xún; #6042 æƒ > shì; #6043 æ„ > xì; #6044 æ… > lăo; #6045 æ† > héng; #6046 æ‡ > kuÄng; #6047 æˆ > mú; #6048 æ‰ > zhÄ­; #6049 æŠ > xié; #604A æ‹ > liàn; #604B æŒ > tiÄo; #604C æ > huăng; #604D æŽ > dié; #604E æ > hăo; #604F æ > kÅng; #6050 æ‘ > gÅ­i; #6051 æ’ > héng; #6052 æ“ > xÄ«; #6053 æ” > xiào; #6054 æ• > shù; #6055 æ– > sÄ«; #6056 æ— > kuă; #6057 æ˜ > qÄ«u; #6058 æ™ > yàng; #6059 æš > hùi; #605A æ› > húi; #605B æœ > chì; #605C æ > jiá; #605D æž > yí; #605E æŸ > xÄ«ong; #605F æ  > guài; #6060 æ¡ > lìn; #6061 æ¢ > hÅ«i; #6062 æ£ > zì; #6063 æ¤ > xù; #6064 æ¥ > chÄ­; #6065 æ¦ > xiàng; #6066 æ§ > nÇœ; #6067 æ¨ > hèn; #6068 æ© > Ä“n; #6069 æª > kè; #606A æ« > tÅng; #606B æ¬ > tián; #606C æ­ > gÅng; #606D æ® > quán; #606E æ¯ > xÄ«; #606F æ° > qià; #6070 æ± > yuè; #6071 æ² > pÄ“ng; #6072 æ³ > kÄ•n; #6073 æ´ > dé; #6074 æµ > hùi; #6075 æ¶ > è; #6076 æ¸ > tòng; #6078 æ¹ > yàn; #6079 æº > kăi; #607A æ» > cè; #607B æ¼ > năo; #607C æ½ > yùn; #607D æ¾ > máng; #607E æ¿ > yÅng; #607F æ‚€ > yÅng; #6080 æ‚ > yuÄn; #6081 æ‚‚ > pÄ«; #6082 悃 > kÅ­n; #6083 æ‚„ > qiăo; #6084 æ‚… > yuè; #6085 悆 > yù; #6086 悇 > yù; #6087 悈 > jiè; #6088 悉 > xÄ«; #6089 悊 > zhé; #608A æ‚‹ > lìn; #608B 悌 > tì; #608C æ‚ > hàn; #608D 悎 > hào; #608E æ‚ > qiè; #608F æ‚ > tì; #6090 æ‚‘ > bù; #6091 æ‚’ > yì; #6092 æ‚“ > qiàn; #6093 æ‚” > hÅ­i; #6094 æ‚• > xÄ«; #6095 æ‚– > bèi; #6096 æ‚— > mán; #6097 悘 > yÄ«; #6098 æ‚™ > hÄ“ng; #6099 悚 > sÅng; #609A æ‚› > quÄn; #609B 悜 > chÄ•ng; #609C æ‚ > hÅ«i; #609D 悞 > wù; #609E 悟 > wù; #609F æ‚  > yÅu; #60A0 æ‚¡ > lí; #60A1 æ‚¢ > liàng; #60A2 æ‚£ > huàn; #60A3 悤 > cÅng; #60A4 æ‚¥ > yì; #60A5 悦 > yuè; #60A6 æ‚§ > lì; #60A7 您 > nín; #60A8 æ‚© > năo; #60A9 悪 > è; #60AA æ‚« > què; #60AB 悬 > xuán; #60AC æ‚­ > qiÄn; #60AD æ‚® > wù; #60AE 悯 > mÄ­n; #60AF æ‚° > cóng; #60B0 悱 > fÄ•i; #60B1 悲 > bÄ“i; #60B2 悳 > dúo; #60B3 æ‚´ > cùi; #60B4 悵 > chàng; #60B5 æ‚¶ > mèn; #60B6 æ‚· > lì; #60B7 悸 > jì; #60B8 悹 > guàn; #60B9 悺 > guàn; #60BA æ‚» > xìng; #60BB 悼 > dào; #60BC 悽 > qÄ«; #60BD 悾 > kÅng; #60BE æ‚¿ > tiăn; #60BF 惀 > lún; #60C0 æƒ > xÄ«; #60C1 惂 > kăn; #60C2 惃 > kÅ«n; #60C3 惄 > nì; #60C4 情 > qíng; #60C5 惆 > chóu; #60C6 惇 > dÅ«n; #60C7 惈 > gÅ­o; #60C8 惉 > chÄn; #60C9 惊 > liáng; #60CA 惋 > wăn; #60CB 惌 > yuÄn; #60CC æƒ > jÄ«n; #60CD 惎 > jì; #60CE æƒ > lín; #60CF æƒ > yù; #60D0 惑 > hùo; #60D1 惒 > hé; #60D2 惓 > quán; #60D3 惔 > tán; #60D4 惕 > tì; #60D5 惖 > tì; #60D6 惗 > niÄ“; #60D7 惘 > wăng; #60D8 惙 > chùo; #60D9 惚 > bÅ«; #60DA 惛 > hÅ«n; #60DB 惜 > xÄ«; #60DC æƒ > tăng; #60DD 惞 > xÄ«n; #60DE 惟 > wéi; #60DF 惠 > hùi; #60E0 惡 > è; #60E1 惢 > rÅ­i; #60E2 惣 > zÅng; #60E3 惤 > jiÄn; #60E4 惥 > yÅng; #60E5 惦 > diàn; #60E6 惧 > jù; #60E7 惨 > căn; #60E8 惩 > chéng; #60E9 惪 > dé; #60EA 惫 > bèi; #60EB 惬 > qiè; #60EC 惭 > cán; #60ED 惮 > dàn; #60EE 惯 > guàn; #60EF 惰 > dùo; #60F0 惱 > năo; #60F1 惲 > yùn; #60F2 想 > xiăng; #60F3 惴 > zhùi; #60F4 惵 > diè; #60F5 惶 > huáng; #60F6 惷 > chÅ­n; #60F7 惸 > qíong; #60F8 惹 > rÄ•; #60F9 惺 > xÄ«ng; #60FA 惻 > cè; #60FB 惼 > biăn; #60FC 惽 > hÅ«n; #60FD 惾 > zÅng; #60FE 惿 > tí; #60FF æ„€ > qiăo; #6100 æ„ > chóu; #6101 æ„‚ > bèi; #6102 愃 > xuÄn; #6103 æ„„ > wÄ“i; #6104 æ„… > gé; #6105 愆 > qiÄn; #6106 愇 > wÄ•i; #6107 愈 > yù; #6108 愉 > yú; #6109 愊 > bì; #610A æ„‹ > xuÄn; #610B 愌 > huàn; #610C æ„ > mÄ­n; #610D 愎 > bì; #610E æ„ > yì; #610F æ„ > miăn; #6110 æ„‘ > yÅng; #6111 æ„’ > kài; #6112 æ„“ > dàng; #6113 æ„” > yÄ«n; #6114 æ„• > è; #6115 æ„– > chén; #6116 æ„— > mòu; #6117 愘 > kè; #6118 æ„™ > kè; #6119 愚 > yú; #611A æ„› > ài; #611B 愜 > qiè; #611C æ„ > yăn; #611D 愞 > nùo; #611E 感 > găn; #611F æ„  > yùn; #6120 æ„¡ > zÅng; #6121 æ„¢ > sÄi; #6122 æ„£ > léng; #6123 愤 > fèn; #6124 愦 > kùi; #6126 æ„§ > kùi; #6127 愨 > què; #6128 æ„© > gÅng; #6129 愪 > yún; #612A æ„« > sù; #612B 愬 > sù; #612C æ„­ > qí; #612D æ„® > yáo; #612E 愯 > sÅng; #612F æ„° > huăng; #6130 愱 > jí; #6131 愲 > gÅ­; #6132 愳 > jù; #6133 æ„´ > chuàng; #6134 愵 > nì; #6135 æ„¶ > xié; #6136 æ„· > kăi; #6137 愸 > zhÄ•ng; #6138 愹 > yÅng; #6139 愺 > căo; #613A æ„» > sùn; #613B 愼 > shèn; #613C 愽 > bó; #613D 愾 > kài; #613E æ„¿ > yuàn; #613F æ…€ > xié; #6140 æ… > hùn; #6141 æ…‚ > yÅng; #6142 æ…ƒ > yăng; #6143 æ…„ > lì; #6144 æ…… > sÄo; #6145 æ…† > tÄo; #6146 æ…‡ > yÄ«n; #6147 æ…ˆ > cí; #6148 æ…‰ > xù; #6149 æ…Š > qiàn; #614A æ…‹ > tài; #614B æ…Œ > huÄng; #614C æ… > yùn; #614D æ…Ž > shèn; #614E æ… > mÄ­ng; #614F æ…‘ > shè; #6151 æ…’ > cóng; #6152 æ…“ > piào; #6153 æ…” > mò; #6154 æ…• > mù; #6155 æ…– > gúo; #6156 æ…— > chì; #6157 æ…˜ > căn; #6158 æ…™ > cán; #6159 æ…š > cán; #615A æ…› > cúi; #615B æ…œ > mÄ­n; #615C æ… > tè; #615D æ…ž > zhÄng; #615E æ…Ÿ > tòng; #615F æ…  > ào; #6160 æ…¡ > shuăng; #6161 æ…¢ > màn; #6162 æ…£ > guàn; #6163 æ…¤ > què; #6164 æ…¥ > zào; #6165 æ…¦ > jìu; #6166 æ…§ > hùi; #6167 æ…¨ > kăi; #6168 æ…© > lián; #6169 æ…ª > òu; #616A æ…« > sÅng; #616B æ…¬ > jÄ­n; #616C æ…­ > yìn; #616D æ…® > lÇœ; #616E æ…¯ > shÄng; #616F æ…° > wèi; #6170 æ…± > tuán; #6171 æ…² > mán; #6172 æ…³ > qiÄn; #6173 æ…´ > shè; #6174 æ…µ > yÅng; #6175 æ…¶ > qìng; #6176 æ…· > kÄng; #6177 æ…¸ > dì; #6178 æ…¹ > zhí; #6179 æ…º > lóu; #617A æ…» > juàn; #617B æ…¼ > qÄ«; #617C æ…½ > qÄ«; #617D æ…¾ > yù; #617E æ…¿ > píng; #617F 憀 > liáo; #6180 æ† > cÅng; #6181 憂 > yÅu; #6182 憃 > chÅng; #6183 憄 > zhì; #6184 憅 > tòng; #6185 憆 > chÄ“ng; #6186 憇 > qì; #6187 憈 > qÅ«; #6188 憉 > péng; #6189 憊 > bèi; #618A 憋 > biÄ“; #618B 憌 > chún; #618C æ† > jiÄo; #618D 憎 > zÄ“ng; #618E æ† > chì; #618F æ† > lián; #6190 憑 > píng; #6191 憒 > kùi; #6192 憓 > hùi; #6193 憔 > qiáo; #6194 憕 > chéng; #6195 憖 > yìn; #6196 憗 > yìn; #6197 憘 > xÄ­; #6198 憙 > xÄ­; #6199 憚 > dàn; #619A 憛 > tán; #619B 憜 > dÅ­o; #619C æ† > dùi; #619D 憞 > dùi; #619E 憟 > sù; #619F 憠 > jué; #61A0 憡 > cè; #61A1 憢 > xiÄo; #61A2 憣 > fán; #61A3 憤 > fèn; #61A4 憥 > láo; #61A5 憦 > lào; #61A6 憧 > chÅng; #61A7 憨 > hÄn; #61A8 憩 > qì; #61A9 憪 > xián; #61AA 憫 > mÄ­n; #61AB 憬 > jÄ­ng; #61AC 憭 > liăo; #61AD 憮 > wÅ­; #61AE 憯 > căn; #61AF 憰 > jué; #61B0 憱 > cù; #61B1 憲 > xiàn; #61B2 憳 > tăn; #61B3 憴 > shéng; #61B4 憵 > pÄ«; #61B5 憶 > yì; #61B6 憷 > chÅ­; #61B7 憸 > xiÄn; #61B8 憹 > náo; #61B9 憺 > dàn; #61BA 憻 > tăn; #61BB 憼 > jÄ­ng; #61BC 憽 > sÅng; #61BD 憾 > hàn; #61BE 憿 > jiÄo; #61BF 懀 > wài; #61C0 æ‡ > huán; #61C1 懂 > dÅng; #61C2 懃 > qín; #61C3 懄 > qín; #61C4 懅 > qú; #61C5 懆 > căo; #61C6 懇 > kÄ•n; #61C7 懈 > xiè; #61C8 應 > yìng; #61C9 懊 > ào; #61CA 懋 > mào; #61CB 懌 > yì; #61CC æ‡ > lÄ­n; #61CD 懎 > sè; #61CE æ‡ > jùn; #61CF æ‡ > huái; #61D0 懑 > mèn; #61D1 懒 > lăn; #61D2 懓 > ài; #61D3 懔 > lÄ­n; #61D4 懕 > yÄn; #61D5 懖 > guÄ; #61D6 懗 > xià; #61D7 懘 > chì; #61D8 懙 > yÅ­; #61D9 懚 > yìn; #61DA 懛 > dÄi; #61DB 懜 > mèng; #61DC æ‡ > ài; #61DD 懞 > méng; #61DE 懟 > dùi; #61DF 懠 > qí; #61E0 懡 > mÅ; #61E1 懢 > lán; #61E2 懣 > mèn; #61E3 懤 > chóu; #61E4 懥 > zhì; #61E5 懦 > nùo; #61E6 懧 > nùo; #61E7 懨 > yÄn; #61E8 懩 > yăng; #61E9 懪 > bó; #61EA 懫 > zhí; #61EB 懬 > kuàng; #61EC 懭 > kuàng; #61ED 懮 > yÅu; #61EE 懯 > fÅ«; #61EF 懰 > líu; #61F0 懱 > miè; #61F1 懲 > chéng; #61F2 懴 > chàn; #61F4 懵 > méng; #61F5 懶 > lăn; #61F6 懷 > huái; #61F7 懸 > xuán; #61F8 懹 > ràng; #61F9 懺 > chàn; #61FA 懻 > jì; #61FB 懼 > jù; #61FC 懽 > huÄn; #61FD 懾 > shè; #61FE 懿 > yì; #61FF 戀 > liàn; #6200 æˆ > năn; #6201 戂 > mí; #6202 戃 > tăng; #6203 戄 > jué; #6204 戅 > gàng; #6205 戆 > gàng; #6206 戇 > gàng; #6207 戈 > gÄ“; #6208 戉 > yuè; #6209 戊 > wù; #620A 戋 > jiÄn; #620B 戌 > xÅ«; #620C æˆ > shù; #620D 戎 > róng; #620E æˆ > xì; #620F æˆ > chéng; #6210 我 > wÅ; #6211 戒 > jiè; #6212 戓 > gÄ“; #6213 戔 > jiÄn; #6214 戕 > qiÄng; #6215 或 > hùo; #6216 戗 > qiÄng; #6217 战 > zhàn; #6218 戙 > dòng; #6219 戚 > qÄ«; #621A 戛 > jiá; #621B 戜 > dié; #621C æˆ > zéi; #621D 戞 > jiá; #621E 戟 > jÄ­; #621F 戠 > shì; #6220 戡 > kÄn; #6221 戢 > jí; #6222 戣 > kúi; #6223 戤 > gài; #6224 戥 > dÄ•ng; #6225 戦 > zhàn; #6226 戧 > chuÄng; #6227 戨 > gÄ“; #6228 戩 > jiăn; #6229 截 > jié; #622A 戫 > yù; #622B 戬 > jiăn; #622C 戭 > yăn; #622D 戮 > lù; #622E 戯 > xì; #622F 戰 > zhàn; #6230 戱 > xì; #6231 戲 > xì; #6232 戳 > chÅ«o; #6233 戴 > dài; #6234 戵 > qú; #6235 戶 > hù; #6236 户 > hù; #6237 戸 > hù; #6238 戹 > è; #6239 戺 > shì; #623A 戻 > lì; #623B 戼 > măo; #623C 戽 > hù; #623D 戾 > lì; #623E 房 > fáng; #623F 所 > sÅ­o; #6240 æ‰ > biăn; #6241 扂 > diàn; #6242 扃 > jÄ«ong; #6243 扄 > shăng; #6244 扅 > yí; #6245 扆 > yÄ­; #6246 扇 > shàn; #6247 扈 > hù; #6248 扉 > fÄ“i; #6249 扊 > yăn; #624A 手 > shÅu; #624B 扌 > tÌ„' 'shÅu' 'páng; #624C æ‰ > cái; #624D 扎 > zhÄ; #624E æ‰ > qíu; #624F æ‰ > lè; #6250 扑 > bÅ«; #6251 扒 > bÄ; #6252 打 > dă; #6253 扔 > rÄ“ng; #6254 払 > fú; #6255 扗 > zài; #6257 托 > tÅ«o; #6258 扙 > zhàng; #6259 扚 > diÄo; #625A 扛 > káng; #625B 扜 > yÅ«; #625C æ‰ > kÅ«; #625D 扞 > hàn; #625E 扟 > shÄ“n; #625F 扠 > chÄ; #6260 扡 > yÄ­; #6261 扢 > gÅ­; #6262 扣 > kòu; #6263 扤 > wù; #6264 扥 > tÅ«o; #6265 扦 > qiÄn; #6266 执 > zhí; #6267 扨 > rèn; #6268 扩 > kùo; #6269 扪 > mén; #626A 扫 > săo; #626B 扬 > yáng; #626C 扭 > nÄ­u; #626D 扮 > bàn; #626E 扯 > chÄ•; #626F 扰 > răo; #6270 扱 > xÄ«; #6271 扲 > qián; #6272 扳 > bÄn; #6273 扴 > jiá; #6274 扵 > yú; #6275 扶 > fú; #6276 扷 > ào; #6277 扸 > xÄ«; #6278 批 > pÄ«; #6279 扺 > zhÄ­; #627A 扻 > zì; #627B 扼 > è; #627C 扽 > dùn; #627D 找 > zhăo; #627E 承 > chéng; #627F 技 > jì; #6280 æŠ > yăn; #6281 抂 > kuáng; #6282 抃 > biàn; #6283 抄 > chÄo; #6284 抅 > jÅ«; #6285 抆 > wèn; #6286 抇 > hú; #6287 抈 > yuè; #6288 抉 > jué; #6289 把 > bă; #628A 抋 > qìn; #628B 抌 > zhÄ•n; #628C æŠ > zhÄ•ng; #628D 抎 > yÅ­n; #628E æŠ > wán; #628F æŠ > nù; #6290 抑 > yì; #6291 抒 > shÅ«; #6292 抓 > zhuÄ; #6293 抔 > póu; #6294 投 > tóu; #6295 抖 > dÅu; #6296 抗 > kàng; #6297 折 > zhé; #6298 抙 > póu; #6299 抚 > fÅ­; #629A 抛 > pÄo; #629B 抜 > bá; #629C æŠ > ăo; #629D 択 > zé; #629E 抟 > tuán; #629F 抠 > kÅu; #62A0 抡 > lún; #62A1 抢 > qiăng; #62A2 护 > hù; #62A4 报 > bào; #62A5 抦 > bÄ­ng; #62A6 抧 > zhÄ­; #62A7 抨 > pÄ“ng; #62A8 抩 > tÄn; #62A9 抪 > pÅ«; #62AA 披 > pÄ«; #62AB 抬 > tái; #62AC 抭 > yăo; #62AD 抮 > zhÄ•n; #62AE 抯 > zhÄ; #62AF 抰 > yăng; #62B0 抱 > bào; #62B1 抲 > hÄ“; #62B2 抳 > nÄ­; #62B3 抴 > yì; #62B4 抵 > dÄ­; #62B5 抶 > chì; #62B6 抷 > pÄ«; #62B7 抸 > zÄ; #62B8 抹 > mÅ; #62B9 抺 > mÅ; #62BA 抻 > shèn; #62BB 押 > yÄ; #62BC 抽 > chÅu; #62BD 抾 > qÅ«; #62BE 抿 > mÄ­n; #62BF æ‹€ > chù; #62C0 æ‹ > jiÄ; #62C1 æ‹‚ > fú; #62C2 拃 > zhăn; #62C3 æ‹„ > zhÅ­; #62C4 æ‹… > dàn; #62C5 拆 > chÄi; #62C6 拇 > mÅ­; #62C7 拈 > nián; #62C8 拉 > lÄ; #62C9 拊 > fÅ­; #62CA æ‹‹ > pÄo; #62CB 拌 > bàn; #62CC æ‹ > pÄi; #62CD 拎 > lÄ«ng; #62CE æ‹ > ná; #62CF æ‹ > guăi; #62D0 æ‹‘ > qián; #62D1 æ‹’ > jù; #62D2 æ‹“ > tùo; #62D3 æ‹” > bá; #62D4 æ‹• > tÅ«o; #62D5 æ‹– > tÅ«o; #62D6 æ‹— > ăo; #62D7 拘 > jÅ«; #62D8 æ‹™ > zhúo; #62D9 拚 > pàn; #62DA æ‹› > zhÄo; #62DB 拜 > bài; #62DC æ‹ > bài; #62DD 拞 > dÄ­; #62DE 拟 > nÄ­; #62DF æ‹  > jù; #62E0 æ‹¡ > kùo; #62E1 æ‹¢ > lÅng; #62E2 æ‹£ > jiăn; #62E3 æ‹¥ > yÅng; #62E5 拦 > lán; #62E6 æ‹§ > níng; #62E7 拨 > bÅ; #62E8 æ‹© > zé; #62E9 拪 > qiÄn; #62EA æ‹« > hén; #62EB 括 > guÄ; #62EC æ‹­ > shì; #62ED æ‹® > jié; #62EE 拯 > zhÄ•ng; #62EF æ‹° > nÄ­n; #62F0 拱 > gÅng; #62F1 拲 > gÅng; #62F2 拳 > quán; #62F3 æ‹´ > shuÄn; #62F4 拵 > cún; #62F5 æ‹¶ > zăn; #62F6 æ‹· > kăo; #62F7 拸 > chÄ­; #62F8 拹 > xié; #62F9 拺 > cè; #62FA æ‹» > hÅ«i; #62FB 拼 > pÄ«n; #62FC 拽 > zhuÄi; #62FD 拾 > shí; #62FE æ‹¿ > ná; #62FF 挀 > bò; #6300 æŒ > chí; #6301 挂 > guà; #6302 挃 > zhì; #6303 挄 > kùo; #6304 挅 > dÅ­o; #6305 挆 > dÅ­o; #6306 指 > zhÄ­; #6307 挈 > qiè; #6308 按 > àn; #6309 挊 > nòng; #630A 挋 > zhèn; #630B 挌 > gé; #630C æŒ > jiào; #630D 挎 > kÅ«; #630E æŒ > dòng; #630F æŒ > rú; #6310 挑 > tiÄo; #6311 挒 > liè; #6312 挓 > zhÄ; #6313 挔 > lÇš; #6314 挕 > dié; #6315 挖 > wÄ; #6316 挗 > jué; #6317 挙 > jÅ­; #6319 挚 > zhì; #631A 挛 > luán; #631B 挜 > yà; #631C æŒ > zhuÄ; #631D 挞 > tà; #631E 挟 > xié; #631F 挠 > náo; #6320 挡 > dăng; #6321 挢 > jiăo; #6322 挣 > zhÄ“ng; #6323 挤 > jÄ­; #6324 挥 > hÅ«i; #6325 挦 > xún; #6326 挨 > Äi; #6328 挩 > tÅ«o; #6329 挪 > núo; #632A 挫 > cùo; #632B 挬 > bó; #632C 挭 > gÄ•ng; #632D 挮 > tÄ­; #632E 振 > zhèn; #632F 挰 > chéng; #6330 挱 > sÅ«o; #6331 挲 > sÅ«o; #6332 挳 > kÄ“ng; #6333 挴 > mÄ•i; #6334 挵 > lòng; #6335 挶 > jú; #6336 挷 > péng; #6337 挸 > jiăn; #6338 挹 > yì; #6339 挺 > tÄ­ng; #633A 挻 > shÄn; #633B 挼 > nùo; #633C 挽 > wăn; #633D 挾 > xié; #633E 挿 > chÄ; #633F æ€ > fÄ“ng; #6340 æ > jiăo; #6341 æ‚ > wÅ­; #6342 æƒ > jùn; #6343 æ„ > jìu; #6344 æ… > tÅng; #6345 æ† > kÅ­n; #6346 æ‡ > hùo; #6347 æˆ > tú; #6348 æ‰ > zhÅ«o; #6349 æŠ > póu; #634A æ‹ > lè; #634B æŒ > bÄ; #634C æ > hàn; #634D æŽ > shÄo; #634E æ > niÄ“; #634F æ > juÄn; #6350 æ‘ > zé; #6351 æ’ > sÅng; #6352 æ“ > yé; #6353 æ” > jué; #6354 æ• > bÅ­; #6355 æ– > huán; #6356 æ— > bù; #6357 æ˜ > zùn; #6358 æ™ > yì; #6359 æš > zhÄi; #635A æ› > lÇš; #635B æœ > sÅu; #635C æ > tÅ«o; #635D æž > lÄo; #635E æŸ > sÅ­n; #635F æ  > bÄng; #6360 æ¡ > jiăn; #6361 æ¢ > huàn; #6362 æ£ > dăo; #6363 æ¥ > wàn; #6365 æ¦ > qín; #6366 æ§ > pÄ•ng; #6367 æ¨ > shÄ•; #6368 æ© > liè; #6369 æª > mín; #636A æ« > mén; #636B æ¬ > fÅ­; #636C æ­ > băi; #636D æ® > jù; #636E æ¯ > dăo; #636F æ° > wÅ; #6370 æ± > ái; #6371 æ² > juăn; #6372 æ³ > yuè; #6373 æ´ > zÅng; #6374 æµ > chÄ•n; #6375 æ¶ > chúi; #6376 æ· > jié; #6377 æ¸ > tÅ«; #6378 æ¹ > bèn; #6379 æº > nà; #637A æ» > niăn; #637B æ¼ > núo; #637C æ½ > zú; #637D æ¾ > wò; #637E æ¿ > xÄ«; #637F 掀 > xiÄn; #6380 æŽ > chéng; #6381 掂 > diÄn; #6382 掃 > săo; #6383 掄 > lún; #6384 掅 > qìng; #6385 掆 > gÄng; #6386 掇 > dúo; #6387 授 > shòu; #6388 掉 > diào; #6389 掊 > póu; #638A 掋 > dÄ­; #638B 掌 > zhăng; #638C æŽ > gÅ­n; #638D 掎 > jÄ­; #638E æŽ > tÄo; #638F æŽ > qiÄ; #6390 掑 > qí; #6391 排 > pái; #6392 掓 > shú; #6393 掔 > qiÄn; #6394 掕 > lìng; #6395 掖 > yì; #6396 掗 > yà; #6397 掘 > jué; #6398 掙 > zhÄ“ng; #6399 掚 > liăng; #639A 掛 > guà; #639B 掜 > yÄ­; #639C æŽ > hùo; #639D 掞 > shàn; #639E 掟 > zhÄ•ng; #639F 掠 > lÇœe; #63A0 採 > căi; #63A1 探 > tàn; #63A2 掣 > chè; #63A3 掤 > bÄ«ng; #63A4 接 > jiÄ“; #63A5 掦 > tì; #63A6 控 > kòng; #63A7 推 > tÅ«i; #63A8 掩 > yăn; #63A9 措 > cùo; #63AA 掫 > zÅu; #63AB 掬 > jú; #63AC 掭 > tiàn; #63AD 掮 > qián; #63AE 掯 > kèn; #63AF 掰 > bÄi; #63B0 掱 > shÅu; #63B1 掲 > jiÄ“; #63B2 掳 > lÅ­; #63B3 掴 > gúo; #63B4 掷 > zhí; #63B7 掸 > dăn; #63B8 掺 > xiÄn; #63BA 掻 > sÄo; #63BB 掼 > guàn; #63BC 掽 > pèng; #63BD 掾 > yuàn; #63BE 掿 > nùo; #63BF æ€ > jiăn; #63C0 æ > zhÄ“n; #63C1 æ‚ > jÄ«u; #63C2 æƒ > jiÄn; #63C3 æ„ > yú; #63C4 æ… > yán; #63C5 æ† > kúi; #63C6 æ‡ > năn; #63C7 æˆ > hÅng; #63C8 æ‰ > róu; #63C9 æŠ > pì; #63CA æ‹ > wÄ“i; #63CB æŒ > sÄi; #63CC æ > zòu; #63CD æŽ > xuÄn; #63CE æ > miáo; #63CF æ > tí; #63D0 æ‘ > niÄ“; #63D1 æ’ > chÄ; #63D2 æ“ > shì; #63D3 æ” > zÅng; #63D4 æ• > zhèn; #63D5 æ– > yÄ«; #63D6 æ— > shÅ­n; #63D7 æ˜ > héng; #63D8 æ™ > biàn; #63D9 æš > yáng; #63DA æ› > huàn; #63DB æœ > yăn; #63DC æ > zuàn; #63DD æž > ăn; #63DE æŸ > xÅ«; #63DF æ  > yà; #63E0 æ¡ > wò; #63E1 æ¢ > kè; #63E2 æ£ > chuăi; #63E3 æ¤ > jí; #63E4 æ¥ > tì; #63E5 æ¦ > lá; #63E6 æ§ > là; #63E7 æ¨ > chéng; #63E8 æ© > kÄi; #63E9 æª > jÄ«u; #63EA æ« > jÄ«u; #63EB æ¬ > tú; #63EC æ­ > jiÄ“; #63ED æ® > hÅ«i; #63EE æ¯ > gÄ“ng; #63EF æ° > chòng; #63F0 æ± > shùo; #63F1 æ² > shé; #63F2 æ³ > xiè; #63F3 æ´ > yuán; #63F4 æµ > qián; #63F5 æ¶ > yé; #63F6 æ· > chÄ; #63F7 æ¸ > zhÄ; #63F8 æ¹ > bÄ“i; #63F9 æº > yáo; #63FA æ½ > lăn; #63FD æ¾ > wèn; #63FE æ¿ > qìn; #63FF æ€ > chÄn; #6400 æ > gÄ“; #6401 æ‚ > lÅu; #6402 æƒ > zÅng; #6403 æ„ > gÄ“ng; #6404 æ… > jiăo; #6405 æ† > gòu; #6406 æ‡ > qìn; #6407 æˆ > yÅng; #6408 æ‰ > què; #6409 æŠ > chÅu; #640A æ‹ > chÄ­; #640B æŒ > zhăn; #640C æ > sÅ­n; #640D æŽ > sÅ«n; #640E æ > bó; #640F æ > chù; #6410 æ‘ > rÅng; #6411 æ’ > bèng; #6412 æ“ > cÅ«o; #6413 æ” > sÄo; #6414 æ• > kè; #6415 æ– > yáo; #6416 æ— > dăo; #6417 æ˜ > zhÄ«; #6418 æ™ > nù; #6419 æš > xié; #641A æ› > jiÄn; #641B æœ > sÅu; #641C æ > qÄ­u; #641D æž > găo; #641E æŸ > xiăn; #641F æ  > shùo; #6420 æ¡ > săng; #6421 æ¢ > jìn; #6422 æ£ > miè; #6423 æ¤ > è; #6424 æ¥ > chúi; #6425 æ¦ > nùo; #6426 æ§ > shÄn; #6427 æ¨ > tà; #6428 æ© > jié; #6429 æª > táng; #642A æ« > pán; #642B æ¬ > bÄn; #642C æ­ > dÄ; #642D æ® > lì; #642E æ¯ > tÄo; #642F æ° > hú; #6430 æ± > zhì; #6431 æ² > wÄ; #6432 æ³ > xiá; #6433 æ´ > qiÄn; #6434 æµ > wèn; #6435 æ¶ > qiăng; #6436 æ· > tián; #6437 æ¸ > zhÄ“n; #6438 æ¹ > è; #6439 æº > xÄ«; #643A æ» > nùo; #643B æ¼ > quán; #643C æ½ > chá; #643D æ¾ > zhà; #643E æ¿ > gé; #643F æ‘€ > wÅ­; #6440 æ‘ > èn; #6441 æ‘‚ > shè; #6442 摃 > káng; #6443 æ‘„ > shè; #6444 æ‘… > shÅ«; #6445 摆 > băi; #6446 摇 > yáo; #6447 摈 > bìn; #6448 摉 > sÅu; #6449 摊 > tÄn; #644A æ‘‹ > sà; #644B 摌 > chăn; #644C æ‘ > sÅ«o; #644D 摎 > liáo; #644E æ‘ > chÅng; #644F æ‘ > chuÄng; #6450 æ‘‘ > gúo; #6451 æ‘’ > bìng; #6452 æ‘“ > féng; #6453 æ‘” > shuÄi; #6454 æ‘• > dì; #6455 æ‘– > qì; #6456 æ‘— > sou; #6457 摘 > zhÄi; #6458 æ‘™ > liăn; #6459 摚 > táng; #645A æ‘› > chÄ«; #645B 摜 > guàn; #645C æ‘ > lù; #645D 摞 > lúo; #645E 摟 > lÅu; #645F æ‘  > zÅng; #6460 æ‘¡ > gài; #6461 æ‘¢ > hù; #6462 æ‘£ > zhÄ; #6463 摤 > chuăng; #6464 æ‘¥ > tàng; #6465 摦 > huà; #6466 æ‘§ > cÅ«i; #6467 摨 > nái; #6468 æ‘© > mó; #6469 摪 > jiÄng; #646A æ‘« > gÅ«i; #646B 摬 > yìng; #646C æ‘­ > zhí; #646D æ‘® > áo; #646E 摯 > zhì; #646F æ‘° > niè; #6470 摱 > mán; #6471 摲 > shàn; #6472 摳 > kÅu; #6473 æ‘´ > shÅ«; #6474 摵 > sÅ­o; #6475 æ‘¶ > tuán; #6476 æ‘· > jiăo; #6477 摸 > mÅ; #6478 摹 > mó; #6479 摺 > zhé; #647A æ‘» > xiÄn; #647B 摼 > kÄ“ng; #647C 摽 > piăo; #647D 摾 > jiàng; #647E æ‘¿ > yÄ«n; #647F æ’€ > gòu; #6480 æ’ > qiÄn; #6481 æ’‚ > lÇœe; #6482 æ’ƒ > jí; #6483 æ’„ > yÄ«ng; #6484 æ’… > juÄ“; #6485 æ’† > piÄ“; #6486 æ’‡ > piÄ•; #6487 æ’ˆ > lÄo; #6488 æ’‰ > dÅ«n; #6489 æ’Š > xiàn; #648A æ’‹ > ruán; #648B æ’Œ > kùi; #648C æ’ > zăn; #648D æ’Ž > yì; #648E æ’ > xún; #648F æ’ > chÄ“ng; #6490 æ’‘ > chÄ“ng; #6491 æ’’ > să; #6492 æ’“ > náo; #6493 æ’” > hèng; #6494 æ’• > sÄ«; #6495 æ’– > qiăn; #6496 æ’— > huáng; #6497 æ’˜ > dÄ; #6498 æ’™ > zÅ­n; #6499 æ’š > niăn; #649A æ’› > lÄ­n; #649B æ’œ > zhÄ•ng; #649C æ’ > hÅ«i; #649D æ’ž > zhuàng; #649E æ’Ÿ > jiăo; #649F æ’  > jÄ­; #64A0 æ’¡ > cÄo; #64A1 æ’¢ > dăn; #64A2 æ’£ > dăn; #64A3 æ’¤ > chè; #64A4 æ’¥ > bÅ; #64A5 æ’¦ > chÄ•; #64A6 æ’§ > jué; #64A7 æ’¨ > xiÄo; #64A8 æ’© > liáo; #64A9 æ’ª > bèn; #64AA æ’« > fÅ­; #64AB æ’¬ > qiào; #64AC æ’­ > bò; #64AD æ’® > cÅ«o; #64AE æ’¯ > zhúo; #64AF æ’° > zhuàn; #64B0 æ’± > tÅ­o; #64B1 æ’² > pÅ«; #64B2 æ’³ > qìn; #64B3 æ’´ > dÅ«n; #64B4 æ’µ > niăn; #64B5 æ’· > xié; #64B7 æ’¸ > lÅ­; #64B8 æ’¹ > jiăo; #64B9 æ’º > cuÄn; #64BA æ’» > tà; #64BB æ’¼ > hàn; #64BC æ’½ > qiào; #64BD æ’¾ > zhuÄ; #64BE æ’¿ > jiăn; #64BF æ“€ > găn; #64C0 æ“ > yÅng; #64C1 æ“‚ > léi; #64C2 擃 > kÅ­o; #64C3 æ“„ > lÅ­; #64C4 æ“… > shàn; #64C5 擆 > zhúo; #64C6 擇 > zé; #64C7 擈 > pÅ«; #64C8 擉 > chùo; #64C9 擊 > jí; #64CA æ“‹ > dăng; #64CB 擌 > sÅ­o; #64CC æ“ > cÄo; #64CD 擎 > qíng; #64CE æ“ > jìng; #64CF æ“ > huàn; #64D0 æ“‘ > jiÄ“; #64D1 æ“’ > qín; #64D2 æ““ > kuăi; #64D3 æ“” > dÄn; #64D4 æ“• > xÄ«; #64D5 æ“– > gÄ•; #64D6 æ“— > pì; #64D7 擘 > bò; #64D8 æ“™ > ào; #64D9 據 > jù; #64DA æ“› > yè; #64DB 擞 > sÅu; #64DE 擟 > mí; #64DF æ“  > jÄ­; #64E0 æ“¡ > tái; #64E1 æ“¢ > zhúo; #64E2 æ“£ > dăo; #64E3 擤 > xÄ­ng; #64E4 æ“¥ > lăn; #64E5 擦 > cÄ; #64E6 æ“§ > jÅ­; #64E7 擨 > yé; #64E8 æ“© > rÅ­; #64E9 擪 > yè; #64EA æ“« > yè; #64EB 擬 > nÄ­; #64EC æ“­ > hù; #64ED æ“® > jí; #64EE 擯 > bìn; #64EF æ“° > níng; #64F0 擱 > gÄ“; #64F1 擲 > zhí; #64F2 擳 > jié; #64F3 æ“´ > kùo; #64F4 擵 > mó; #64F5 æ“¶ > jiàn; #64F6 æ“· > xié; #64F7 擸 > liè; #64F8 擹 > tÄn; #64F9 擺 > băi; #64FA æ“» > sÅu; #64FB 擼 > lÅ­; #64FC 擽 > lÇœe; #64FD 擾 > răo; #64FE æ“¿ > zhí; #64FF 攀 > pÄn; #6500 æ” > yăng; #6501 攂 > lèi; #6502 攃 > sà; #6503 攄 > shÅ«; #6504 æ”… > zăn; #6505 攆 > niăn; #6506 攇 > xiăn; #6507 攈 > jùn; #6508 攉 > hùo; #6509 攊 > lì; #650A 攋 > là; #650B 攌 > hàn; #650C æ” > yíng; #650D 攎 > lú; #650E æ” > lÅng; #650F æ” > qiÄn; #6510 攑 > qiÄn; #6511 æ”’ > zăn; #6512 攓 > qiÄn; #6513 æ”” > lán; #6514 攕 > sÄn; #6515 æ”– > yÄ«ng; #6516 æ”— > méi; #6517 攘 > ráng; #6518 æ”™ > chÄn; #6519 æ”› > cuÄn; #651B 攜 > xÄ«; #651C æ” > shè; #651D 攞 > lÅ­o; #651E 攟 > jùn; #651F æ”  > mí; #6520 攡 > lí; #6521 攢 > zăn; #6522 攣 > lǘan; #6523 攤 > tÄn; #6524 攥 > zuàn; #6525 攦 > lì; #6526 æ”§ > diÄn; #6527 攨 > wÄ; #6528 攩 > dăng; #6529 攪 > jiăo; #652A 攫 > jué; #652B 攬 > lăn; #652C æ”­ > lì; #652D æ”® > năng; #652E 支 > zhÄ«; #652F æ”° > gùi; #6530 æ”± > gÅ­i; #6531 攲 > qÄ«; #6532 攳 > xín; #6533 æ”´ > pÅ«; #6534 攵 > sÅ«i; #6535 æ”¶ > shÅu; #6536 æ”· > káo; #6537 攸 > yÅu; #6538 改 > găi; #6539 攺 > yÄ­; #653A æ”» > gÅng; #653B 攼 > gÄn; #653C 攽 > bÄn; #653D 放 > fàng; #653E 政 > zhèng; #653F æ•€ > bó; #6540 æ• > diÄn; #6541 æ•‚ > kòu; #6542 敃 > mÄ­n; #6543 æ•„ > wù; #6544 æ•… > gù; #6545 敆 > hé; #6546 敇 > cè; #6547 效 > xiào; #6548 敉 > mÄ­; #6549 敊 > chù; #654A æ•‹ > gé; #654B 敌 > dí; #654C æ• > xù; #654D 敎 > jiào; #654E æ• > mÄ­n; #654F æ• > chén; #6550 æ•‘ > jìu; #6551 æ•’ > zhèn; #6552 æ•“ > dúo; #6553 æ•” > yÅ­; #6554 æ•• > chì; #6555 æ•– > áo; #6556 æ•— > bài; #6557 敘 > xù; #6558 æ•™ > jiào; #6559 敚 > dúo; #655A æ•› > liàn; #655B 敜 > niè; #655C æ• > bì; #655D 敞 > chăng; #655E 敟 > diăn; #655F æ•  > dúo; #6560 æ•¡ > yì; #6561 æ•¢ > găn; #6562 æ•£ > sàn; #6563 敤 > kÄ•; #6564 æ•¥ > yàn; #6565 敦 > dÅ«n; #6566 æ•§ > qÄ­; #6567 敨 > dÅu; #6568 æ•© > xiào; #6569 敪 > dúo; #656A æ•« > jiào; #656B 敬 > jìng; #656C æ•­ > yáng; #656D æ•® > xiá; #656E 敯 > mín; #656F æ•° > shù; #6570 敱 > ái; #6571 敲 > qiÄo; #6572 敳 > ái; #6573 æ•´ > zhÄ•ng; #6574 敵 > dí; #6575 æ•¶ > zhèn; #6576 æ•· > fÅ«; #6577 數 > shù; #6578 敹 > liáo; #6579 敺 > qÅ«; #657A æ•» > xìong; #657B 敼 > xÄ­; #657C 敽 > jiăo; #657D æ•¿ > jiăo; #657F æ–€ > zhúo; #6580 æ– > yì; #6581 æ–‚ > liàn; #6582 æ–ƒ > bì; #6583 æ–„ > lì; #6584 æ–… > xiào; #6585 æ–† > xiào; #6586 æ–‡ > wén; #6587 æ–ˆ > xué; #6588 æ–‰ > qí; #6589 æ–Š > qí; #658A æ–‹ > zhÄi; #658B æ–Œ > bÄ«n; #658C æ– > jué; #658D æ–Ž > zhÄi; #658E æ– > fÄ•i; #6590 æ–‘ > bÄn; #6591 æ–’ > bÄn; #6592 æ–“ > lán; #6593 æ–” > yÅ­; #6594 æ–• > lán; #6595 æ–– > wÄ•i; #6596 æ–— > dÅu; #6597 æ–˜ > shÄ“ng; #6598 æ–™ > liào; #6599 æ–š > jiă; #659A æ–› > hú; #659B æ–œ > xié; #659C æ– > jiă; #659D æ–ž > yÅ­; #659E æ–Ÿ > zhÄ“n; #659F æ–  > jiào; #65A0 æ–¡ > wò; #65A1 æ–¢ > tÅu; #65A2 æ–£ > chù; #65A3 æ–¤ > jÄ«n; #65A4 æ–¥ > chì; #65A5 æ–¦ > yín; #65A6 æ–§ > fÅ­; #65A7 æ–¨ > qiÄng; #65A8 æ–© > zhăn; #65A9 æ–ª > qú; #65AA æ–« > zhúo; #65AB æ–¬ > zhăn; #65AC æ–­ > duàn; #65AD æ–® > zhúo; #65AE æ–¯ > sÄ«; #65AF æ–° > xÄ«n; #65B0 æ–± > zhúo; #65B1 æ–² > zhúo; #65B2 æ–³ > qín; #65B3 æ–´ > lín; #65B4 æ–µ > zhúo; #65B5 æ–¶ > chù; #65B6 æ–· > duàn; #65B7 æ–¸ > zhÅ­; #65B8 æ–¹ > fÄng; #65B9 æ–º > xiè; #65BA æ–» > háng; #65BB æ–¼ > yú; #65BC æ–½ > shÄ«; #65BD æ–¾ > pèi; #65BE æ–¿ > yóu; #65BF æ— > páng; #65C1 æ—‚ > qí; #65C2 æ—ƒ > zhÄn; #65C3 æ—„ > máo; #65C4 æ—… > lÇš; #65C5 æ—† > pèi; #65C6 æ—‡ > pÄ«; #65C7 æ—ˆ > líu; #65C8 æ—‰ > fÅ«; #65C9 æ—Š > făng; #65CA æ—‹ > xuán; #65CB æ—Œ > jÄ«ng; #65CC æ— > jÄ«ng; #65CD æ—Ž > nÄ­; #65CE æ— > zú; #65CF æ— > zhào; #65D0 æ—‘ > yÄ­; #65D1 æ—’ > líu; #65D2 æ—“ > shÄo; #65D3 æ—” > jiàn; #65D4 æ—– > yÄ­; #65D6 æ—— > qí; #65D7 æ—˜ > zhì; #65D8 æ—™ > fÄn; #65D9 æ—š > piÄo; #65DA æ—› > fÄn; #65DB æ—œ > zhÄn; #65DC æ— > guài; #65DD æ—ž > sùi; #65DE æ—Ÿ > yú; #65DF æ—  > wú; #65E0 æ—¡ > jì; #65E1 æ—¢ > jì; #65E2 æ—£ > jì; #65E3 æ—¤ > hùo; #65E4 æ—¥ > rì; #65E5 æ—¦ > dàn; #65E6 æ—§ > jìu; #65E7 æ—¨ > zhÄ­; #65E8 æ—© > zăo; #65E9 æ—ª > xié; #65EA æ—« > tiÄo; #65EB æ—¬ > xún; #65EC æ—­ > xù; #65ED æ—® > xù; #65EE æ—¯ > xù; #65EF æ—° > gàn; #65F0 æ—± > hàn; #65F1 æ—² > tái; #65F2 æ—³ > dì; #65F3 æ—´ > xÅ«; #65F4 æ—µ > chăn; #65F5 æ—¶ > shí; #65F6 æ—· > kuàng; #65F7 æ—¸ > yáng; #65F8 æ—¹ > shí; #65F9 æ—º > wàng; #65FA æ—» > mín; #65FB æ—¼ > mín; #65FC æ—½ > tÅ«n; #65FD æ—¾ > chÅ«n; #65FE æ—¿ > wÅ­; #65FF 昀 > yún; #6600 æ˜ > bèi; #6601 昂 > áng; #6602 昃 > zè; #6603 昄 > băn; #6604 昅 > jié; #6605 昆 > kÅ«n; #6606 昇 > shÄ“ng; #6607 昈 > hù; #6608 昉 > făng; #6609 昊 > hào; #660A 昋 > gùi; #660B 昌 > chÄng; #660C æ˜ > xuÄn; #660D 明 > míng; #660E æ˜ > hÅ«n; #660F æ˜ > fÄ“n; #6610 昑 > qÄ­n; #6611 昒 > hÅ«; #6612 易 > yì; #6613 昔 > xí; #6614 昕 > xÄ«n; #6615 昖 > yán; #6616 昗 > zè; #6617 昘 > făng; #6618 昙 > tán; #6619 昚 > shèn; #661A 昛 > jù; #661B 昜 > yáng; #661C æ˜ > zăn; #661D 昞 > bÄ­ng; #661E 星 > xÄ«ng; #661F 映 > yìng; #6620 昡 > xuàn; #6621 昢 > pÄ•i; #6622 昣 > zhÄ•n; #6623 昤 > lÄ«ng; #6624 春 > chÅ«n; #6625 昦 > hào; #6626 昧 > mèi; #6627 昨 > zúo; #6628 昩 > mò; #6629 昪 > biàn; #662A 昫 > xÅ­; #662B 昬 > hÅ«n; #662C 昭 > zhÄo; #662D 昮 > zòng; #662E 是 > shì; #662F 昰 > shì; #6630 昱 > yù; #6631 昲 > fèi; #6632 昳 > dié; #6633 昴 > măo; #6634 昵 > nì; #6635 昶 > chăng; #6636 昷 > wÄ“n; #6637 昸 > dÅng; #6638 昹 > ăi; #6639 昺 > bÄ­ng; #663A 昻 > áng; #663B 昼 > zhòu; #663C 昽 > lóng; #663D 显 > xiăn; #663E 昿 > kuàng; #663F 晀 > tiăo; #6640 æ™ > cháo; #6641 時 > shí; #6642 晃 > huăng; #6643 晄 > huăng; #6644 æ™… > xuÄn; #6645 晆 > kúi; #6646 晇 > xÅ«; #6647 晈 > jiăo; #6648 晉 > jìn; #6649 晊 > zhÄ­; #664A 晋 > jìn; #664B 晌 > shăng; #664C æ™ > tóng; #664D 晎 > hÅng; #664E æ™ > yàn; #664F æ™ > gÄi; #6650 晑 > xiăng; #6651 æ™’ > shài; #6652 晓 > xiăo; #6653 æ™” > yÄ“; #6654 晕 > yÅ«n; #6655 æ™– > hÅ«i; #6656 æ™— > hán; #6657 晘 > hàn; #6658 æ™™ > jùn; #6659 晚 > wăn; #665A æ™› > xiàn; #665B 晜 > kÅ«n; #665C æ™ > zhòu; #665D 晞 > xÄ«; #665E 晟 > chéng; #665F æ™  > shéng; #6660 晡 > bÅ«; #6661 晢 > zhÄ“; #6662 晣 > zhÄ“; #6663 晤 > wù; #6664 晥 > hàn; #6665 晦 > hùi; #6666 æ™§ > hào; #6667 晨 > chén; #6668 晩 > wăn; #6669 晪 > tiăn; #666A 晫 > zhúo; #666B 晬 > zùi; #666C æ™­ > zhÅu; #666D æ™® > pÅ­; #666E 景 > jÄ­ng; #666F æ™° > xÄ«; #6670 æ™± > shăn; #6671 晲 > yÄ­; #6672 晳 > xì; #6673 æ™´ > qíng; #6674 晵 > qÄ­; #6675 æ™¶ > jÄ«ng; #6676 æ™· > gÅ­i; #6677 晸 > zhÄ•n; #6678 晹 > yì; #6679 智 > zhì; #667A æ™» > ăn; #667B 晼 > wăn; #667C 晽 > lín; #667D 晾 > liàng; #667E 晿 > chÄng; #667F 暀 > wăng; #6680 æš > xiăo; #6681 æš‚ > zàn; #6682 æš„ > xuÄn; #6684 æš… > xuăn; #6685 暆 > yí; #6686 暇 > xiá; #6687 暈 > yÅ«n; #6688 暉 > hÅ«i; #6689 暊 > fÅ­; #668A æš‹ > mÄ­n; #668B 暌 > kúi; #668C æš > hè; #668D 暎 > yìng; #668E æš > dÅ­; #668F æš > wÄ•i; #6690 æš‘ > shÅ­; #6691 æš’ > qíng; #6692 æš“ > mào; #6693 æš” > nán; #6694 æš• > jiăn; #6695 æš– > nuăn; #6696 æš— > àn; #6697 暘 > yáng; #6698 æš™ > chÅ«n; #6699 æšš > yáo; #669A æš› > sÅ­o; #669B æšœ > jìn; #669C æš > míng; #669D æšž > jiăo; #669E 暟 > kăi; #669F æš  > găo; #66A0 æš¡ > wÄ•ng; #66A1 暢 > chàng; #66A2 暣 > qì; #66A3 暤 > hào; #66A4 暥 > yàn; #66A5 暦 > lì; #66A6 æš§ > ài; #66A7 暨 > jì; #66A8 æš© > gùi; #66A9 暪 > mÄ•n; #66AA æš« > zàn; #66AB 暬 > xiè; #66AC æš­ > hào; #66AD æš® > mù; #66AE 暯 > mò; #66AF æš° > cÅng; #66B0 æš± > nì; #66B1 æš² > zhÄng; #66B2 æš³ > hùi; #66B3 æš´ > bào; #66B4 æšµ > hàn; #66B5 æš¶ > xuán; #66B6 æš· > chuán; #66B7 暸 > liáo; #66B8 æš¹ > xiÄn; #66B9 暺 > dàn; #66BA æš» > jÄ­ng; #66BB æš¼ > piÄ“; #66BC æš½ > lín; #66BD æš¾ > tÅ«n; #66BE æš¿ > xÄ­; #66BF 曀 > yì; #66C0 æ› > jì; #66C1 曂 > huàng; #66C2 曃 > tài; #66C3 曄 > yè; #66C4 æ›… > yè; #66C5 曆 > lì; #66C6 曇 > tán; #66C7 曈 > tóng; #66C8 曉 > xiăo; #66C9 曊 > fèi; #66CA 曋 > qÄ­n; #66CB 曌 > zhào; #66CC æ› > hào; #66CD 曎 > yì; #66CE æ› > xiàng; #66CF æ› > xÄ«ng; #66D0 曑 > sÄ“n; #66D1 æ›’ > jiăo; #66D2 曓 > bào; #66D3 æ›” > jìng; #66D4 曕 > yiàn; #66D5 æ›– > ài; #66D6 æ›— > yè; #66D7 曘 > rú; #66D8 æ›™ > shù; #66D9 曚 > méng; #66DA æ›› > xÅ«n; #66DB 曜 > yào; #66DC æ› > pù; #66DD 曞 > lì; #66DE 曟 > chén; #66DF æ›  > kuàng; #66E0 曡 > dié; #66E1 曣 > yàn; #66E3 曤 > hùo; #66E4 曥 > lú; #66E5 曦 > xÄ«; #66E6 æ›§ > róng; #66E7 曨 > lóng; #66E8 曩 > năng; #66E9 曪 > lÅ­o; #66EA 曫 > luán; #66EB 曬 > shài; #66EC æ›­ > tăng; #66ED æ›® > yăn; #66EE 曯 > chú; #66EF æ›° > yuÄ“; #66F0 æ›± > yuÄ“; #66F1 曲 > qÅ­; #66F2 曳 > yì; #66F3 æ›´ > gèng; #66F4 曵 > yè; #66F5 æ›¶ > hÅ«; #66F6 æ›· > hé; #66F7 書 > shÅ«; #66F8 曹 > cáo; #66F9 曺 > cáo; #66FA 曼 > màn; #66FC 曽 > cÄ“ng; #66FD 曾 > céng; #66FE 替 > tì; #66FF 最 > zùi; #6700 æœ > căn; #6701 朂 > xù; #6702 會 > hùi; #6703 朄 > yìn; #6704 朅 > qiè; #6705 朆 > fÄ“n; #6706 朇 > pí; #6707 月 > yuè; #6708 有 > yÅu; #6709 朊 > ruăn; #670A 朋 > péng; #670B 朌 > bÄn; #670C æœ > fú; #670D 朎 > líng; #670E æœ > fÄ•i; #670F æœ > qú; #6710 朒 > nÇœ; #6712 朓 > tiào; #6713 朔 > shùo; #6714 朕 > zhèn; #6715 朖 > lăng; #6716 朗 > lăng; #6717 朘 > juÄn; #6718 朙 > míng; #6719 朚 > huÄng; #671A 望 > wàng; #671B 朜 > tÅ«n; #671C æœ > zhÄo; #671D 朞 > jÄ«; #671E 期 > qí; #671F 朠 > yÄ«ng; #6720 朡 > zÅng; #6721 朢 > wàng; #6722 朣 > tóng; #6723 朤 > lăng; #6724 朦 > méng; #6726 朧 > lóng; #6727 木 > mù; #6728 朩 > dÄ•ng; #6729 未 > wèi; #672A 末 > mò; #672B 本 > bÄ•n; #672C 札 > zhá; #672D 朮 > zhú; #672E 术 > zhú; #672F 朱 > zhÅ«; #6731 朲 > rén; #6732 朳 > bÄ; #6733 朴 > pò; #6734 朵 > dÅ­o; #6735 朶 > dÅ­o; #6736 朷 > dÄo; #6737 朸 > lì; #6738 朹 > qíu; #6739 机 > jÄ«; #673A 朻 > jÄ«u; #673B 朼 > bÄ­; #673C 朽 > xÄ­u; #673D 朾 > tíng; #673E 朿 > cì; #673F æ€ > shÄ; #6740 æ‚ > zá; #6742 æƒ > quán; #6743 æ„ > qiÄn; #6744 æ… > yú; #6745 æ† > gÄn; #6746 æ‡ > wÅ«; #6747 æˆ > chÄ; #6748 æ‰ > shÄn; #6749 æŠ > xún; #674A æ‹ > fÄn; #674B æŒ > wù; #674C æ > zÄ­; #674D æŽ > lÄ­; #674E æ > xìng; #674F æ > cái; #6750 æ‘ > cÅ«n; #6751 æ’ > rèn; #6752 æ“ > sháo; #6753 æ” > tÅ«o; #6754 æ• > dì; #6755 æ– > zhàng; #6756 æ— > máng; #6757 æ˜ > chì; #6758 æ™ > yì; #6759 æš > gÅ­; #675A æ› > gÅng; #675B æœ > dù; #675C æ > yí; #675D æž > qÄ­; #675E æŸ > shù; #675F æ  > gÄng; #6760 æ¡ > tiáo; #6761 æ¥ > lái; #6765 æ§ > máng; #6767 æ¨ > yáng; #6768 æ© > mà; #6769 æª > miăo; #676A æ« > sì; #676B æ¬ > yuán; #676C æ­ > háng; #676D æ® > fèi; #676E æ¯ > bÄ“i; #676F æ° > jié; #6770 æ± > dÅng; #6771 æ² > găo; #6772 æ³ > yăo; #6773 æ´ > xiÄn; #6774 æµ > chÅ­; #6775 æ¶ > qÅ«n; #6776 æ· > pá; #6777 æ¸ > shÅ«; #6778 æ¹ > huà; #6779 æº > xÄ«n; #677A æ» > chÅu; #677B æ¼ > zhù; #677C æ½ > chÅu; #677D æ¾ > sÅng; #677E æ¿ > băn; #677F 枀 > sÅng; #6780 æž > jí; #6781 æž‚ > yuè; #6782 枃 > jìn; #6783 æž„ > gÅu; #6784 æž… > jÄ«; #6785 枆 > máo; #6786 枇 > pí; #6787 枈 > bì; #6788 枉 > wăng; #6789 枊 > àng; #678A æž‹ > fÄng; #678B 枌 > fén; #678C æž > yì; #678D 枎 > fú; #678E æž > nán; #678F æž > xÄ«; #6790 æž‘ > hù; #6791 æž’ > yá; #6792 æž“ > dÅu; #6793 æž” > xún; #6794 æž• > zhÄ•n; #6795 æž– > yÄo; #6796 æž— > lín; #6797 枘 > rùi; #6798 æž™ > é; #6799 æžš > méi; #679A æž› > zhào; #679B æžœ > gÅ­o; #679C æž > zhÄ«; #679D æžž > cÅng; #679E 枟 > yùn; #679F æž¡ > dÅu; #67A1 枢 > shÅ«; #67A2 枣 > zăo; #67A3 枥 > lì; #67A5 æž§ > jiàn; #67A7 枨 > chéng; #67A8 枪 > qiÄng; #67AA æž« > fÄ“ng; #67AB 枬 > nán; #67AC æž­ > xiÄo; #67AD æž® > xiÄn; #67AE 枯 > kÅ«; #67AF æž° > píng; #67B0 æž± > yí; #67B1 æž² > xÄ­; #67B2 æž³ > zhÄ«; #67B3 æž´ > guăi; #67B4 æžµ > xiÄo; #67B5 æž¶ > jià; #67B6 æž· > jiÄ; #67B7 枸 > gÅu; #67B8 æž¹ > fÅ«; #67B9 枺 > mò; #67BA æž» > yì; #67BB æž¼ > yè; #67BC æž½ > yè; #67BD æž¾ > shì; #67BE æž¿ > niè; #67BF 柀 > bÄ­; #67C0 æŸ > dùo; #67C1 柂 > yí; #67C2 柃 > líng; #67C3 柄 > bÄ­ng; #67C4 柅 > nÄ­; #67C5 柆 > lÄ; #67C6 柇 > hé; #67C7 柈 > pán; #67C8 柉 > fán; #67C9 柊 > zhÅng; #67CA 柋 > dài; #67CB 柌 > cí; #67CC æŸ > yÄng; #67CD 柎 > fÅ«; #67CE æŸ > bó; #67CF æŸ > mÅu; #67D0 柑 > gÄn; #67D1 柒 > qÄ«; #67D2 染 > răn; #67D3 柔 > róu; #67D4 柕 > mào; #67D5 柖 > zhÄo; #67D6 柗 > sÅng; #67D7 柘 > zhè; #67D8 柙 > xiá; #67D9 柚 > yòu; #67DA 柛 > shÄ“n; #67DB 柜 > jÅ­; #67DC æŸ > tùo; #67DD 柞 > zùo; #67DE 柟 > nán; #67DF 柠 > níng; #67E0 柡 > yÅng; #67E1 柢 > dÄ­; #67E2 柣 > zhí; #67E3 柤 > zhÄ; #67E4 查 > chá; #67E5 柦 > dàn; #67E6 柧 > gÅ«; #67E7 柨 > pu; #67E8 柩 > jìu; #67E9 柪 > Äo; #67EA 柫 > fú; #67EB 柬 > jiăn; #67EC 柭 > bÅ; #67ED 柮 > dùo; #67EE 柯 > kÄ“; #67EF 柰 > nài; #67F0 柱 > zhù; #67F1 柲 > bì; #67F2 柳 > lÄ­u; #67F3 柴 > chái; #67F4 柵 > zhà; #67F5 柶 > sì; #67F6 柷 > zhù; #67F7 柸 > pÄ“i; #67F8 柹 > shì; #67F9 柺 > guăi; #67FA 査 > chá; #67FB 柼 > yăo; #67FC 柽 > jué; #67FD 柾 > jìu; #67FE 柿 > shì; #67FF æ € > zhÄ«; #6800 æ  > lÄ­u; #6801 æ ‚ > méi; #6802 æ „ > róng; #6804 æ … > zhà; #6805 æ ‡ > biÄo; #6807 æ ˆ > zhàn; #6808 æ ‰ > jié; #6809 æ Š > lóng; #680A æ ‹ > dòng; #680B æ Œ > lú; #680C æ Ž > lì; #680E æ  > lán; #680F æ  > yÅng; #6810 æ ‘ > shù; #6811 æ ’ > xún; #6812 æ “ > shuÄn; #6813 æ ” > qì; #6814 æ • > zhÄ“n; #6815 æ – > qÄ«; #6816 æ — > lì; #6817 æ ˜ > yÄ­; #6818 æ ™ > xiáng; #6819 æ š > zhèn; #681A æ › > lì; #681B æ œ > sù; #681C æ  > guÄ; #681D æ ž > kÄn; #681E æ Ÿ > bÄ«ng; #681F æ   > rÄ•n; #6820 æ ¡ > xiào; #6821 æ ¢ > bó; #6822 æ £ > rÄ•n; #6823 æ ¤ > bìng; #6824 æ ¥ > zÄ«; #6825 æ ¦ > chóu; #6826 æ § > yì; #6827 æ ¨ > jié; #6828 æ © > xÅ­; #6829 æ ª > zhÅ«; #682A æ « > jiàn; #682B æ ¬ > zùi; #682C æ ­ > ér; #682D æ ® > Ä•r; #682E æ ¯ > yÅu; #682F æ ° > fá; #6830 æ ± > gÅng; #6831 æ ² > kăo; #6832 æ ³ > lăo; #6833 æ ´ > zhÄn; #6834 æ µ > lì; #6835 æ ¶ > yin; #6836 æ · > yáng; #6837 æ ¸ > hé; #6838 æ ¹ > gÄ“n; #6839 æ º > zhÄ­; #683A æ » > chì; #683B æ ¼ > gé; #683C æ ½ > zÄi; #683D æ ¾ > luán; #683E æ ¿ > fú; #683F æ¡€ > jié; #6840 æ¡ > háng; #6841 æ¡‚ > gùi; #6842 桃 > táo; #6843 æ¡„ > guàng; #6844 æ¡… > wéi; #6845 框 > kuàng; #6846 桇 > rú; #6847 案 > àn; #6848 桉 > àn; #6849 桊 > juàn; #684A æ¡‹ > yí; #684B 桌 > zhÅ«o; #684C æ¡ > kÅ«; #684D 桎 > zhí; #684E æ¡ > qíong; #684F æ¡ > tóng; #6850 æ¡‘ > sÄng; #6851 æ¡’ > sÄng; #6852 æ¡“ > huán; #6853 æ¡” > jié; #6854 æ¡• > jìu; #6855 æ¡– > xuè; #6856 æ¡— > dùo; #6857 桘 > zhùi; #6858 æ¡™ > yú; #6859 桚 > zăn; #685A 桜 > yÄ«ng; #685C 桟 > zhàn; #685F æ¡  > yá; #6860 æ¡¡ > náo; #6861 æ¡¢ > zhÄ“n; #6862 æ¡£ > dăng; #6863 桤 > qÄ«; #6864 æ¡¥ > qiáo; #6865 桦 > huà; #6866 æ¡§ > kuài; #6867 桨 > jiăng; #6868 æ¡© > zhuÄng; #6869 桪 > xún; #686A æ¡« > sÅ«o; #686B 桬 > shÄ; #686C æ¡­ > zhÄ“n; #686D æ¡® > bÄ“i; #686E 桯 > tÄ«ng; #686F æ¡° > guÄ; #6870 桱 > jìng; #6871 桲 > bó; #6872 桳 > bèn; #6873 æ¡´ > fú; #6874 桵 > rÅ­i; #6875 æ¡¶ > tÅng; #6876 æ¡· > jué; #6877 桸 > xÄ«; #6878 桹 > láng; #6879 桺 > lÄ­u; #687A æ¡» > fÄ“ng; #687B 桼 > qÄ«; #687C 桽 > wÄ•n; #687D 桾 > jÅ«n; #687E æ¡¿ > găn; #687F 梀 > cù; #6880 æ¢ > liáng; #6881 梂 > qíu; #6882 梃 > tÄ­ng; #6883 梄 > yÅu; #6884 梅 > méi; #6885 梆 > bÄng; #6886 梇 > lòng; #6887 梈 > pÄ“ng; #6888 梉 > zhuÄng; #6889 梊 > dì; #688A 梋 > xuÄn; #688B 梌 > tú; #688C æ¢ > zào; #688D 梎 > Äo; #688E æ¢ > gù; #688F æ¢ > bì; #6890 梑 > dí; #6891 梒 > hán; #6892 梓 > zÄ­; #6893 梔 > zhÄ«; #6894 梕 > rèn; #6895 梖 > bèi; #6896 梗 > gÄ•ng; #6897 梘 > jiàn; #6898 梙 > huàn; #6899 梚 > wăn; #689A 梛 > núo; #689B 梜 > jiá; #689C æ¢ > tiáo; #689D 梞 > jì; #689E 梟 > xiÄo; #689F 梠 > lÇš; #68A0 梡 > huán; #68A1 梢 > shÄo; #68A2 梣 > cén; #68A3 梤 > fén; #68A4 梥 > sÅng; #68A5 梦 > mèng; #68A6 梧 > wú; #68A7 梨 > lí; #68A8 梩 > lí; #68A9 梪 > dòu; #68AA 梫 > cÄ“n; #68AB 梬 > yÄ­ng; #68AC 梭 > sÅ«o; #68AD 梮 > jú; #68AE 梯 > tÄ«; #68AF 械 > jiè; #68B0 梱 > kÅ­n; #68B1 梲 > zhúo; #68B2 梳 > shÅ«; #68B3 梴 > chÄn; #68B4 梵 > fàn; #68B5 梶 > wÄ•i; #68B6 梷 > jìng; #68B7 梸 > lí; #68B8 梹 > bÄ«ng; #68B9 梼 > táo; #68BC 梽 > zhì; #68BD 梾 > lái; #68BE 梿 > lián; #68BF 检 > jiăn; #68C0 æ£ > zhúo; #68C1 棂 > líng; #68C2 棃 > lí; #68C3 棄 > qì; #68C4 棅 > bìng; #68C5 棆 > zhÅ«n; #68C6 棇 > cÅng; #68C7 棈 > qiàn; #68C8 棉 > mián; #68C9 棊 > qí; #68CA 棋 > qí; #68CB 棌 > căi; #68CC æ£ > gùn; #68CD 棎 > chán; #68CE æ£ > tè; #68CF æ£ > fÄ•i; #68D0 棑 > pái; #68D1 棒 > bàng; #68D2 棓 > pÅu; #68D3 棔 > hÅ«n; #68D4 棕 > zÅng; #68D5 棖 > chéng; #68D6 棗 > zăo; #68D7 棘 > jí; #68D8 棙 > lì; #68D9 棚 > péng; #68DA 棛 > yù; #68DB 棜 > yù; #68DC æ£ > gù; #68DD 棞 > hún; #68DE 棟 > dòng; #68DF 棠 > táng; #68E0 棡 > gÄng; #68E1 棢 > wăng; #68E2 棣 > dì; #68E3 棤 > xí; #68E4 棥 > fán; #68E5 棦 > chÄ“ng; #68E6 棧 > zhàn; #68E7 棨 > qÄ­; #68E8 棩 > yuÄn; #68E9 棪 > yăn; #68EA 棫 > yù; #68EB 棬 > quÄn; #68EC 棭 > yì; #68ED 森 > sÄ“n; #68EE 棯 > rÄ•n; #68EF 棰 > chúi; #68F0 棱 > léng; #68F1 棲 > qÄ«; #68F2 棳 > zhúo; #68F3 棴 > fú; #68F4 棵 > kÄ“; #68F5 棶 > lái; #68F6 棷 > zÅu; #68F7 棸 > zÅu; #68F8 棹 > zhÅ«o; #68F9 棺 > guÄn; #68FA 棻 > fén; #68FB 棼 > fén; #68FC 棽 > chÄ“n; #68FD 棾 > qíong; #68FE 棿 > niè; #68FF 椀 > wăn; #6900 æ¤ > gÅ­o; #6901 椂 > lù; #6902 椃 > háo; #6903 椄 > jiÄ“; #6904 椅 > yÄ­; #6905 椆 > chóu; #6906 椇 > jÅ­; #6907 椈 > jú; #6908 椉 > chéng; #6909 椊 > zúo; #690A 椋 > liáng; #690B 椌 > qiÄng; #690C æ¤ > zhí; #690D 椎 > zhÅ«i; #690E æ¤ > yÄ; #690F æ¤ > jÅ«; #6910 椑 > bÄ“i; #6911 椒 > jiÄo; #6912 椓 > zhúo; #6913 椔 > zÄ«; #6914 椕 > bÄ«n; #6915 椖 > péng; #6916 椗 > dìng; #6917 椘 > chÅ­; #6918 検 > jiăn; #691C æ¤ > gÅ«i; #691D 椞 > xì; #691E 椟 > dú; #691F 椠 > qiàn; #6920 椤 > lúo; #6924 椥 > zhÄ«; #6925 椪 > pèng; #692A 椫 > zhăn; #692B 椭 > tÅ­o; #692D 椮 > sÄ“n; #692E 椯 > dúo; #692F 椰 > yé; #6930 椱 > fòu; #6931 椲 > wÄ•i; #6932 椳 > wÄ“i; #6933 椴 > duàn; #6934 椵 > jiă; #6935 椶 > zÅng; #6936 椷 > jiÄn; #6937 椸 > yí; #6938 椹 > shèn; #6939 椺 > xí; #693A 椻 > yàn; #693B 椼 > yăn; #693C 椽 > chuán; #693D 椾 > zhàn; #693E 椿 > chÅ«n; #693F 楀 > yÅ­; #6940 æ¥ > hé; #6941 楂 > zhÄ; #6942 楃 > wò; #6943 楄 > pián; #6944 楅 > bì; #6945 楆 > yÄo; #6946 楇 > hùo; #6947 楈 > xÅ«; #6948 楉 > rùo; #6949 楊 > yáng; #694A 楋 > là; #694B 楌 > yán; #694C æ¥ > bÄ•n; #694D 楎 > hún; #694E æ¥ > kúi; #694F æ¥ > jiè; #6950 楑 > kúi; #6951 楒 > sÄ«; #6952 楓 > fÄ“ng; #6953 楔 > xiè; #6954 楕 > tÅ­o; #6955 楖 > zhì; #6956 楗 > jiàn; #6957 楘 > mù; #6958 楙 > mào; #6959 楚 > chÅ­; #695A 楛 > hù; #695B 楜 > hú; #695C æ¥ > liàn; #695D 楞 > léng; #695E 楟 > tíng; #695F 楠 > nán; #6960 楡 > yú; #6961 楢 > yóu; #6962 楣 > méi; #6963 楤 > sÅng; #6964 楥 > xuàn; #6965 楦 > xuàn; #6966 楧 > yÄ«ng; #6967 楨 > zhÄ“n; #6968 楩 > pián; #6969 楪 > yè; #696A 楫 > jí; #696B 楬 > jié; #696C 業 > yè; #696D 楮 > chÅ­; #696E 楯 > shÅ­n; #696F 楰 > yú; #6970 楱 > còu; #6971 楲 > wÄ“i; #6972 楳 > méi; #6973 楴 > dì; #6974 極 > jí; #6975 楶 > jié; #6976 楷 > kăi; #6977 楸 > qÄ«u; #6978 楹 > yíng; #6979 楺 > róu; #697A 楻 > héng; #697B 楼 > lóu; #697C 楽 > lè; #697D 榀 > pÄ­n; #6980 概 > gài; #6982 榃 > tán; #6983 榄 > lăn; #6984 榅 > yún; #6985 榆 > yú; #6986 榇 > chèn; #6987 榈 > lǘ; #6988 榉 > jÅ­; #6989 æ¦ > xiè; #698D 榎 > jiă; #698E æ¦ > yì; #698F æ¦ > zhăn; #6990 榑 > fù; #6991 榒 > nài; #6992 榓 > mì; #6993 榔 > láng; #6994 榕 > róng; #6995 榖 > gÅ­; #6996 榗 > jiàn; #6997 榘 > jÅ­; #6998 榙 > tă; #6999 榚 > yăo; #699A 榛 > zhÄ“n; #699B 榜 > băng; #699C æ¦ > shÄ; #699D 榞 > yuán; #699E 榟 > zÄ­; #699F 榠 > mÄ«ng; #69A0 榡 > sù; #69A1 榢 > jià; #69A2 榣 > yáo; #69A3 榤 > jié; #69A4 榥 > huăng; #69A5 榦 > gàn; #69A6 榧 > fÄ•i; #69A7 榨 > zhà; #69A8 榩 > qián; #69A9 榪 > mà; #69AA 榫 > sÅ­n; #69AB 榬 > yuán; #69AC 榭 > xiè; #69AD 榮 > róng; #69AE 榯 > shí; #69AF 榰 > zhÄ«; #69B0 榱 > cÅ«i; #69B1 榲 > yún; #69B2 榳 > tíng; #69B3 榴 > líu; #69B4 榵 > róng; #69B5 榶 > táng; #69B6 榷 > què; #69B7 榸 > zhÄi; #69B8 榹 > sÄ«; #69B9 榺 > shèng; #69BA 榻 > tà; #69BB 榼 > kè; #69BC 榽 > xÄ«; #69BD 榾 > gù; #69BE 榿 > qÄ«; #69BF æ§€ > kăo; #69C0 æ§ > găo; #69C1 æ§‚ > sÅ«n; #69C2 槃 > pán; #69C3 æ§„ > tÄo; #69C4 æ§… > gé; #69C5 槆 > xún; #69C6 槇 > diÄn; #69C7 槈 > nòu; #69C8 槉 > jí; #69C9 æ§Š > shùo; #69CA æ§‹ > gòu; #69CB æ§Œ > chúi; #69CC æ§ > qiÄng; #69CD æ§Ž > chÄ; #69CE æ§ > qiăn; #69CF æ§ > huái; #69D0 æ§‘ > méi; #69D1 æ§’ > xù; #69D2 æ§“ > gàng; #69D3 æ§” > gÄo; #69D4 æ§• > zhúo; #69D5 æ§– > tùo; #69D6 様 > yàng; #69D8 æ§™ > diÄn; #69D9 æ§š > jiă; #69DA æ§› > jiàn; #69DB æ§œ > zùi; #69DC æ§Ÿ > bÄ«n; #69DF æ§  > zhÅ«; #69E0 æ§¢ > xí; #69E2 æ§£ > qÄ­; #69E3 槤 > lián; #69E4 æ§¥ > hùi; #69E5 槦 > yóng; #69E6 æ§§ > qiàn; #69E7 槨 > gÅ­o; #69E8 æ§© > gài; #69E9 槪 > gài; #69EA æ§« > tuán; #69EB 槬 > huà; #69EC æ§­ > cù; #69ED æ§® > sÄ“n; #69EE 槯 > cÅ«i; #69EF æ§° > bèng; #69F0 æ§± > yÅu; #69F1 æ§² > hú; #69F2 æ§³ > jiăng; #69F3 æ§´ > hù; #69F4 æ§µ > huàn; #69F5 æ§¶ > kùi; #69F6 æ§· > yì; #69F7 槸 > niè; #69F8 æ§¹ > gÄo; #69F9 槺 > kÄng; #69FA æ§» > gÅ«i; #69FB æ§¼ > gÅ«i; #69FC æ§½ > cáo; #69FD æ§¾ > mán; #69FE æ§¿ > jÄ­n; #69FF 樀 > dì; #6A00 æ¨ > zhuÄng; #6A01 樂 > lè; #6A02 樃 > láng; #6A03 樄 > chén; #6A04 樅 > cÅng; #6A05 樆 > lí; #6A06 樇 > xÄ«u; #6A07 樈 > qíng; #6A08 樉 > shuăng; #6A09 樊 > fán; #6A0A 樋 > tÅng; #6A0B 樌 > guàn; #6A0C æ¨ > jÄ«; #6A0D 樎 > sÅ«o; #6A0E æ¨ > lÄ•i; #6A0F æ¨ > lÅ­; #6A10 樑 > liáng; #6A11 樒 > mì; #6A12 樓 > lóu; #6A13 樔 > cháo; #6A14 樕 > sù; #6A15 樖 > kÄ“; #6A16 樗 > shÅ«; #6A17 樘 > táng; #6A18 標 > biÄo; #6A19 樚 > lù; #6A1A 樛 > jÄ«u; #6A1B 樜 > shù; #6A1C æ¨ > zhÄ; #6A1D 樞 > shÅ«; #6A1E 樟 > zhÄng; #6A1F 樠 > mén; #6A20 模 > mó; #6A21 樢 > niăo; #6A22 樣 > yàng; #6A23 樤 > tiáo; #6A24 樥 > péng; #6A25 樦 > zhù; #6A26 樧 > shÄ; #6A27 樨 > xÄ«; #6A28 権 > quán; #6A29 横 > héng; #6A2A 樫 > jiÄn; #6A2B 樬 > cÅng; #6A2C 樯 > qiáng; #6A2F 樱 > yÄ«ng; #6A31 樲 > èr; #6A32 樳 > xín; #6A33 樴 > zhí; #6A34 樵 > qiáo; #6A35 樶 > zÅ«i; #6A36 樷 > cÅng; #6A37 樸 > pú; #6A38 樹 > shù; #6A39 樺 > huà; #6A3A 樻 > kùi; #6A3B 樼 > zhÄ“n; #6A3C 樽 > zÅ«n; #6A3D 樾 > yuè; #6A3E 樿 > zhăn; #6A3F æ©€ > xÄ«; #6A40 æ© > xún; #6A41 æ©‚ > diàn; #6A42 橃 > fÄ; #6A43 æ©„ > găn; #6A44 æ©… > mó; #6A45 橆 > wÅ­; #6A46 橇 > qiÄo; #6A47 橈 > náo; #6A48 橉 > lìn; #6A49 橊 > líu; #6A4A æ©‹ > qiáo; #6A4B 橌 > xiàn; #6A4C æ© > rùn; #6A4D 橎 > fán; #6A4E æ© > zhăn; #6A4F æ© > tùo; #6A50 æ©‘ > lăo; #6A51 æ©’ > yún; #6A52 æ©“ > shùn; #6A53 æ©” > túi; #6A54 æ©• > chÄ“ng; #6A55 æ©– > táng; #6A56 æ©— > méng; #6A57 橘 > jú; #6A58 æ©™ > chéng; #6A59 橚 > sù; #6A5A æ©› > jué; #6A5B 橜 > jué; #6A5C æ© > tÄn; #6A5D 橞 > hùi; #6A5E 機 > jÄ«; #6A5F æ©  > nÅ­o; #6A60 æ©¡ > xiàng; #6A61 æ©¢ > tÅ­o; #6A62 æ©£ > nÄ­ng; #6A63 橤 > rÅ­i; #6A64 æ©¥ > zhÅ«; #6A65 橦 > chuáng; #6A66 æ©§ > zÄ“ng; #6A67 橨 > fén; #6A68 æ©© > qíong; #6A69 橪 > răn; #6A6A æ©« > héng; #6A6B 橬 > cén; #6A6C æ©­ > gÅ«; #6A6D æ©® > lÄ­u; #6A6E 橯 > lào; #6A6F æ©° > gÄo; #6A70 橱 > chú; #6A71 æ©¶ > jí; #6A76 æ©· > dÅu; #6A77 橹 > lÅ­; #6A79 橼 > yuán; #6A7C 橽 > tà; #6A7D 橾 > shÅ«; #6A7E æ©¿ > jiÄng; #6A7F 檀 > tán; #6A80 æª > lÄ­n; #6A81 檂 > nóng; #6A82 檃 > yÄ­n; #6A83 檄 > xí; #6A84 檅 > sùi; #6A85 檆 > shÄn; #6A86 檇 > zùi; #6A87 檈 > xuán; #6A88 檉 > chÄ“ng; #6A89 檊 > gàn; #6A8A 檋 > jÅ«; #6A8B 檌 > zùi; #6A8C æª > yì; #6A8D 檎 > qín; #6A8E æª > pÅ­; #6A8F æª > yán; #6A90 檑 > léi; #6A91 檒 > fÄ“ng; #6A92 檓 > hÅ­i; #6A93 檔 > dăng; #6A94 檕 > jì; #6A95 檖 > sùi; #6A96 檗 > bò; #6A97 檘 > bì; #6A98 檙 > dÄ­ng; #6A99 檚 > chÅ­; #6A9A 檛 > zhuÄ; #6A9B 檜 > kuài; #6A9C æª > jí; #6A9D 檞 > jiÄ•; #6A9E 檟 > jiă; #6A9F 檠 > qíng; #6AA0 檡 > zhè; #6AA1 檢 > jiăn; #6AA2 檣 > qiáng; #6AA3 檤 > dào; #6AA4 檥 > yÄ­; #6AA5 檦 > biăo; #6AA6 檧 > sÅng; #6AA7 檨 > shÄ“; #6AA8 檩 > lÄ­n; #6AA9 檫 > chá; #6AAB 檬 > méng; #6AAC 檭 > yín; #6AAD 檮 > táo; #6AAE 檯 > tái; #6AAF 檰 > mián; #6AB0 檱 > qí; #6AB1 檲 > tóan; #6AB2 檳 > bÄ«n; #6AB3 檴 > hùo; #6AB4 檵 > jì; #6AB5 檶 > qiÄn; #6AB6 檷 > mí; #6AB7 檸 > níng; #6AB8 檹 > yÄ«; #6AB9 檺 > găo; #6ABA 檻 > jiàn; #6ABB 檼 > yìn; #6ABC 檽 > ér; #6ABD 檾 > qÄ­ng; #6ABE 檿 > yăn; #6ABF æ«€ > qí; #6AC0 æ« > mì; #6AC1 æ«‚ > zhào; #6AC2 櫃 > gùi; #6AC3 æ«„ > chÅ«n; #6AC4 æ«… > jÄ«; #6AC5 櫆 > kúi; #6AC6 櫇 > pó; #6AC7 櫈 > dèng; #6AC8 櫉 > chú; #6AC9 æ«‹ > mián; #6ACB 櫌 > yÅu; #6ACC æ« > zhì; #6ACD 櫎 > guàng; #6ACE æ« > qiÄn; #6ACF æ« > lÄ•i; #6AD0 æ«‘ > lÄ•i; #6AD1 æ«’ > sà; #6AD2 æ«“ > lÅ­; #6AD3 æ«” > lì; #6AD4 æ«• > cuán; #6AD5 æ«– > lǘ; #6AD6 æ«— > miè; #6AD7 櫘 > hùi; #6AD8 æ«™ > Åu; #6AD9 櫚 > lǘ; #6ADA æ«› > jié; #6ADB 櫜 > gÄo; #6ADC æ« > dú; #6ADD 櫞 > yuán; #6ADE 櫟 > lì; #6ADF æ«  > fèi; #6AE0 æ«¡ > zhúo; #6AE1 æ«¢ > sÅu; #6AE2 æ«£ > lián; #6AE3 æ«¥ > chú; #6AE5 æ«§ > zhÅ«; #6AE7 櫨 > lú; #6AE8 æ«© > yán; #6AE9 櫪 > lì; #6AEA æ«« > zhÅ«; #6AEB 櫬 > chèn; #6AEC æ«­ > jié; #6AED æ«® > è; #6AEE 櫯 > sÅ«; #6AEF æ«° > huái; #6AF0 櫱 > niè; #6AF1 櫲 > yù; #6AF2 櫳 > lóng; #6AF3 æ«´ > lài; #6AF4 æ«¶ > xiăn; #6AF6 櫸 > jÅ­; #6AF8 櫹 > xiÄo; #6AF9 櫺 > líng; #6AFA æ«» > yÄ«ng; #6AFB 櫼 > jiÄn; #6AFC 櫽 > yÄ­n; #6AFD 櫾 > yóu; #6AFE æ«¿ > yíng; #6AFF 欀 > xiÄng; #6B00 æ¬ > nóng; #6B01 欂 > bó; #6B02 欃 > chán; #6B03 欄 > lán; #6B04 欅 > jÅ­; #6B05 欆 > shuÄng; #6B06 欇 > shè; #6B07 欈 > wéi; #6B08 欉 > còng; #6B09 權 > quán; #6B0A 欋 > qú; #6B0B 欎 > yù; #6B0E æ¬ > lúo; #6B0F æ¬ > lÄ­; #6B10 欑 > zàn; #6B11 欒 > luán; #6B12 欓 > dăng; #6B13 欔 > jué; #6B14 欖 > lăn; #6B16 欗 > lán; #6B17 欘 > zhÅ­; #6B18 欙 > léi; #6B19 欚 > lÄ­; #6B1A 欛 > bà; #6B1B 欜 > náng; #6B1C æ¬ > yù; #6B1D 欞 > líng; #6B1E 欠 > qiàn; #6B20 次 > cì; #6B21 欢 > huÄn; #6B22 欣 > xÄ«n; #6B23 欤 > yú; #6B24 欥 > yù; #6B25 欦 > qiÄn; #6B26 欧 > Åu; #6B27 欨 > xÅ«; #6B28 欩 > chÄo; #6B29 欪 > chù; #6B2A 欫 > chÄ«; #6B2B 欬 > kài; #6B2C 欭 > yì; #6B2D 欮 > jué; #6B2E 欯 > xí; #6B2F 欰 > xÅ«; #6B30 欱 > xià; #6B31 欲 > yù; #6B32 欳 > kuài; #6B33 欴 > láng; #6B34 欵 > kuăn; #6B35 欶 > shùo; #6B36 欷 > xÄ«; #6B37 欸 > ăi; #6B38 欹 > yÄ«; #6B39 欺 > qÄ«; #6B3A 欻 > hÅ«; #6B3B 欼 > chÄ­; #6B3C 欽 > qÄ«n; #6B3D 款 > kuăn; #6B3E 欿 > kăn; #6B3F æ­€ > kuăn; #6B40 æ­ > kăn; #6B41 æ­‚ > chuán; #6B42 æ­ƒ > shà; #6B43 æ­„ > gua; #6B44 æ­… > yÄ«n; #6B45 æ­† > xÄ«n; #6B46 æ­‡ > xiÄ“; #6B47 æ­ˆ > yú; #6B48 æ­‰ > qiàn; #6B49 æ­Š > xiÄo; #6B4A æ­‹ > yí; #6B4B æ­Œ > gÄ“; #6B4C æ­ > wÅ«; #6B4D æ­Ž > tàn; #6B4E æ­ > jìn; #6B4F æ­ > Åu; #6B50 æ­‘ > hÅ«; #6B51 æ­’ > tì; #6B52 æ­“ > huÄn; #6B53 æ­” > xÅ«; #6B54 æ­• > pèn; #6B55 æ­– > xÄ«; #6B56 æ­— > xiào; #6B57 æ­˜ > xÅ«; #6B58 æ­™ > xì; #6B59 æ­› > liàn; #6B5B æ­œ > chù; #6B5C æ­ > yì; #6B5D æ­ž > kăn; #6B5E æ­Ÿ > yú; #6B5F æ­  > chùo; #6B60 æ­¡ > huÄn; #6B61 æ­¢ > zhÄ­; #6B62 æ­£ > zhèng; #6B63 æ­¤ > cÄ­; #6B64 æ­¥ > bù; #6B65 æ­¦ > wÅ­; #6B66 æ­§ > qí; #6B67 æ­¨ > bù; #6B68 æ­© > bù; #6B69 æ­ª > wÄi; #6B6A æ­« > jù; #6B6B æ­¬ > qián; #6B6C æ­­ > chí; #6B6D æ­® > sè; #6B6E æ­¯ > chÄ­; #6B6F æ­° > sè; #6B70 æ­± > zhÅng; #6B71 æ­² > sùi; #6B72 æ­³ > sùi; #6B73 æ­´ > lì; #6B74 æ­µ > cùo; #6B75 æ­¶ > yú; #6B76 æ­· > lì; #6B77 æ­¸ > gÅ«i; #6B78 æ­¹ > dăi; #6B79 æ­º > dăi; #6B7A æ­» > sÄ­; #6B7B æ­¼ > jiÄn; #6B7C æ­½ > zhé; #6B7D æ­¾ > mò; #6B7E æ­¿ > mò; #6B7F 殀 > yăo; #6B80 æ® > mò; #6B81 殂 > cú; #6B82 殃 > yÄng; #6B83 殄 > tiăn; #6B84 æ®… > shÄ“ng; #6B85 殆 > dài; #6B86 殇 > shÄng; #6B87 殈 > xù; #6B88 殉 > xùn; #6B89 殊 > shÅ«; #6B8A 残 > cán; #6B8B 殌 > jué; #6B8C æ® > piăo; #6B8D 殎 > qià; #6B8E æ® > qìu; #6B8F æ® > sù; #6B90 殑 > qíng; #6B91 æ®’ > yÅ­n; #6B92 殓 > liàn; #6B93 æ®” > yì; #6B94 殕 > fÅu; #6B95 æ®– > zhí; #6B96 æ®— > yè; #6B97 殘 > cán; #6B98 æ®™ > hÅ«n; #6B99 殚 > dÄn; #6B9A æ®› > jí; #6B9B 殜 > yè; #6B9C æ® > zhen; #6B9D 殞 > yÅ­n; #6B9E 殟 > wÄ“n; #6B9F æ®  > chòu; #6BA0 殡 > bìn; #6BA1 殢 > tì; #6BA2 殣 > jÄ­n; #6BA3 殤 > shÄng; #6BA4 殥 > yín; #6BA5 殦 > diÄo; #6BA6 æ®§ > cù; #6BA7 殨 > hùi; #6BA8 殩 > cuàn; #6BA9 殪 > yì; #6BAA 殫 > dÄn; #6BAB 殬 > dù; #6BAC æ®­ > jiÄng; #6BAD æ®® > liàn; #6BAE 殯 > bìn; #6BAF æ®° > dú; #6BB0 殲 > jiÄn; #6BB2 殳 > shÅ«; #6BB3 æ®´ > Åu; #6BB4 段 > duàn; #6BB5 æ®¶ > zhù; #6BB6 æ®· > yÄ«n; #6BB7 殸 > qìng; #6BB8 殹 > yì; #6BB9 殺 > shÄ; #6BBA æ®» > què; #6BBB 殼 > ké; #6BBC 殽 > yáo; #6BBD 殾 > jùn; #6BBE 殿 > diàn; #6BBF 毀 > hÅ­i; #6BC0 æ¯ > hÅ­i; #6BC1 毂 > gÅ­; #6BC2 毃 > què; #6BC3 毄 > jÄ«; #6BC4 毅 > yì; #6BC5 毆 > Åu; #6BC6 毇 > hÅ­i; #6BC7 毈 > duàn; #6BC8 毉 > yÄ«; #6BC9 毊 > xiÄo; #6BCA 毋 > wú; #6BCB 毌 > guàn; #6BCC æ¯ > mÅ­; #6BCD 毎 > mÄ•i; #6BCE æ¯ > mÄ•i; #6BCF æ¯ > ăi; #6BD0 毑 > zÅ­o; #6BD1 毒 > dú; #6BD2 毓 > yù; #6BD3 比 > bÄ­; #6BD4 毕 > bì; #6BD5 毖 > bì; #6BD6 毗 > pí; #6BD7 毘 > pí; #6BD8 毙 > bì; #6BD9 毚 > chán; #6BDA 毛 > máo; #6BDB 毞 > pú; #6BDE 毠 > jiÄ; #6BE0 毡 > zhÄn; #6BE1 毢 > sÄi; #6BE2 毣 > mù; #6BE3 毤 > tùo; #6BE4 毥 > xún; #6BE5 毦 > èr; #6BE6 毧 > róng; #6BE7 毨 > xiăn; #6BE8 毩 > jú; #6BE9 毪 > mú; #6BEA 毫 > háo; #6BEB 毬 > qíu; #6BEC 毭 > dòu; #6BED 毯 > tăn; #6BEF 毰 > péi; #6BF0 毱 > jú; #6BF1 毲 > dúo; #6BF2 毳 > cùi; #6BF3 毴 > bÄ«; #6BF4 毵 > sÄn; #6BF5 毷 > mào; #6BF7 毸 > sÅ«i; #6BF8 毹 > yÅ«; #6BF9 毺 > yÅ«; #6BFA 毻 > tùo; #6BFB 毼 > hé; #6BFC 毽 > jiàn; #6BFD 毾 > tà; #6BFE 毿 > sÄn; #6BFF æ°€ > lǘ; #6C00 æ° > mú; #6C01 æ°‚ > lí; #6C02 æ°ƒ > tóng; #6C03 æ°„ > rÅng; #6C04 æ°… > chăng; #6C05 æ°† > pÅ­; #6C06 æ°‡ > lúo; #6C07 æ°ˆ > zhÄn; #6C08 æ°‰ > sào; #6C09 æ°Š > zhÄn; #6C0A æ°‹ > méng; #6C0B æ°Œ > lúo; #6C0C æ° > qú; #6C0D æ°Ž > dié; #6C0E æ° > shì; #6C0F æ° > dÄ­; #6C10 æ°‘ > mín; #6C11 æ°’ > jué; #6C12 æ°“ > máng; #6C13 æ°” > qì; #6C14 æ°• > piÄ“; #6C15 æ°– > năi; #6C16 æ°— > qì; #6C17 æ°˜ > dÄo; #6C18 æ°™ > xiÄn; #6C19 æ°š > chuÄn; #6C1A æ°› > fÄ“n; #6C1B æ°œ > rì; #6C1C æ° > nèi; #6C1D æ°Ÿ > fú; #6C1F æ°  > shÄ“n; #6C20 æ°¡ > dÅng; #6C21 æ°¢ > qÄ«ng; #6C22 æ°£ > qì; #6C23 æ°¤ > yÄ«n; #6C24 æ°¥ > xÄ«; #6C25 æ°¦ > hài; #6C26 æ°§ > yăng; #6C27 æ°¨ > Än; #6C28 æ°© > yà; #6C29 æ°ª > kè; #6C2A æ°« > qÄ«ng; #6C2B æ°¬ > yà; #6C2C æ°­ > dÅng; #6C2D æ°® > dàn; #6C2E æ°¯ > lÇœ; #6C2F æ°° > qÄ«ng; #6C30 æ°± > yăng; #6C31 æ°² > yÅ«n; #6C32 æ°³ > yÅ«n; #6C33 æ°´ > shÅ­i; #6C34 æ°µ > sÄn' 'diăn' 'shÅ­i; #6C35 æ°¶ > zhÄ•ng; #6C36 æ°· > bÄ«ng; #6C37 æ°¸ > yÅng; #6C38 æ°¹ > dàng; #6C39 æ°» > lè; #6C3B æ°¼ > nì; #6C3C æ°½ > tÅ­n; #6C3D æ°¾ > fàn; #6C3E æ°¿ > gÅ­i; #6C3F æ±€ > tÄ«ng; #6C40 æ± > zhÄ«; #6C41 求 > qíu; #6C42 汃 > bÄ«n; #6C43 汄 > zè; #6C44 æ±… > miăn; #6C45 汆 > cuÄn; #6C46 汇 > hùi; #6C47 汈 > diÄo; #6C48 汉 > yì; #6C49 汊 > chà; #6C4A 汋 > zhúo; #6C4B 汌 > chuàn; #6C4C æ± > wán; #6C4D 汎 > fàn; #6C4E æ± > dài; #6C4F æ± > xì; #6C50 汑 > tÅ«o; #6C51 æ±’ > máng; #6C52 汓 > qíu; #6C53 æ±” > qì; #6C54 汕 > shàn; #6C55 æ±– > pài; #6C56 æ±— > hàn; #6C57 汘 > qiÄn; #6C58 æ±™ > wÅ«; #6C59 汚 > wÅ«; #6C5A æ±› > xùn; #6C5B 汜 > sì; #6C5C æ± > rÅ­; #6C5D 汞 > gÅng; #6C5E 江 > jiÄng; #6C5F æ±  > chí; #6C60 污 > wÅ«; #6C61 汤 > tÄng; #6C64 æ±¥ > zhÄ«; #6C65 汦 > chí; #6C66 æ±§ > qiÄn; #6C67 汨 > mì; #6C68 汩 > yù; #6C69 汪 > wÄng; #6C6A 汫 > qìng; #6C6B 汬 > jÄ­ng; #6C6C æ±­ > rùi; #6C6D æ±® > jÅ«n; #6C6E 汯 > hóng; #6C6F æ±° > tài; #6C70 æ±± > quăn; #6C71 æ±² > jí; #6C72 æ±³ > biàn; #6C73 æ±´ > biàn; #6C74 æ±µ > gàn; #6C75 æ±¶ > wèn; #6C76 æ±· > zhÅng; #6C77 汸 > fÄng; #6C78 æ±¹ > xÄ«ong; #6C79 決 > jué; #6C7A æ±» > hăng; #6C7B æ±¼ > niÅu; #6C7C æ±½ > qì; #6C7D æ±¾ > fén; #6C7E 汿 > xù; #6C7F æ²€ > xù; #6C80 æ² > qìn; #6C81 沂 > yí; #6C82 沃 > wò; #6C83 沄 > yún; #6C84 æ²… > yuán; #6C85 沆 > háng; #6C86 沇 > yăn; #6C87 沈 > chén; #6C88 沉 > chén; #6C89 沊 > dàn; #6C8A 沋 > yóu; #6C8B 沌 > dùn; #6C8C æ² > hù; #6C8D 沎 > hùo; #6C8E æ² > qiÄ“; #6C8F æ² > mù; #6C90 沑 > róu; #6C91 æ²’ > méi; #6C92 沓 > tà; #6C93 æ²” > miăn; #6C94 沕 > wù; #6C95 æ²– > chÅng; #6C96 æ²— > tiÄn; #6C97 沘 > bÄ­; #6C98 æ²™ > shÄ; #6C99 沚 > zhÄ­; #6C9A æ²› > pèi; #6C9B 沜 > pàn; #6C9C æ² > zhÅ­i; #6C9D 沞 > zÄ; #6C9E 沟 > gÅu; #6C9F æ²  > líu; #6CA0 没 > méi; #6CA1 æ²¢ > zé; #6CA2 æ²£ > fÄ“ng; #6CA3 沤 > òu; #6CA4 æ²¥ > lì; #6CA5 沦 > lún; #6CA6 æ²§ > cÄng; #6CA7 沨 > féng; #6CA8 沩 > wéi; #6CA9 沪 > hù; #6CAA 沫 > mò; #6CAB 沬 > mèi; #6CAC æ²­ > shù; #6CAD æ²® > jÅ«; #6CAE 沯 > zăn; #6CAF æ²° > tÅ«o; #6CB0 æ²± > túo; #6CB1 æ²² > túo; #6CB2 æ²³ > hé; #6CB3 æ²´ > lì; #6CB4 æ²µ > mÄ­; #6CB5 æ²¶ > yí; #6CB6 æ²· > fÄ; #6CB7 沸 > fèi; #6CB8 æ²¹ > yóu; #6CB9 沺 > tián; #6CBA æ²» > zhì; #6CBB æ²¼ > zhăo; #6CBC æ²½ > gÅ«; #6CBD æ²¾ > zhÄn; #6CBE 沿 > yán; #6CBF æ³€ > sÄ«; #6CC0 æ³ > kuàng; #6CC1 泂 > jÄ­ong; #6CC2 泃 > jù; #6CC3 泄 > xiè; #6CC4 æ³… > qíu; #6CC5 泆 > yÄ«; #6CC6 泇 > jiÄ; #6CC7 泈 > zhÅng; #6CC8 泉 > quán; #6CC9 泊 > bó; #6CCA 泋 > hùi; #6CCB 泌 > mì; #6CCC æ³ > bÄ“n; #6CCD 泎 > zhúo; #6CCE æ³ > chù; #6CCF æ³ > lè; #6CD0 泑 > yÅu; #6CD1 æ³’ > gÅ«; #6CD2 泓 > hóng; #6CD3 æ³” > gÄn; #6CD4 法 > fă; #6CD5 æ³– > măo; #6CD6 æ³— > sì; #6CD7 泘 > hÅ«; #6CD8 æ³™ > píng; #6CD9 泚 > cÄ­; #6CDA æ³› > fàn; #6CDB 泜 > chí; #6CDC æ³ > sù; #6CDD 泞 > nìng; #6CDE 泟 > chÄ“ng; #6CDF æ³  > líng; #6CE0 泡 > pào; #6CE1 æ³¢ > bÅ; #6CE2 æ³£ > qì; #6CE3 泤 > sì; #6CE4 æ³¥ > ní; #6CE5 泦 > jú; #6CE6 æ³§ > yuè; #6CE7 注 > zhù; #6CE8 泩 > shÄ“ng; #6CE9 泪 > lèi; #6CEA 泫 > xuàn; #6CEB 泬 > xuè; #6CEC æ³­ > fÅ«; #6CED æ³® > pàn; #6CEE 泯 > mÄ­n; #6CEF æ³° > tài; #6CF0 æ³± > yÄng; #6CF1 æ³² > jÄ­; #6CF2 æ³³ > yÅng; #6CF3 æ³´ > guàn; #6CF4 æ³µ > bèng; #6CF5 æ³¶ > xué; #6CF6 æ³· > lóng; #6CF7 泸 > lú; #6CF8 泺 > bó; #6CFA æ³» > xiè; #6CFB æ³¼ > pÅ; #6CFC æ³½ > zé; #6CFD æ³¾ > jÄ«ng; #6CFE 泿 > yín; #6CFF æ´€ > zhÅu; #6D00 æ´ > jí; #6D01 æ´‚ > yì; #6D02 æ´ƒ > hÅ«i; #6D03 æ´„ > húi; #6D04 æ´… > zÅ­i; #6D05 æ´† > chéng; #6D06 æ´‡ > yÄ«n; #6D07 æ´ˆ > wéi; #6D08 æ´‰ > hòu; #6D09 æ´Š > jiàn; #6D0A æ´‹ > yáng; #6D0B æ´Œ > liè; #6D0C æ´ > sì; #6D0D æ´Ž > jì; #6D0E æ´ > ér; #6D0F æ´ > xíng; #6D10 æ´‘ > fú; #6D11 æ´’ > să; #6D12 æ´“ > sÅ­o; #6D13 æ´” > zhÄ­; #6D14 æ´• > yÄ«n; #6D15 æ´– > wú; #6D16 æ´— > xÄ­; #6D17 æ´˜ > kăo; #6D18 æ´™ > zhÅ«; #6D19 æ´š > jiàng; #6D1A æ´› > lùo; #6D1B æ´ > àn; #6D1D æ´ž > dòng; #6D1E æ´Ÿ > yí; #6D1F æ´  > móu; #6D20 æ´¡ > lÄ•i; #6D21 æ´¢ > yÄ«; #6D22 æ´£ > mÄ­; #6D23 æ´¤ > quán; #6D24 æ´¥ > jÄ«n; #6D25 æ´¦ > mò; #6D26 æ´§ > wÄ•i; #6D27 æ´¨ > xiáo; #6D28 æ´© > xiè; #6D29 æ´ª > hóng; #6D2A æ´« > xù; #6D2B æ´¬ > shùo; #6D2C æ´­ > kuÄng; #6D2D æ´® > tÄo; #6D2E æ´¯ > qiè; #6D2F æ´° > jù; #6D30 æ´± > Ä•r; #6D31 æ´² > zhÅu; #6D32 æ´³ > rù; #6D33 æ´´ > píng; #6D34 æ´µ > xún; #6D35 æ´¶ > xÄ«ong; #6D36 æ´· > zhì; #6D37 æ´¸ > guÄng; #6D38 æ´¹ > huán; #6D39 æ´º > míng; #6D3A æ´» > húo; #6D3B æ´¼ > wÄ; #6D3C æ´½ > qià; #6D3D æ´¾ > pài; #6D3E æ´¿ > wÅ«; #6D3F æµ€ > qÅ­; #6D40 æµ > líu; #6D41 浂 > yì; #6D42 浃 > jiá; #6D43 浄 > jìng; #6D44 æµ… > qiăn; #6D45 浆 > jiÄng; #6D46 浇 > jiÄo; #6D47 浈 > chéng; #6D48 浉 > shÄ«; #6D49 浊 > zhúo; #6D4A 测 > cè; #6D4B æµ > kuài; #6D4D 济 > jì; #6D4E æµ > líu; #6D4F æµ > chăn; #6D50 浑 > hún; #6D51 æµ’ > hÅ­; #6D52 浓 > nóng; #6D53 æµ” > xún; #6D54 浕 > jìn; #6D55 æµ– > liè; #6D56 æµ— > qíu; #6D57 浘 > wÄ•i; #6D58 æµ™ > zhè; #6D59 浚 > jùn; #6D5A æµ› > hàn; #6D5B 浜 > bÄng; #6D5C æµ > máng; #6D5D 浞 > zhúo; #6D5E 浟 > yóu; #6D5F æµ  > xÄ«; #6D60 浡 > bó; #6D61 æµ¢ > dòu; #6D62 æµ£ > wăn; #6D63 浤 > hóng; #6D64 æµ¥ > yì; #6D65 浦 > pÅ­; #6D66 æµ§ > yÄ­ng; #6D67 浨 > lăn; #6D68 浩 > hào; #6D69 浪 > làng; #6D6A 浫 > hăn; #6D6B 浬 > lÄ­; #6D6C æµ­ > gÄ“ng; #6D6D æµ® > fú; #6D6E 浯 > wú; #6D6F æµ° > liàn; #6D70 æµ± > chún; #6D71 æµ² > féng; #6D72 æµ³ > yì; #6D73 æµ´ > yù; #6D74 æµµ > tóng; #6D75 æµ¶ > láo; #6D76 æµ· > hăi; #6D77 浸 > jìn; #6D78 æµ¹ > jiá; #6D79 浺 > chÅng; #6D7A æµ» > wÄ•ng; #6D7B æµ¼ > mÄ•i; #6D7C æµ½ > sÅ«i; #6D7D æµ¾ > chÄ“ng; #6D7E 浿 > pèi; #6D7F æ¶€ > xiàn; #6D80 æ¶ > shèn; #6D81 æ¶‚ > tú; #6D82 涃 > kùn; #6D83 æ¶„ > pÄ«n; #6D84 æ¶… > niè; #6D85 涆 > hàn; #6D86 涇 > jÄ«ng; #6D87 消 > xiÄo; #6D88 涉 > shè; #6D89 æ¶Š > niàn; #6D8A æ¶‹ > tÅ«; #6D8B æ¶Œ > yÅng; #6D8C æ¶ > xiào; #6D8D æ¶Ž > xián; #6D8E æ¶ > tÄ­ng; #6D8F æ¶ > é; #6D90 æ¶‘ > sù; #6D91 æ¶’ > tÅ«n; #6D92 æ¶“ > juÄn; #6D93 æ¶” > cén; #6D94 æ¶• > tì; #6D95 æ¶– > lì; #6D96 æ¶— > shùi; #6D97 涘 > sì; #6D98 æ¶™ > lèi; #6D99 æ¶š > shùi; #6D9A æ¶› > tÄo; #6D9B æ¶œ > dú; #6D9C æ¶ > lào; #6D9D æ¶ž > lái; #6D9E æ¶Ÿ > lián; #6D9F æ¶  > wéi; #6DA0 æ¶¡ > wÅ; #6DA1 æ¶¢ > yún; #6DA2 æ¶£ > huàn; #6DA3 涤 > dí; #6DA4 润 > rùn; #6DA6 æ¶§ > jiàn; #6DA7 涨 > zhăng; #6DA8 æ¶© > sè; #6DA9 涪 > fú; #6DAA æ¶« > guàn; #6DAB 涬 > xìng; #6DAC æ¶­ > shòu; #6DAD æ¶® > shuàn; #6DAE 涯 > yá; #6DAF æ¶° > chùo; #6DB0 æ¶± > zhàng; #6DB1 æ¶² > yè; #6DB2 æ¶³ > kÅng; #6DB3 æ¶´ > wò; #6DB4 æ¶µ > hán; #6DB5 æ¶¶ > tÅ«o; #6DB6 æ¶· > dÅng; #6DB7 涸 > hé; #6DB8 æ¶¹ > wÅ; #6DB9 涺 > jÅ«; #6DBA æ¶» > gàn; #6DBB æ¶¼ > liáng; #6DBC æ¶½ > hÅ«n; #6DBD æ¶¾ > tà; #6DBE æ¶¿ > zhúo; #6DBF æ·€ > diàn; #6DC0 æ· > qiè; #6DC1 æ·‚ > dé; #6DC2 æ·ƒ > juàn; #6DC3 æ·„ > zÄ«; #6DC4 æ·… > xÄ«; #6DC5 æ·† > yáo; #6DC6 æ·‡ > qí; #6DC7 æ·ˆ > gÅ­; #6DC8 æ·‰ > gÅ­o; #6DC9 æ·Š > hàn; #6DCA æ·‹ > lín; #6DCB æ·Œ > tăng; #6DCC æ· > zhÅu; #6DCD æ·Ž > pÄ•ng; #6DCE æ· > hào; #6DCF æ· > chÄng; #6DD0 æ·‘ > shú; #6DD1 æ·’ > qÄ«; #6DD2 æ·“ > fÄng; #6DD3 æ·” > chì; #6DD4 æ·• > lù; #6DD5 æ·– > nào; #6DD6 æ·— > jú; #6DD7 æ·˜ > táo; #6DD8 æ·™ > cóng; #6DD9 æ·š > lèi; #6DDA æ·› > zhì; #6DDB æ·œ > péng; #6DDC æ· > féi; #6DDD æ·ž > sÅng; #6DDE æ·Ÿ > tiăn; #6DDF æ·  > pì; #6DE0 æ·¡ > dàn; #6DE1 æ·¢ > yù; #6DE2 æ·£ > ní; #6DE3 æ·¤ > yÅ«; #6DE4 æ·¥ > lù; #6DE5 æ·¦ > gàn; #6DE6 æ·§ > mì; #6DE7 æ·¨ > jìng; #6DE8 æ·© > líng; #6DE9 æ·ª > lún; #6DEA æ·« > yín; #6DEB æ·¬ > cùi; #6DEC æ·­ > qú; #6DED æ·® > huái; #6DEE æ·¯ > yù; #6DEF æ·° > niàn; #6DF0 æ·± > shÄ“n; #6DF1 æ·² > piáo; #6DF2 æ·³ > chún; #6DF3 æ·´ > wà; #6DF4 æ·µ > yuÄn; #6DF5 æ·¶ > lái; #6DF6 æ·· > hÅ­n; #6DF7 æ·¸ > qÄ«ng; #6DF8 æ·¹ > yÄn; #6DF9 æ·º > qiăn; #6DFA æ·» > tiÄn; #6DFB æ·¼ > miăo; #6DFC æ·½ > zhÄ­; #6DFD æ·¾ > yÄ­n; #6DFE æ·¿ > mì; #6DFF 渀 > bÄ“n; #6E00 æ¸ > yuÄn; #6E01 渂 > wèn; #6E02 渃 > rè; #6E03 渄 > fÄ“i; #6E04 清 > qÄ«ng; #6E05 渆 > yuÄn; #6E06 渇 > kÄ•; #6E07 済 > jì; #6E08 渉 > shè; #6E09 渊 > yuÄn; #6E0A 渌 > lù; #6E0C æ¸ > zì; #6E0D 渎 > dú; #6E0E æ¸ > jiàn; #6E10 渑 > mÄ­n; #6E11 渒 > pì; #6E12 渔 > yú; #6E14 渕 > yuÄn; #6E15 渖 > shÄ•n; #6E16 渗 > shèn; #6E17 渘 > róu; #6E18 渙 > huàn; #6E19 渚 > zhÅ­; #6E1A 減 > jiăn; #6E1B 渜 > nuăn; #6E1C æ¸ > yú; #6E1D 渞 > qíu; #6E1E 渟 > tíng; #6E1F 渠 > qú; #6E20 渡 > dù; #6E21 渢 > féng; #6E22 渣 > zhÄ; #6E23 渤 > bó; #6E24 渥 > wò; #6E25 渦 > wÅ; #6E26 渧 > dì; #6E27 渨 > wÄ“i; #6E28 温 > wÄ“n; #6E29 渪 > rú; #6E2A 渫 > xiè; #6E2B 測 > cè; #6E2C 渭 > wèi; #6E2D 渮 > gÄ“; #6E2E 港 > găng; #6E2F 渰 > yăn; #6E30 渱 > hóng; #6E31 渲 > xuàn; #6E32 渳 > mÄ­; #6E33 渴 > kÄ•; #6E34 渵 > máo; #6E35 渶 > yÄ«ng; #6E36 渷 > yăn; #6E37 游 > yóu; #6E38 渹 > hÅng; #6E39 渺 > miăo; #6E3A 渻 > xÄ­ng; #6E3B 渼 > mÄ•i; #6E3C 渽 > zÄi; #6E3D 渾 > hún; #6E3E 渿 > nài; #6E3F æ¹€ > kúi; #6E40 æ¹ > shí; #6E41 湂 > è; #6E42 湃 > pài; #6E43 湄 > méi; #6E44 æ¹… > liàn; #6E45 湆 > qì; #6E46 湇 > qì; #6E47 湈 > méi; #6E48 湉 > tián; #6E49 湊 > còu; #6E4A 湋 > wéi; #6E4B 湌 > cÄn; #6E4C æ¹ > tuÄn; #6E4D 湎 > miăn; #6E4E æ¹ > hùi; #6E4F æ¹ > mò; #6E50 湑 > xÅ­; #6E51 æ¹’ > jí; #6E52 湓 > pén; #6E53 æ¹” > jiÄn; #6E54 湕 > jiăn; #6E55 æ¹– > hú; #6E56 æ¹— > fèng; #6E57 湘 > xiÄng; #6E58 æ¹™ > yì; #6E59 湚 > yìn; #6E5A æ¹› > zhàn; #6E5B 湜 > shí; #6E5C æ¹ > jiÄ“; #6E5D 湞 > chéng; #6E5E 湟 > huáng; #6E5F æ¹  > tàn; #6E60 湡 > yú; #6E61 æ¹¢ > bì; #6E62 æ¹£ > mÄ­n; #6E63 湤 > shÄ«; #6E64 æ¹¥ > tú; #6E65 湦 > shÄ“ng; #6E66 æ¹§ > yÅng; #6E67 湨 > qù; #6E68 湩 > zhòng; #6E69 湪 > suèi; #6E6A 湫 > jÄ«u; #6E6B 湬 > jiăo; #6E6C æ¹­ > qióu; #6E6D æ¹® > yÄ«n; #6E6E 湯 > tÄng; #6E6F æ¹° > lóng; #6E70 æ¹± > hùo; #6E71 æ¹² > yuán; #6E72 æ¹³ > năn; #6E73 æ¹´ > bàn; #6E74 æ¹µ > yÅu; #6E75 æ¹¶ > quán; #6E76 æ¹· > chúi; #6E77 湸 > liàng; #6E78 æ¹¹ > chán; #6E79 湺 > yán; #6E7A æ¹» > chún; #6E7B æ¹¼ > niè; #6E7C æ¹½ > zÄ«; #6E7D æ¹¾ > wÄn; #6E7E 湿 > shÄ«; #6E7F 満 > măn; #6E80 æº > yíng; #6E81 溃 > kùi; #6E83 溅 > jiàn; #6E85 溆 > xù; #6E86 溇 > lÇš; #6E87 溈 > gÅ«i; #6E88 溉 > gài; #6E89 溌 > pÅ; #6E8C æº > jìn; #6E8D 溎 > gùi; #6E8E æº > táng; #6E8F æº > yuán; #6E90 溑 > sÅ­o; #6E91 溒 > yuán; #6E92 溓 > lián; #6E93 溔 > yăo; #6E94 溕 > mèng; #6E95 準 > zhÅ­n; #6E96 溗 > shéng; #6E97 溘 > kè; #6E98 溙 > tài; #6E99 溚 > dá; #6E9A 溛 > wÄ; #6E9B 溜 > lÄ«u; #6E9C æº > gÅu; #6E9D 溞 > sÄo; #6E9E 溟 > míng; #6E9F 溠 > zhà; #6EA0 溡 > shí; #6EA1 溢 > yì; #6EA2 溣 > lún; #6EA3 溤 > mă; #6EA4 溥 > pÅ­; #6EA5 溦 > wéi; #6EA6 溧 > lì; #6EA7 溨 > cái; #6EA8 溩 > wù; #6EA9 溪 > xÄ«; #6EAA 溫 > wÄ“n; #6EAB 溬 > qiÄng; #6EAC 溭 > zé; #6EAD 溮 > shÄ«; #6EAE 溯 > sù; #6EAF 溰 > yÄ«; #6EB0 溱 > zhÄ“n; #6EB1 溲 > sÅu; #6EB2 溳 > yún; #6EB3 溴 > xìu; #6EB4 溵 > yÄ«n; #6EB5 溶 > róng; #6EB6 溷 > hùn; #6EB7 溸 > sù; #6EB8 溹 > sù; #6EB9 溺 > nì; #6EBA 溻 > tà; #6EBB 溼 > shÄ«; #6EBC 溽 > rù; #6EBD 溾 > wÄ“i; #6EBE 溿 > pàn; #6EBF 滀 > chù; #6EC0 æ» > chú; #6EC1 滂 > pÄng; #6EC2 滃 > wÄ•ng; #6EC3 滄 > cÄng; #6EC4 æ»… > miè; #6EC5 滆 > hé; #6EC6 滇 > diÄn; #6EC7 滈 > hào; #6EC8 滉 > huăng; #6EC9 滊 > xì; #6ECA 滋 > zÄ«; #6ECB 滌 > dí; #6ECC æ» > zhÄ­; #6ECD 滎 > yíng; #6ECE æ» > fÅ­; #6ECF æ» > jié; #6ED0 滑 > huá; #6ED1 æ»’ > gÄ“; #6ED2 滓 > zÄ­; #6ED3 æ»” > tÄo; #6ED4 滕 > téng; #6ED5 æ»– > sÅ«i; #6ED6 æ»— > bÄ­; #6ED7 滘 > jiào; #6ED8 æ»™ > hùi; #6ED9 滚 > gÅ­n; #6EDA æ»› > yín; #6EDB 滜 > gÄo; #6EDC æ» > lóng; #6EDD 滞 > zhì; #6EDE 滟 > yàn; #6EDF æ»  > shè; #6EE0 满 > măn; #6EE1 滢 > yìng; #6EE2 滣 > chún; #6EE3 滤 > lÇœ; #6EE4 滥 > làn; #6EE5 滦 > luán; #6EE6 滨 > bÄ«n; #6EE8 滩 > tÄn; #6EE9 滪 > yù; #6EEA 滫 > sÅu; #6EEB 滬 > hù; #6EEC æ»­ > bì; #6EED æ»® > biÄo; #6EEE 滯 > zhì; #6EEF æ»° > jiăng; #6EF0 æ»± > kòu; #6EF1 滲 > shèn; #6EF2 滳 > shÄng; #6EF3 æ»´ > dÄ«; #6EF4 滵 > mì; #6EF5 æ»¶ > áo; #6EF6 æ»· > lÅ­; #6EF7 滸 > hÅ­; #6EF8 滹 > hÅ«; #6EF9 滺 > yóu; #6EFA æ»» > chăn; #6EFB 滼 > fàn; #6EFC 滽 > yóng; #6EFD 滾 > gÅ­n; #6EFE 滿 > măn; #6EFF æ¼€ > qìng; #6F00 æ¼ > yú; #6F01 漂 > piÄo; #6F02 漃 > jí; #6F03 漄 > yá; #6F04 æ¼… > jiăo; #6F05 漆 > qÄ«; #6F06 漇 > xÄ­; #6F07 漈 > jì; #6F08 漉 > lù; #6F09 漊 > lÇš; #6F0A 漋 > lóng; #6F0B 漌 > jÄ­n; #6F0C æ¼ > gúo; #6F0D 漎 > cóng; #6F0E æ¼ > lòu; #6F0F æ¼ > zhí; #6F10 漑 > gài; #6F11 æ¼’ > qiáng; #6F12 漓 > lí; #6F13 æ¼” > yăn; #6F14 漕 > cáo; #6F15 æ¼– > jiào; #6F16 æ¼— > cÅng; #6F17 漘 > qún; #6F18 æ¼™ > tuán; #6F19 漚 > òu; #6F1A æ¼› > téng; #6F1B 漜 > yÄ•; #6F1C æ¼ > xí; #6F1D 漞 > mì; #6F1E 漟 > táng; #6F1F æ¼  > mò; #6F20 漡 > shÄng; #6F21 æ¼¢ > hàn; #6F22 æ¼£ > lián; #6F23 漤 > lăn; #6F24 æ¼¥ > wÄ; #6F25 漦 > lí; #6F26 æ¼§ > qián; #6F27 漨 > féng; #6F28 漩 > xuán; #6F29 漪 > yÄ«; #6F2A 漫 > màn; #6F2B 漬 > zì; #6F2C æ¼­ > măng; #6F2D æ¼® > kÄng; #6F2E 漯 > lÄ•i; #6F2F æ¼° > pÄ“ng; #6F30 æ¼± > shù; #6F31 æ¼² > zhăng; #6F32 æ¼³ > zhÄng; #6F33 æ¼´ > chóng; #6F34 æ¼µ > xù; #6F35 æ¼¶ > huàn; #6F36 æ¼· > kùo; #6F37 漸 > jiàn; #6F38 æ¼¹ > yÄn; #6F39 漺 > chuăng; #6F3A æ¼» > liáo; #6F3B æ¼¼ > cÅ­i; #6F3C æ¼½ > tí; #6F3D æ¼¾ > yàng; #6F3E 漿 > jiÄng; #6F3F æ½€ > cóng; #6F40 æ½ > yÄ­ng; #6F41 潂 > hóng; #6F42 潃 > xún; #6F43 潄 > shù; #6F44 æ½… > guàn; #6F45 潆 > yíng; #6F46 潇 > xiÄo; #6F47 潊 > xù; #6F4A 潋 > liàn; #6F4B 潌 > zhì; #6F4C æ½ > wéi; #6F4D 潎 > pì; #6F4E æ½ > jué; #6F4F æ½ > jiào; #6F50 潑 > pÅ; #6F51 æ½’ > dàng; #6F52 潓 > hùi; #6F53 æ½” > jié; #6F54 潕 > wÅ­; #6F55 æ½– > pá; #6F56 æ½— > jí; #6F57 潘 > pÄn; #6F58 æ½™ > gúi; #6F59 潚 > xiÄo; #6F5A æ½› > qián; #6F5B 潜 > qián; #6F5C æ½ > xÄ«; #6F5D 潞 > lù; #6F5E 潟 > xì; #6F5F æ½  > xuàn; #6F60 潡 > dùn; #6F61 æ½¢ > huáng; #6F62 æ½£ > mÄ­n; #6F63 潤 > rùn; #6F64 æ½¥ > sù; #6F65 潦 > liáo; #6F66 æ½§ > zhÄ“n; #6F67 潨 > zhÅng; #6F68 潩 > yì; #6F69 潪 > dí; #6F6A 潫 > wÄn; #6F6B 潬 > dàn; #6F6C æ½­ > tán; #6F6D æ½® > cháo; #6F6E 潯 > xún; #6F6F æ½° > kùi; #6F70 æ½± > yie; #6F71 æ½² > shào; #6F72 æ½³ > tú; #6F73 æ½´ > zhÅ«; #6F74 æ½µ > sàn; #6F75 æ½¶ > hÄ“i; #6F76 æ½· > bÄ­; #6F77 潸 > shÄn; #6F78 æ½¹ > chán; #6F79 潺 > chán; #6F7A æ½» > shÅ­; #6F7B æ½¼ > tóng; #6F7C æ½½ > pÅ­; #6F7D æ½¾ > lín; #6F7E 潿 > wéi; #6F7F æ¾€ > sè; #6F80 æ¾ > sè; #6F81 澂 > chéng; #6F82 澃 > jìong; #6F83 澄 > chéng; #6F84 æ¾… > huà; #6F85 澆 > jiÄo; #6F86 澇 > lào; #6F87 澈 > chè; #6F88 澉 > găn; #6F89 澊 > cÅ«n; #6F8A 澋 > hèng; #6F8B 澌 > sÄ«; #6F8C æ¾ > shù; #6F8D 澎 > péng; #6F8E æ¾ > hàn; #6F8F æ¾ > yún; #6F90 澑 > lìu; #6F91 æ¾’ > hòng; #6F92 澓 > fú; #6F93 æ¾” > hào; #6F94 澕 > hé; #6F95 æ¾– > xiÄn; #6F96 æ¾— > jiàn; #6F97 澘 > shÄn; #6F98 æ¾™ > xì; #6F99 澜 > lán; #6F9C 澞 > yú; #6F9E 澟 > lÄ­n; #6F9F æ¾  > mÄ­n; #6FA0 澡 > zăo; #6FA1 æ¾¢ > dÄng; #6FA2 æ¾£ > wăn; #6FA3 澤 > zé; #6FA4 æ¾¥ > xiè; #6FA5 澦 > yù; #6FA6 æ¾§ > lÄ­; #6FA7 澨 > shì; #6FA8 澩 > xué; #6FA9 澪 > líng; #6FAA 澫 > màn; #6FAB 澬 > zÄ«; #6FAC æ¾­ > yÅng; #6FAD æ¾® > kuài; #6FAE 澯 > càn; #6FAF æ¾° > liàn; #6FB0 æ¾± > diàn; #6FB1 æ¾² > yè; #6FB2 æ¾³ > ào; #6FB3 æ¾´ > huán; #6FB4 æ¾µ > zhÄ“n; #6FB5 æ¾¶ > chán; #6FB6 æ¾· > màn; #6FB7 澸 > dăn; #6FB8 æ¾¹ > dàn; #6FB9 澺 > yì; #6FBA æ¾» > sùi; #6FBB æ¾¼ > pì; #6FBC æ¾½ > jù; #6FBD æ¾¾ > tà; #6FBE 澿 > qín; #6FBF æ¿€ > jÄ«; #6FC0 æ¿ > zhúo; #6FC1 æ¿‚ > lián; #6FC2 濃 > nóng; #6FC3 æ¿„ > gÅ«o; #6FC4 æ¿… > jìn; #6FC5 濆 > fén; #6FC6 濇 > sè; #6FC7 濈 > jí; #6FC8 濉 > sÅ«i; #6FC9 濊 > hùi; #6FCA æ¿‹ > chÅ­; #6FCB 濌 > tà; #6FCC æ¿ > sÅng; #6FCD 濎 > dÄ­ng; #6FCE æ¿ > zhÅ­; #6FD0 æ¿‘ > lài; #6FD1 æ¿’ > bÄ«n; #6FD2 æ¿“ > lián; #6FD3 æ¿” > mÄ­; #6FD4 æ¿• > shÄ«; #6FD5 æ¿– > shù; #6FD6 æ¿— > mì; #6FD7 濘 > nìng; #6FD8 æ¿™ > yíng; #6FD9 濚 > yíng; #6FDA æ¿› > méng; #6FDB 濜 > jìn; #6FDC æ¿ > qí; #6FDD 濞 > pì; #6FDE 濟 > jì; #6FDF æ¿  > háo; #6FE0 æ¿¡ > rú; #6FE1 æ¿¢ > zÅ­i; #6FE2 æ¿£ > wò; #6FE3 濤 > tÄo; #6FE4 æ¿¥ > yìn; #6FE5 濦 > yÄ­n; #6FE6 æ¿§ > dùi; #6FE7 濨 > cí; #6FE8 æ¿© > hùo; #6FE9 濪 > jìng; #6FEA æ¿« > làn; #6FEB 濬 > jùn; #6FEC æ¿­ > ài; #6FED æ¿® > pÅ«; #6FEE 濯 > zhúo; #6FEF æ¿° > wéi; #6FF0 濱 > bÄ«n; #6FF1 濲 > gÅ­; #6FF2 濳 > qián; #6FF3 æ¿´ > xíng; #6FF4 æ¿¶ > kùo; #6FF6 æ¿· > fèi; #6FF7 濺 > jiàn; #6FFA æ¿» > wÄ•i; #6FFB 濼 > lùo; #6FFC 濽 > zàn; #6FFD 濾 > lÇœ; #6FFE æ¿¿ > lì; #6FFF 瀀 > yÅu; #7000 ç€ > yàng; #7001 瀂 > lÅ­; #7002 瀃 > sì; #7003 瀄 > jié; #7004 瀅 > yìng; #7005 瀆 > dú; #7006 瀇 > wăng; #7007 瀈 > hÅ«i; #7008 瀉 > xiè; #7009 瀊 > pán; #700A 瀋 > shÄ•n; #700B 瀌 > biÄo; #700C ç€ > chán; #700D 瀎 > mò; #700E ç€ > líu; #700F ç€ > jiÄn; #7010 瀑 > pù; #7011 瀒 > sè; #7012 瀓 > chéng; #7013 瀔 > gÅ­; #7014 瀕 > bÄ«n; #7015 瀖 > hùo; #7016 瀗 > xiàn; #7017 瀘 > lú; #7018 瀙 > qÄ«n; #7019 瀚 > hàn; #701A 瀛 > yíng; #701B 瀜 > yÅng; #701C ç€ > lì; #701D 瀞 > jìng; #701E 瀟 > xiÄo; #701F 瀠 > yíng; #7020 瀡 > sÅ­i; #7021 瀢 > wéi; #7022 瀣 > xiè; #7023 瀤 > huái; #7024 瀥 > hào; #7025 瀦 > zhÅ«; #7026 瀧 > lóng; #7027 瀨 > lài; #7028 瀩 > dùi; #7029 瀪 > fán; #702A 瀫 > hú; #702B 瀬 > lài; #702C 瀯 > yíng; #702F 瀰 > mí; #7030 瀱 > jì; #7031 瀲 > liàn; #7032 瀳 > jiàn; #7033 瀴 > yÄ­ng; #7034 瀵 > fèn; #7035 瀶 > lín; #7036 瀷 > yì; #7037 瀸 > jiÄn; #7038 瀹 > yuè; #7039 瀺 > chán; #703A 瀻 > dài; #703B 瀼 > ráng; #703C 瀽 > jiăn; #703D 瀾 > lán; #703E 瀿 > fán; #703F ç€ > shuàng; #7040 ç > yuÄn; #7041 ç‚ > zhúo; #7042 çƒ > fÄ“ng; #7043 ç„ > shè; #7044 ç… > lÄ•i; #7045 ç† > lán; #7046 ç‡ > cóng; #7047 çˆ > qú; #7048 ç‰ > yÅng; #7049 çŠ > qián; #704A ç‹ > fă; #704B çŒ > guàn; #704C ç > què; #704D çŽ > yàn; #704E ç > hào; #704F ç‘ > să; #7051 ç’ > zàn; #7052 ç“ > luán; #7053 ç” > yàn; #7054 ç• > lí; #7055 ç– > mÄ­; #7056 ç— > shàn; #7057 ç˜ > tÄn; #7058 ç™ > dăng; #7059 çš > jiăo; #705A ç› > chăn; #705B ç > hào; #705D çž > bà; #705E çŸ > zhú; #705F ç  > lăn; #7060 ç¡ > lán; #7061 ç¢ > năng; #7062 ç£ > wÄn; #7063 ç¤ > luán; #7064 ç¥ > xún; #7065 ç¦ > xiăn; #7066 ç§ > yàn; #7067 ç¨ > găn; #7068 ç© > yàn; #7069 çª > yù; #706A ç« > hÅ­o; #706B ç¬ > sì' 'diăn' 'hÅ­o; #706C ç­ > miè; #706D ç® > guÄng; #706E ç¯ > dÄ“ng; #706F ç° > hÅ«i; #7070 ç± > xiÄo; #7071 ç² > xiÄo; #7072 ç³ > hÅ«1; #7073 ç´ > hóng; #7074 çµ > líng; #7075 ç¶ > zào; #7076 ç· > zhuàn; #7077 ç¸ > jÄ­u; #7078 ç¹ > zhà; #7079 çº > xiè; #707A ç» > chì; #707B ç¼ > zhúo; #707C ç½ > zÄi; #707D ç¾ > zÄi; #707E ç¿ > càn; #707F ç‚€ > yáng; #7080 ç‚ > qì; #7081 ç‚‚ > zhÅng; #7082 炃 > fén; #7083 ç‚„ > nÄ­u; #7084 ç‚… > jÄ­ong; #7085 炆 > wén; #7086 炇 > pò; #7087 炈 > yì; #7088 炉 > lú; #7089 炊 > chÅ«i; #708A ç‚‹ > pÄ«; #708B 炌 > kài; #708C ç‚ > pàn; #708D 炎 > yán; #708E ç‚ > kài; #708F ç‚ > pàng; #7090 ç‚‘ > mù; #7091 ç‚’ > chăo; #7092 ç‚“ > liào; #7093 ç‚” > gùi; #7094 ç‚• > kàng; #7095 ç‚– > tÅ«n; #7096 ç‚— > guÄng; #7097 炘 > xÄ«n; #7098 ç‚™ > zhì; #7099 炚 > guang; #709A ç‚› > guÄng; #709B 炜 > wÄ•i; #709C ç‚ > qiàng; #709D 炟 > dá; #709F ç‚  > xiá; #70A0 ç‚¡ > zhÄ“ng; #70A1 ç‚¢ > zhú; #70A2 ç‚£ > kÄ•; #70A3 炤 > zhào; #70A4 ç‚¥ > fú; #70A5 炦 > bá; #70A6 ç‚§ > dùo; #70A7 炨 > dùo; #70A8 ç‚© > lìng; #70A9 炪 > zhúo; #70AA ç‚« > xuàn; #70AB 炬 > jù; #70AC ç‚­ > tàn; #70AD ç‚® > pào; #70AE 炯 > jÄ­ong; #70AF ç‚° > páo; #70B0 炱 > tái; #70B1 炲 > tái; #70B2 炳 > bÄ­ng; #70B3 ç‚´ > yăng; #70B4 炵 > tÅng; #70B5 ç‚¶ > hÄn; #70B6 ç‚· > zhù; #70B7 炸 > zhà; #70B8 点 > diăn; #70B9 為 > wèi; #70BA ç‚» > shí; #70BB 炼 > liàn; #70BC 炽 > chì; #70BD 炾 > huăng; #70BE 烀 > hÅ«; #70C0 çƒ > shùo; #70C1 烂 > làn; #70C2 烃 > jÄ­ng; #70C3 烄 > jiăo; #70C4 烅 > xù; #70C5 烆 > xíng; #70C6 烇 > quàn; #70C7 烈 > liè; #70C8 烉 > huàn; #70C9 烊 > yáng; #70CA 烋 > xiÄo; #70CB 烌 > xÄ«u; #70CC çƒ > xiăn; #70CD 烎 > yín; #70CE çƒ > wÅ«; #70CF çƒ > zhÅu; #70D0 烑 > yáo; #70D1 烒 > shì; #70D2 烓 > wÄ“i; #70D3 烔 > tóng; #70D4 烕 > xuè; #70D5 烖 > zÄi; #70D6 烗 > kài; #70D7 烘 > hÅng; #70D8 烙 > lùo; #70D9 烚 > xiá; #70DA 烛 > zhú; #70DB 烜 > xuăn; #70DC çƒ > zhÄ“ng; #70DD 烞 > pò; #70DE 烟 > yÄn; #70DF 烠 > hÅ­i; #70E0 烡 > guÄng; #70E1 烢 > zhè; #70E2 烣 > hÅ«i; #70E3 烤 > kăo; #70E4 烦 > fán; #70E6 烧 > shÄo; #70E7 烨 > yè; #70E8 烩 > hùi; #70E9 烫 > tàng; #70EB 烬 > jìn; #70EC 热 > rè; #70ED 烯 > xÄ«; #70EF 烰 > fú; #70F0 烱 > jÄ­ong; #70F1 烲 > chè; #70F2 烳 > pÅ­; #70F3 烴 > jÄ­ng; #70F4 烵 > zhúo; #70F5 烶 > tÄ­ng; #70F6 烷 > wán; #70F7 烸 > hăi; #70F8 烹 > pÄ“ng; #70F9 烺 > lăng; #70FA 烻 > shÄn; #70FB 烼 > hÅ«; #70FC 烽 > fÄ“ng; #70FD 烾 > chì; #70FE 烿 > róng; #70FF ç„€ > hú; #7100 ç„ > xi; #7101 ç„‚ > shú; #7102 焃 > hè; #7103 ç„„ > xÅ«n; #7104 ç„… > kù; #7105 焆 > jué; #7106 焇 > xiÄo; #7107 焈 > xÄ«; #7108 焉 > yÄn; #7109 焊 > hàn; #710A ç„‹ > zhuàng; #710B 焌 > jùn; #710C ç„ > dì; #710D 焎 > xiè; #710E ç„ > jí; #710F ç„ > wù; #7110 ç„“ > hán; #7113 ç„” > yàn; #7114 ç„• > huàn; #7115 ç„– > mèn; #7116 ç„— > jú; #7117 焘 > chóu; #7118 ç„™ > bèi; #7119 焚 > fén; #711A ç„› > lìn; #711B 焜 > kÅ«n; #711C ç„ > hùn; #711D 焞 > tÅ«n; #711E 焟 > xí; #711F ç„  > cùi; #7120 ç„¡ > wú; #7121 ç„¢ > hÅng; #7122 ç„£ > jù; #7123 焤 > fÅ­; #7124 ç„¥ > wò; #7125 焦 > jiÄo; #7126 ç„§ > cÅng; #7127 焨 > fèng; #7128 ç„© > pÄ«ng; #7129 焪 > qÄ«ong; #712A ç„« > rùo; #712B 焬 > xí; #712C ç„­ > qíong; #712D ç„® > xìn; #712E 焯 > zhúo; #712F ç„° > yàn; #7130 焱 > yàn; #7131 焲 > yì; #7132 焳 > jué; #7133 ç„´ > yù; #7134 焵 > gàng; #7135 ç„¶ > rán; #7136 ç„· > pí; #7137 焸 > gÅ­; #7138 焺 > shÄ“ng; #713A ç„» > chàng; #713B 焼 > shÄo; #713C ç… > chén; #7141 ç…‚ > hè; #7142 ç…ƒ > kÅ­i; #7143 ç…„ > zhÅng; #7144 ç…… > duàn; #7145 ç…† > xiÄ; #7146 ç…‡ > hÅ«i; #7147 ç…ˆ > fèng; #7148 ç…‰ > liàn; #7149 ç…Š > xuÄn; #714A ç…‹ > xÄ«ng; #714B ç…Œ > huáng; #714C ç… > jiăo; #714D ç…Ž > jiÄn; #714E ç… > bì; #714F ç… > yÄ«ng; #7150 ç…‘ > zhÅ­; #7151 ç…’ > wÄ•i; #7152 ç…“ > tuÄn; #7153 ç…” > tiàn; #7154 ç…• > xÄ«; #7155 ç…– > nuăn; #7156 ç…— > nuăn; #7157 ç…˜ > chán; #7158 ç…™ > yÄn; #7159 ç…š > jÄ­ong; #715A ç…› > jÄ­ong; #715B ç…œ > yù; #715C ç… > mèi; #715D ç…ž > shà; #715E ç…Ÿ > wèi; #715F ç…  > yè; #7160 ç…¡ > xìn; #7161 ç…¢ > qíong; #7162 ç…£ > rÅu; #7163 ç…¤ > méi; #7164 ç…¥ > huàn; #7165 ç…¦ > xÅ­; #7166 ç…§ > zhào; #7167 ç…¨ > wÄ“i; #7168 ç…© > fán; #7169 ç…ª > qíu; #716A ç…« > sùi; #716B ç…¬ > yáng; #716C ç…­ > liè; #716D ç…® > zhÅ­; #716E ç…¯ > jie; #716F ç…° > gào; #7170 ç…± > guÄ; #7171 ç…² > bào; #7172 ç…³ > hú; #7173 ç…´ > yÅ«n; #7174 ç…µ > xiÄ; #7175 ç…¸ > biÄn; #7178 ç…¹ > gòu; #7179 ç…º > tùi; #717A ç…» > táng; #717B ç…¼ > chăo; #717C ç…½ > shÄn; #717D ç…¾ > n; #717E ç…¿ > bó; #717F 熀 > huăng; #7180 ç† > xié; #7181 熂 > xì; #7182 熃 > wù; #7183 熄 > xí; #7184 熅 > yún; #7185 熆 > hé; #7186 熇 > hè; #7187 熈 > xÄ«; #7188 熉 > yún; #7189 熊 > xíong; #718A 熋 > nái; #718B 熌 > shàn; #718C ç† > qiong; #718D 熎 > yào; #718E ç† > xÅ«n; #718F ç† > mì; #7190 熑 > lián; #7191 熒 > yíng; #7192 熓 > wèn; #7193 熔 > róng; #7194 熗 > qiàng; #7197 熘 > lÄ«u; #7198 熙 > xÄ«; #7199 熚 > bì; #719A 熛 > biÄo; #719B 熜 > zÅng; #719C ç† > lù; #719D 熞 > jiÄn; #719E 熟 > shóu; #719F 熠 > yì; #71A0 熡 > lóu; #71A1 熢 > fÄ“ng; #71A2 熣 > sÅ«i; #71A3 熤 > yì; #71A4 熥 > tÅng; #71A5 熦 > jué; #71A6 熧 > zÅng; #71A7 熨 > yùn; #71A8 熩 > hù; #71A9 熪 > yí; #71AA 熫 > zhì; #71AB 熬 > áo; #71AC 熭 > wèi; #71AD 熮 > liáo; #71AE 熯 > hàn; #71AF 熰 > Åu; #71B0 熱 > rè; #71B1 熲 > jÄ­ong; #71B2 熳 > màn; #71B3 熵 > shÄng; #71B5 熶 > cuàn; #71B6 熷 > zÄ“ng; #71B7 熸 > jiÄn; #71B8 熹 > xÄ«; #71B9 熺 > xÄ«; #71BA 熻 > xÄ«; #71BB 熼 > yì; #71BC 熽 > xiào; #71BD 熾 > chì; #71BE 熿 > huáng; #71BF 燀 > chăn; #71C0 ç‡ > yè; #71C1 燂 > qián; #71C2 燃 > rán; #71C3 燄 > yàn; #71C4 燅 > xián; #71C5 燆 > qiáo; #71C6 燇 > zùn; #71C7 燈 > dÄ“ng; #71C8 燉 > dùn; #71C9 燊 > shÄ“n; #71CA 燋 > jiÄo; #71CB 燌 > fén; #71CC ç‡ > sÄ«; #71CD 燎 > liào; #71CE ç‡ > yù; #71CF ç‡ > lín; #71D0 燑 > tóng; #71D1 燒 > shÄo; #71D2 燓 > fÄ“n; #71D3 燔 > fán; #71D4 燕 > yàn; #71D5 燖 > xún; #71D6 燗 > làn; #71D7 燘 > mÄ•i; #71D8 燙 > tàng; #71D9 燚 > yÄ«; #71DA 燛 > jÄ­ng; #71DB 燜 > mèn; #71DC 營 > yíng; #71DF 燠 > yù; #71E0 燡 > yì; #71E1 燢 > xué; #71E2 燣 > lán; #71E3 燤 > tài; #71E4 燥 > zào; #71E5 燦 > càn; #71E6 燧 > sùi; #71E7 燨 > xÄ«; #71E8 燩 > què; #71E9 燪 > cÅng; #71EA 燫 > lián; #71EB 燬 > hÅ­i; #71EC 燭 > zhú; #71ED 燮 > xiè; #71EE 燯 > líng; #71EF 燰 > wÄ“i; #71F0 燱 > yì; #71F1 燲 > xié; #71F2 燳 > zhào; #71F3 燴 > hùi; #71F4 燷 > lán; #71F7 燸 > rú; #71F8 燹 > xiăn; #71F9 燺 > kăo; #71FA 燻 > xÅ«n; #71FB 燼 > jìn; #71FC 燽 > chóu; #71FD 燾 > chóu; #71FE 燿 > yào; #71FF 爀 > hè; #7200 çˆ > làn; #7201 爂 > biÄo; #7202 爃 > róng; #7203 爄 > lì; #7204 爅 > mò; #7205 爆 > bào; #7206 爇 > rùo; #7207 爈 > lǘ; #7208 爉 > là; #7209 爊 > áo; #720A 爋 > xùn; #720B 爌 > kuàng; #720C çˆ > shùo; #720D çˆ > lì; #720F çˆ > lú; #7210 爑 > jué; #7211 爒 > liào; #7212 爓 > yàn; #7213 爔 > xÄ«; #7214 爕 > xiè; #7215 爖 > lóng; #7216 爗 > yè; #7217 爙 > răng; #7219 爚 > yuè; #721A 爛 > làn; #721B 爜 > cóng; #721C çˆ > jué; #721D 爞 > tóng; #721E 爟 > guàn; #721F 爡 > chè; #7221 爢 > mí; #7222 爣 > tăng; #7223 爤 > làn; #7224 爥 > zhú; #7225 爧 > líng; #7227 爨 > cuàn; #7228 爩 > yù; #7229 爪 > zhuă; #722A 爬 > pá; #722C 爭 > zhÄ“ng; #722D 爮 > páo; #722E 爯 > chÄ“ng; #722F 爰 > yuán; #7230 爱 > ài; #7231 爲 > wèi; #7232 爴 > jué; #7234 爵 > jué; #7235 父 > fù; #7236 爷 > yé; #7237 爸 > bà; #7238 爹 > diÄ“; #7239 爺 > yé; #723A 爻 > yáo; #723B 爼 > zÅ­; #723C 爽 > shuăng; #723D 爾 > Ä•r; #723E 爿 > qiáng; #723F 牀 > chuáng; #7240 ç‰ > gÄ“; #7241 牂 > zÄng; #7242 牃 > dié; #7243 牄 > qiÄng; #7244 牅 > yóng; #7245 牆 > qiáng; #7246 片 > piàn; #7247 版 > băn; #7248 牉 > pàn; #7249 牊 > sháo; #724A 牋 > jiÄn; #724B 牌 > pái; #724C ç‰ > dú; #724D 牎 > chuÄng; #724E ç‰ > tóu; #724F ç‰ > zhá; #7250 牑 > biÄn; #7251 牒 > dié; #7252 牓 > băng; #7253 牔 > bó; #7254 牕 > chuÄng; #7255 牖 > yÅu; #7256 牘 > dú; #7258 牙 > yá; #7259 牚 > chèng; #725A 牛 > níu; #725B ç‰ > pìn; #725D 牞 > jÄ«u; #725E 牟 > móu; #725F 牠 > tÅ«o; #7260 牡 > mÅ­; #7261 牢 > láo; #7262 牣 > rèn; #7263 牤 > máng; #7264 牥 > fÄng; #7265 牦 > máo; #7266 牧 > mù; #7267 牨 > gÄng; #7268 物 > wù; #7269 牪 > yàn; #726A 牫 > gÄ“; #726B 牬 > bèi; #726C 牭 > sì; #726D 牮 > jiàn; #726E 牯 > gÅ­; #726F 牰 > yòu; #7270 牱 > gÄ“; #7271 牲 > shÄ“ng; #7272 牳 > mÅ­; #7273 牴 > dÄ­; #7274 牵 > qiÄn; #7275 牶 > quàn; #7276 牷 > quán; #7277 牸 > zì; #7278 特 > tè; #7279 牺 > xÄ«; #727A 牻 > máng; #727B 牼 > kÄ“ng; #727C 牽 > qiÄn; #727D 牾 > wú; #727E 牿 > gù; #727F 犀 > xÄ«; #7280 çŠ > lí; #7281 犂 > lí; #7282 犃 > pÅu; #7283 犄 > jÄ«; #7284 犅 > gÄng; #7285 犆 > zhí; #7286 犇 > bÄ“n; #7287 犈 > quán; #7288 犉 > rún; #7289 犊 > dú; #728A 犋 > jù; #728B 犌 > jiÄ; #728C çŠ > jiÄn; #728D 犎 > fÄ“ng; #728E çŠ > piÄn; #728F çŠ > kÄ“; #7290 犑 > jú; #7291 犒 > kào; #7292 犓 > chú; #7293 犔 > xì; #7294 犕 > bèi; #7295 犖 > lùo; #7296 犗 > jiè; #7297 犘 > má; #7298 犙 > sÄn; #7299 犚 > wèi; #729A 犛 > lí; #729B 犜 > dÅ«n; #729C çŠ > tóng; #729D 犟 > jiàng; #729F 犡 > lì; #72A1 犢 > dú; #72A2 犣 > liè; #72A3 犤 > pí; #72A4 犥 > piăo; #72A5 犦 > bào; #72A6 犧 > xÄ«; #72A7 犨 > chÅu; #72A8 犩 > wèi; #72A9 犪 > kúi; #72AA 犫 > chÅu; #72AB 犬 > quăn; #72AC 犭 > făn' 'quăn' 'páng; #72AD 犮 > bá; #72AE 犯 > fàn; #72AF 犰 > qíu; #72B0 犱 > jÄ­; #72B1 犲 > cái; #72B2 犳 > chúo; #72B3 犴 > àn; #72B4 犵 > jié; #72B5 状 > zhuàng; #72B6 犷 > guăng; #72B7 犸 > mà; #72B8 犹 > yóu; #72B9 犺 > kàng; #72BA 犻 > bó; #72BB 犼 > hÅu; #72BC 犽 > yá; #72BD 犾 > yín; #72BE 犿 > huÄn; #72BF ç‹€ > zhuàng; #72C0 ç‹ > yÅ­n; #72C1 ç‹‚ > kuáng; #72C2 狃 > nÄ­u; #72C3 ç‹„ > dí; #72C4 ç‹… > qÄ«ng; #72C5 狆 > zhòng; #72C6 狇 > mù; #72C7 狈 > bèi; #72C8 狉 > pÄ«; #72C9 狊 > jú; #72CA ç‹‹ > ní; #72CB 狌 > shÄ“ng; #72CC ç‹ > páo; #72CD 狎 > xiá; #72CE ç‹ > túo; #72CF ç‹ > hú; #72D0 ç‹‘ > líng; #72D1 ç‹’ > fèi; #72D2 ç‹“ > pÄ«; #72D3 ç‹” > nÄ­; #72D4 ç‹• > ăo; #72D5 ç‹– > yòu; #72D6 ç‹— > gÅu; #72D7 狘 > yuè; #72D8 ç‹™ > jÅ«; #72D9 狚 > dàn; #72DA ç‹› > pò; #72DB 狜 > gÅ­; #72DC ç‹ > xiăn; #72DD 狞 > níng; #72DE 狟 > huán; #72DF ç‹  > hÄ•n; #72E0 ç‹¡ > jiăo; #72E1 ç‹¢ > hé; #72E2 ç‹£ > zhào; #72E3 狤 > jí; #72E4 ç‹¥ > xùn; #72E5 狦 > shÄn; #72E6 ç‹§ > tà; #72E7 狨 > róng; #72E8 ç‹© > shòu; #72E9 狪 > tÅng; #72EA ç‹« > lăo; #72EB 独 > dú; #72EC ç‹­ > xiá; #72ED ç‹® > shÄ«; #72EE 狯 > huá; #72EF ç‹° > zhÄ“ng; #72F0 狱 > yù; #72F1 狲 > sÅ«n; #72F2 狳 > yú; #72F3 ç‹´ > bì; #72F4 狵 > máng; #72F5 ç‹¶ > xÄ­; #72F6 ç‹· > juàn; #72F7 狸 > lí; #72F8 狹 > xiá; #72F9 狺 > yín; #72FA ç‹» > suÄn; #72FB 狼 > láng; #72FC 狽 > bèi; #72FD 狾 > zhì; #72FE ç‹¿ > yán; #72FF 猀 > shÄ; #7300 çŒ > lì; #7301 猂 > hàn; #7302 猃 > xiăn; #7303 猄 > jÄ«ng; #7304 猅 > pái; #7305 猆 > fÄ“i; #7306 猇 > yáo; #7307 猈 > bà; #7308 猉 > qí; #7309 猊 > ní; #730A 猋 > biÄo; #730B 猌 > yìn; #730C çŒ > lái; #730D 猎 > xí; #730E çŒ > jiÄn; #730F çŒ > qiÄng; #7310 猑 > kÅ«n; #7311 猒 > yÄn; #7312 猓 > gÅ­o; #7313 猔 > zòng; #7314 猕 > mí; #7315 猖 > chÄng; #7316 猗 > yÄ«; #7317 猘 > zhì; #7318 猙 > zhÄ“ng; #7319 猚 > yá; #731A 猛 > mÄ•ng; #731B 猜 > cÄi; #731C çŒ > cù; #731D 猞 > shè; #731E 猡 > lúo; #7321 猢 > hú; #7322 猣 > zÅng; #7323 猤 > jì; #7324 猥 > wÄ•i; #7325 猦 > fÄ“ng; #7326 猧 > wÅ; #7327 猨 > yuán; #7328 猩 > xÄ«ng; #7329 猪 > zhÅ«; #732A 猫 > mÄo; #732B 猬 > wèi; #732C 猭 > yuán; #732D 献 > xiàn; #732E 猯 > tuÄn; #732F 猰 > yà; #7330 猱 > náo; #7331 猲 > xiÄ“; #7332 猳 > jiÄ; #7333 猴 > hóu; #7334 猵 > biÄn; #7335 猶 > yóu; #7336 猷 > yóu; #7337 猸 > méi; #7338 猹 > zhÄ; #7339 猺 > yáo; #733A 猻 > sÅ«n; #733B 猼 > bó; #733C 猽 > míng; #733D 猾 > huá; #733E 猿 > yuán; #733F ç€ > sÅu; #7340 ç > mà; #7341 ç‚ > yuán; #7342 çƒ > dÄi; #7343 ç„ > yù; #7344 ç… > shÄ«; #7345 ç† > háo; #7346 çˆ > yì; #7348 ç‰ > zhÄ“n; #7349 çŠ > chuàng; #734A ç‹ > háo; #734B çŒ > màn; #734C ç > jìng; #734D çŽ > jiăng; #734E ç > mú; #734F ç > zhÄng; #7350 ç‘ > chán; #7351 ç’ > áo; #7352 ç“ > áo; #7353 ç” > háo; #7354 ç• > cÅ«i; #7355 ç– > fén; #7356 ç— > jué; #7357 ç˜ > bì; #7358 ç™ > bì; #7359 çš > huáng; #735A ç› > pú; #735B çœ > lín; #735C ç > yù; #735D çž > tóng; #735E çŸ > yào; #735F ç  > liáo; #7360 ç¡ > shùo; #7361 ç¢ > xiÄo; #7362 ç¥ > xí; #7365 ç¦ > gé; #7366 ç§ > juàn; #7367 ç¨ > dú; #7368 ç© > hùi; #7369 çª > kuài; #736A ç« > xiăn; #736B ç¬ > xiè; #736C ç­ > tà; #736D ç® > xiăn; #736E ç¯ > xÅ«n; #736F ç° > níng; #7370 ç± > pín; #7371 ç² > hùo; #7372 ç³ > nòu; #7373 ç´ > méng; #7374 çµ > liè; #7375 ç¶ > náo; #7376 ç· > guăng; #7377 ç¸ > shòu; #7378 ç¹ > lú; #7379 çº > tà; #737A ç» > xiàn; #737B ç¼ > mí; #737C ç½ > ráng; #737D ç¾ > huÄn; #737E ç¿ > náo; #737F 玀 > lúo; #7380 çŽ > xiăn; #7381 玂 > qí; #7382 玃 > jué; #7383 玄 > xuán; #7384 玅 > miào; #7385 玆 > zÄ«; #7386 率 > lÇœ; #7387 玈 > lú; #7388 玉 > yù; #7389 玊 > sù; #738A 王 > wáng; #738B 玌 > qíu; #738C çŽ > gă; #738D 玎 > dÄ«ng; #738E çŽ > lè; #738F çŽ > bÄ; #7390 玑 > jÄ«; #7391 玒 > hóng; #7392 玓 > dì; #7393 玔 > quàn; #7394 玕 > gÄn; #7395 玖 > jÄ­u; #7396 玗 > yú; #7397 玘 > jÄ­; #7398 玙 > yú; #7399 玚 > yáng; #739A 玛 > mă; #739B 玜 > gÅng; #739C çŽ > wÅ­; #739D 玞 > fÅ«; #739E 玟 > wén; #739F 玠 > jiè; #73A0 玡 > yà; #73A1 玢 > fén; #73A2 玣 > biàn; #73A3 玤 > bÄ•ng; #73A4 玥 > yuè; #73A5 玦 > jué; #73A6 玧 > yÅ­n; #73A7 玨 > jué; #73A8 玩 > wán; #73A9 玪 > jiÄn; #73AA 玫 > méi; #73AB 玬 > dăn; #73AC 玭 > pí; #73AD 玮 > wÄ•i; #73AE 环 > huán; #73AF 现 > xiàn; #73B0 玱 > qiÄng; #73B1 玲 > líng; #73B2 玳 > dài; #73B3 玴 > yì; #73B4 玵 > án; #73B5 玶 > píng; #73B6 玷 > diàn; #73B7 玸 > fú; #73B8 玹 > xuán; #73B9 玺 > xÄ­; #73BA 玻 > bÅ; #73BB 玼 > cÄ­; #73BC 玽 > gÅu; #73BD 玾 > jiă; #73BE 玿 > sháo; #73BF ç€ > pò; #73C0 ç > cí; #73C1 ç‚ > kÄ“; #73C2 çƒ > răn; #73C3 ç„ > shÄ“ng; #73C4 ç… > shÄ“n; #73C5 ç† > yí; #73C6 ç‡ > zÅ­; #73C7 çˆ > jiÄ; #73C8 ç‰ > mín; #73C9 çŠ > shÄn; #73CA ç‹ > lÄ­u; #73CB çŒ > bì; #73CC ç > zhÄ“n; #73CD çŽ > zhÄ“n; #73CE ç > jué; #73CF ç > fà; #73D0 ç‘ > lóng; #73D1 ç’ > jÄ«n; #73D2 ç“ > jiào; #73D3 ç” > jiàn; #73D4 ç• > lì; #73D5 ç– > guÄng; #73D6 ç— > xiÄn; #73D7 ç˜ > zhÅu; #73D8 ç™ > gÅng; #73D9 çš > yÄn; #73DA ç› > xìu; #73DB çœ > yáng; #73DC ç > xÅ­; #73DD çž > lùo; #73DE çŸ > sù; #73DF ç  > zhÅ«; #73E0 ç¡ > qín; #73E1 ç¢ > kèn; #73E2 ç£ > xún; #73E3 ç¤ > băo; #73E4 ç¥ > Ä•r; #73E5 ç¦ > xiàng; #73E6 ç§ > yáo; #73E7 ç¨ > xiá; #73E8 ç© > héng; #73E9 çª > gÅ«i; #73EA ç« > chÅng; #73EB ç¬ > xù; #73EC ç­ > bÄn; #73ED ç® > pèi; #73EE ç° > dÄng; #73F0 ç² > hún; #73F2 ç³ > wén; #73F3 ç´ > é; #73F4 çµ > chéng; #73F5 ç¶ > tí; #73F6 ç· > wÅ­; #73F7 ç¸ > wú; #73F8 ç¹ > chéng; #73F9 çº > jùn; #73FA ç» > méi; #73FB ç¼ > bèi; #73FC ç½ > tÄ­ng; #73FD ç¾ > xiàn; #73FE ç¿ > chùo; #73FF ç€ > hán; #7400 ç > xuan; #7401 ç‚ > yán; #7402 çƒ > qíu; #7403 ç„ > quăn; #7404 ç… > láng; #7405 ç† > lÄ­; #7406 ç‡ > xìu; #7407 çˆ > fú; #7408 ç‰ > líu; #7409 çŠ > yé; #740A ç‹ > xÄ«; #740B çŒ > líng; #740C ç > lì; #740D çŽ > jìn; #740E ç > lián; #740F ç > sÅ­o; #7410 ç“ > wán; #7413 ç” > diàn; #7414 ç• > pín; #7415 ç– > zhăn; #7416 ç— > cùi; #7417 ç˜ > mín; #7418 ç™ > yù; #7419 çš > jÅ«; #741A ç› > chÄ“n; #741B çœ > lái; #741C ç > wén; #741D çž > shèng; #741E çŸ > wéi; #741F ç  > diăn; #7420 ç¡ > chù; #7421 ç¢ > zhúo; #7422 ç£ > pÄ•i; #7423 ç¤ > chÄ“ng; #7424 ç¥ > hÅ­; #7425 ç¦ > qí; #7426 ç§ > è; #7427 ç¨ > kÅ«n; #7428 ç© > chÄng; #7429 çª > qí; #742A ç« > bÄ•ng; #742B ç¬ > wăn; #742C ç­ > lù; #742D ç® > cóng; #742E ç¯ > guăn; #742F ç° > yăn; #7430 ç± > diÄo; #7431 ç² > bèi; #7432 ç³ > lín; #7433 ç´ > qín; #7434 çµ > pí; #7435 ç¶ > pá; #7436 ç· > què; #7437 ç¸ > zhúo; #7438 ç¹ > qín; #7439 çº > fà; #743A ç¼ > qíong; #743C ç½ > dÅ­; #743D ç¾ > jiè; #743E ç¿ > hún; #743F ç‘€ > yÅ­; #7440 ç‘ > mào; #7441 ç‘‚ > méi; #7442 瑃 > chun; #7443 ç‘„ > xuÄn; #7444 ç‘… > tí; #7445 瑆 > xÄ«ng; #7446 瑇 > dài; #7447 瑈 > róu; #7448 瑉 > mín; #7449 瑊 > zhÄ“n; #744A ç‘‹ > wÄ•i; #744B 瑌 > ruăn; #744C ç‘ > huàn; #744D 瑎 > jiÄ“; #744E ç‘ > chuÄn; #744F ç‘ > jiăn; #7450 ç‘‘ > zhuàn; #7451 ç‘’ > yáng; #7452 ç‘“ > liàn; #7453 ç‘” > quán; #7454 ç‘• > xiá; #7455 ç‘– > duàn; #7456 ç‘— > yuàn; #7457 瑘 > yé; #7458 ç‘™ > năo; #7459 瑚 > hú; #745A ç‘› > yÄ«ng; #745B 瑜 > yú; #745C ç‘ > huáng; #745D 瑞 > rùi; #745E 瑟 > sè; #745F ç‘  > líu; #7460 ç‘¡ > shi; #7461 ç‘¢ > róng; #7462 ç‘£ > sÅ­o; #7463 瑤 > yáo; #7464 ç‘¥ > wÄ“n; #7465 瑦 > wÅ«; #7466 ç‘§ > jÄ«n; #7467 瑨 > jìn; #7468 ç‘© > yíng; #7469 瑪 > mă; #746A ç‘« > tÄo; #746B 瑬 > líu; #746C ç‘­ > táng; #746D ç‘® > lì; #746E 瑯 > láng; #746F ç‘° > gÅ«i; #7470 瑱 > zhèn; #7471 瑲 > qiÄng; #7472 瑳 > cÅ­o; #7473 ç‘´ > jué; #7474 瑵 > zhăo; #7475 ç‘¶ > yáo; #7476 ç‘· > ài; #7477 瑸 > bÄ«n; #7478 瑹 > tú; #7479 瑺 > cháng; #747A ç‘» > kÅ«n; #747B 瑼 > zhuÄn; #747C 瑽 > cÅng; #747D 瑾 > jÄ­n; #747E ç‘¿ > yÄ«; #747F ç’€ > cÅ­i; #7480 ç’ > cÅng; #7481 ç’‚ > qí; #7482 ç’ƒ > lí; #7483 ç’„ > yÄ­ng; #7484 ç’… > sÅ­o; #7485 ç’† > qíu; #7486 ç’‡ > xuán; #7487 ç’ˆ > áo; #7488 ç’‰ > lián; #7489 ç’Š > mán; #748A ç’‹ > zhÄng; #748B ç’Œ > yín; #748C ç’Ž > yÄ«ng; #748E ç’ > zhì; #748F ç’ > lù; #7490 ç’‘ > wú; #7491 ç’’ > dÄ“ng; #7492 ç’“ > xiòu; #7493 ç’” > zÄ“ng; #7494 ç’• > xún; #7495 ç’– > qú; #7496 ç’— > dàng; #7497 ç’˜ > lín; #7498 ç’™ > liáo; #7499 ç’š > qíong; #749A ç’› > sù; #749B ç’œ > huáng; #749C ç’ > gÅ«i; #749D ç’ž > pú; #749E ç’Ÿ > jÄ­ng; #749F ç’  > fán; #74A0 ç’¡ > jìn; #74A1 ç’¢ > líu; #74A2 ç’£ > jÄ«; #74A3 ç’¥ > jÄ­ng; #74A5 ç’¦ > ài; #74A6 ç’§ > bì; #74A7 ç’¨ > càn; #74A8 ç’© > qú; #74A9 ç’ª > zăo; #74AA ç’« > dÄng; #74AB ç’¬ > jiăo; #74AC ç’­ > gùn; #74AD ç’® > tăn; #74AE ç’¯ > hùi; #74AF ç’° > huán; #74B0 ç’± > sè; #74B1 ç’² > sùi; #74B2 ç’³ > tián; #74B3 ç’µ > yú; #74B5 ç’¶ > jìn; #74B6 ç’· > lú; #74B7 ç’¸ > bÄ«n; #74B8 ç’¹ > shòu; #74B9 ç’º > wèn; #74BA ç’» > zÅ­i; #74BB ç’¼ > lán; #74BC ç’½ > xÄ­; #74BD ç’¾ > jì; #74BE ç’¿ > xuán; #74BF ç“€ > ruăn; #74C0 ç“ > hùo; #74C1 ç“‚ > gài; #74C2 瓃 > léi; #74C3 ç“„ > dú; #74C4 ç“… > lì; #74C5 瓆 > zhí; #74C6 瓇 > róu; #74C7 瓈 > lí; #74C8 瓉 > zàn; #74C9 瓊 > qíong; #74CA ç“‹ > zhé; #74CB 瓌 > gÅ«i; #74CC ç“ > sùi; #74CD 瓎 > là; #74CE ç“ > lóng; #74CF ç“ > lú; #74D0 ç“‘ > lì; #74D1 ç“’ > zàn; #74D2 ç““ > làn; #74D3 ç“” > yÄ«ng; #74D4 ç“• > mí; #74D5 ç“– > xiÄng; #74D6 ç“— > xÄ«; #74D7 瓘 > guàn; #74D8 ç“™ > dào; #74D9 瓚 > zàn; #74DA ç“› > huán; #74DB 瓜 > guÄ; #74DC ç“ > bó; #74DD 瓞 > dié; #74DE 瓟 > báo; #74DF ç“  > hù; #74E0 ç“¡ > zhí; #74E1 ç“¢ > piáo; #74E2 ç“£ > bàn; #74E3 瓤 > ráng; #74E4 ç“¥ > lì; #74E5 瓦 > wă; #74E6 瓨 > jiÄng; #74E8 ç“© > qián' 'wă; #74E9 瓪 > făn; #74EA ç“« > pén; #74EB 瓬 > făng; #74EC ç“­ > dăn; #74ED ç“® > wèng; #74EE 瓯 > Åu; #74EF 瓳 > hú; #74F3 ç“´ > líng; #74F4 瓵 > yí; #74F5 ç“¶ > píng; #74F6 ç“· > cí; #74F7 瓹 > juàn; #74F9 瓺 > cháng; #74FA ç“» > chÄ«; #74FB 瓽 > dàng; #74FD 瓾 > mÄ•ng; #74FE ç“¿ > pÅu; #74FF 甀 > zhùi; #7500 ç” > píng; #7501 甂 > biÄn; #7502 甃 > zhòu; #7503 甄 > zhÄ“n; #7504 甆 > cí; #7506 甇 > yÄ«ng; #7507 甈 > qì; #7508 甉 > xián; #7509 甊 > lÅu; #750A 甋 > dì; #750B 甌 > Åu; #750C ç” > méng; #750D 甎 > zhuÄn; #750E ç” > pèng; #750F ç” > lín; #7510 甑 > zèng; #7511 ç”’ > wÅ­; #7512 甓 > pì; #7513 ç”” > dÄn; #7514 甕 > wèng; #7515 ç”– > yÄ«ng; #7516 ç”— > yăn; #7517 甘 > gÄn; #7518 ç”™ > dài; #7519 甚 > shén; #751A ç”› > tián; #751B 甜 > tián; #751C ç” > hÄn; #751D 甞 > cháng; #751E 生 > shÄ“ng; #751F ç”  > qíng; #7520 甡 > shÄ“ng; #7521 產 > chăn; #7522 産 > chăn; #7523 甤 > rúi; #7524 甥 > shÄ“ng; #7525 甦 > sÅ«; #7526 ç”§ > sÄ“n; #7527 用 > yòng; #7528 甩 > shuăi; #7529 甪 > lù; #752A 甫 > fÅ­; #752B 甬 > yÅng; #752C ç”­ > béng; #752D ç”® > fèng; #752E 甯 > níng; #752F ç”° > tián; #7530 ç”± > yóu; #7531 甲 > jiă; #7532 申 > shÄ“n; #7533 ç”´ > zhá; #7534 电 > diàn; #7535 ç”¶ > fú; #7536 ç”· > nán; #7537 甸 > diàn; #7538 甹 > píng; #7539 町 > tÄ­ng; #753A ç”» > huà; #753B 甼 > tÄ­ng; #753C 甽 > quăn; #753D 甾 > zÄ«; #753E 甿 > méng; #753F ç•€ > bì; #7540 ç• > qí; #7541 ç•‚ > lìu; #7542 畃 > xún; #7543 ç•„ > líu; #7544 ç•… > chàng; #7545 畆 > mÅ­; #7546 畇 > yún; #7547 畈 > fàn; #7548 畉 > fú; #7549 畊 > gÄ“ng; #754A ç•‹ > tián; #754B 界 > jiè; #754C ç• > jiè; #754D 畎 > quăn; #754E ç• > wèi; #754F ç• > fú; #7550 ç•‘ > tián; #7551 ç•’ > mÅ­; #7552 ç•” > pàn; #7554 ç•• > jiÄng; #7555 ç•– > wÄ; #7556 ç•— > dá; #7557 畘 > nán; #7558 ç•™ > líu; #7559 畚 > bÄ•n; #755A ç•› > zhÄ•n; #755B 畜 > chù; #755C ç• > mÅ­; #755D 畞 > mÅ­; #755E 畟 > cè; #755F ç•¡ > gÄi; #7561 ç•¢ > bì; #7562 ç•£ > dá; #7563 畤 > zhì; #7564 ç•¥ > lÇœe; #7565 畦 > qí; #7566 ç•§ > lÇœe; #7567 畨 > pÄn; #7568 番 > fÄn; #756A ç•« > huà; #756B 畬 > yú; #756C ç•­ > yú; #756D ç•® > mÅ­; #756E 畯 > jùn; #756F ç•° > yì; #7570 畱 > líu; #7571 畲 > yú; #7572 畳 > dié; #7573 ç•´ > chóu; #7574 畵 > huà; #7575 ç•¶ > dÄng; #7576 ç•· > chùo; #7577 畸 > jÄ«; #7578 畹 > wăn; #7579 畺 > jiÄng; #757A ç•» > shéng; #757B 畼 > chàng; #757C 畽 > tuăn; #757D 畾 > léi; #757E ç•¿ > jÄ«; #757F ç–€ > chÄ; #7580 ç– > líu; #7581 ç–ƒ > tuăn; #7583 ç–„ > lín; #7584 ç–… > jiÄng; #7585 ç–† > jiÄng; #7586 ç–‡ > chóu; #7587 ç–ˆ > bò; #7588 ç–‰ > dié; #7589 ç–Š > dié; #758A ç–‹ > pÄ­; #758B ç–Œ > niè; #758C ç– > dàn; #758D ç–Ž > shÅ«; #758E ç– > shÅ«; #758F ç– > zhì; #7590 ç–‘ > yí; #7591 ç–’ > chuáng; #7592 ç–“ > năi; #7593 ç–” > dÄ«ng; #7594 ç–• > bÄ­; #7595 ç–– > jié; #7596 ç–— > liáo; #7597 ç–˜ > gÅng; #7598 ç–™ > gÄ“; #7599 ç–š > jìu; #759A ç–› > zhÅu; #759B ç–œ > xià; #759C ç– > shàn; #759D ç–ž > xÅ«; #759E ç–Ÿ > nÇœe; #759F ç–  > lì; #75A0 ç–¡ > yáng; #75A1 ç–¢ > chèn; #75A2 ç–£ > yóu; #75A3 ç–¤ > bÄ; #75A4 ç–¥ > jiè; #75A5 ç–¦ > jué; #75A6 ç–§ > zhÄ«; #75A7 ç–¨ > xiÄ; #75A8 ç–© > cùi; #75A9 ç–ª > bì; #75AA ç–« > yì; #75AB ç–¬ > lì; #75AC ç–­ > zòng; #75AD ç–® > chuÄng; #75AE ç–¯ > fÄ“ng; #75AF ç–° > zhù; #75B0 ç–± > pào; #75B1 ç–² > pí; #75B2 ç–³ > gÄn; #75B3 ç–´ > kÄ“; #75B4 ç–µ > cÄ«; #75B5 ç–¶ > xiè; #75B6 ç–· > qí; #75B7 ç–¸ > dăn; #75B8 ç–¹ > zhÄ•n; #75B9 ç–º > fá; #75BA ç–» > zhÄ­; #75BB ç–¼ > téng; #75BC ç–½ > jÅ«; #75BD ç–¾ > jí; #75BE ç–¿ > fèi; #75BF ç—€ > qú; #75C0 ç— > diàn; #75C1 ç—‚ > jiÄ; #75C2 ç—ƒ > xián; #75C3 ç—„ > chá; #75C4 ç—… > bìng; #75C5 ç—† > nì; #75C6 ç—‡ > zhèng; #75C7 ç—ˆ > yÅng; #75C8 ç—‰ > jìng; #75C9 ç—Š > quán; #75CA ç—‹ > chóng; #75CB ç—Œ > tÅng; #75CC ç— > yí; #75CD ç—Ž > kÄi; #75CE ç— > wÄ•i; #75CF ç— > húi; #75D0 ç—‘ > dÅ­o; #75D1 ç—’ > yăng; #75D2 ç—“ > chì; #75D3 ç—” > zhì; #75D4 ç—• > hén; #75D5 ç—– > yă; #75D6 ç—— > mèi; #75D7 ç—˜ > dòu; #75D8 ç—™ > jìng; #75D9 ç—š > xiÄo; #75DA ç—› > tòng; #75DB ç—œ > tÅ«; #75DC ç— > máng; #75DD ç—ž > pÄ­; #75DE ç—Ÿ > xiÄo; #75DF ç—  > suÄn; #75E0 ç—¡ > pÅ«; #75E1 ç—¢ > lì; #75E2 ç—£ > zhì; #75E3 ç—¤ > cúo; #75E4 ç—¥ > dúo; #75E5 ç—¦ > wù; #75E6 ç—§ > shÄ; #75E7 ç—¨ > láo; #75E8 ç—© > shòu; #75E9 ç—ª > huàn; #75EA ç—« > xián; #75EB ç—¬ > yì; #75EC ç—­ > péng; #75ED ç—® > zhàng; #75EE ç—¯ > guăn; #75EF ç—° > tán; #75F0 ç—± > fèi; #75F1 ç—² > má; #75F2 ç—³ > lín; #75F3 ç—´ > chÄ«; #75F4 ç—µ > jì; #75F5 ç—¶ > diăn; #75F6 ç—· > Än; #75F7 ç—¸ > chì; #75F8 ç—¹ > bì; #75F9 ç—º > bÄ“i; #75FA ç—» > mín; #75FB ç—¼ > gÅ«; #75FC ç—½ > dÅ«i; #75FD ç—¾ > Ä“; #75FE ç—¿ > wÄ•i; #75FF 瘀 > yÅ«; #7600 ç˜ > cùi; #7601 瘂 > yă; #7602 瘃 > zhÅ­; #7603 瘄 > cù; #7604 瘅 > dàn; #7605 瘆 > shèn; #7606 瘇 > zhÅ­ng; #7607 瘈 > jì; #7608 瘉 > yù; #7609 瘊 > hóu; #760A 瘋 > fÄ“ng; #760B 瘌 > là; #760C ç˜ > yáng; #760D 瘎 > shèn; #760E ç˜ > tú; #760F ç˜ > yÅ­; #7610 瘑 > guÄ; #7611 瘒 > wén; #7612 瘓 > huàn; #7613 瘔 > kù; #7614 瘕 > jiă; #7615 瘖 > yÄ«n; #7616 瘗 > yì; #7617 瘘 > lǘ; #7618 瘙 > sÄo; #7619 瘚 > jué; #761A 瘛 > chì; #761B 瘜 > xí; #761C ç˜ > guÄn; #761D 瘞 > yì; #761E 瘟 > wÄ“n; #761F 瘠 > jí; #7620 瘡 > chuÄng; #7621 瘢 > bÄn; #7622 瘣 > lÄ•i; #7623 瘤 > líu; #7624 瘥 > chài; #7625 瘦 > shòu; #7626 瘧 > nÇœe; #7627 瘨 > diÄn; #7628 瘩 > dÄ; #7629 瘪 > piÄ“; #762A 瘫 > tÄn; #762B 瘬 > zhàng; #762C 瘭 > biÄo; #762D 瘮 > shen; #762E 瘯 > cù; #762F 瘰 > lÅ­o; #7630 瘱 > yì; #7631 瘲 > zòng; #7632 瘳 > chÅu; #7633 瘴 > zhàng; #7634 瘵 > zhài; #7635 瘶 > sòu; #7636 瘷 > sÅ­o; #7637 瘸 > qué; #7638 瘹 > diào; #7639 瘺 > lòu; #763A 瘻 > lǘ; #763B 瘼 > mò; #763C 瘽 > jìn; #763D 瘾 > yÄ­n; #763E 瘿 > yÄ­ng; #763F 癀 > huáng; #7640 ç™ > fú; #7641 療 > liáo; #7642 癃 > lóng; #7643 癄 > qiáo; #7644 ç™… > líu; #7645 癆 > láo; #7646 癇 > xián; #7647 癈 > fèi; #7648 癉 > dàn; #7649 癊 > yìn; #764A 癋 > hè; #764B 癌 > yán; #764C ç™ > bÄn; #764D 癎 > xián; #764E ç™ > guÄn; #764F ç™ > guài; #7650 癑 > nóng; #7651 ç™’ > yù; #7652 癓 > wéi; #7653 ç™” > yì; #7654 癕 > yÅng; #7655 ç™– > pÄ­; #7656 ç™— > lÄ•i; #7657 癘 > lì; #7658 ç™™ > shÅ­; #7659 癚 > dàn; #765A ç™› > lÄ­n; #765B 癜 > diàn; #765C ç™ > lÄ­n; #765D 癞 > lài; #765E 癟 > piÄ“; #765F ç™  > jì; #7660 癡 > chÄ«; #7661 癢 > yăng; #7662 癣 > xiăn; #7663 癤 > jié; #7664 癥 > zhÄ“ng; #7665 ç™§ > lì; #7667 癨 > hùo; #7668 癩 > lài; #7669 癫 > diÄn; #766B 癬 > xiăn; #766C ç™­ > yÄ­ng; #766D ç™® > yÄ­n; #766E 癯 > qú; #766F ç™° > yÅng; #7670 ç™± > tÄn; #7671 癲 > diÄn; #7672 癳 > lÅ­o; #7673 ç™´ > lǘan; #7674 癵 > luán; #7675 ç™¶ > bÅ; #7676 癸 > gÅ­i; #7678 癹 > pÅ; #7679 発 > fÄ; #767A ç™» > dÄ“ng; #767B 發 > fÄ; #767C 白 > bái; #767D 百 > băi; #767E 癿 > qié; #767F 皀 > bÄ«; #7680 çš > zào; #7681 çš‚ > zào; #7682 皃 > mào; #7683 çš„ > de; #7684 çš… > pÄ; #7685 皆 > jiÄ“; #7686 皇 > huáng; #7687 皈 > gÅ«i; #7688 皉 > cÄ­; #7689 皊 > líng; #768A çš‹ > gÄo; #768B 皌 > mò; #768C çš > jí; #768D 皎 > jiăo; #768E çš > pÄ•ng; #768F çš > gÄo; #7690 çš‘ > ái; #7691 çš’ > é; #7692 çš“ > hào; #7693 çš” > hàn; #7694 çš• > bÄ«; #7695 çš– > wăn; #7696 çš— > chóu; #7697 皘 > qiàn; #7698 çš™ > xÄ«; #7699 çšš > ái; #769A çš› > jÄ­ong; #769B çšœ > hào; #769C çš > huăng; #769D çšž > hào; #769E 皟 > zé; #769F çš  > cÅ­i; #76A0 çš¡ > hào; #76A1 皢 > xiăo; #76A2 皣 > yè; #76A3 皤 > pó; #76A4 皥 > hào; #76A5 皦 > jiăo; #76A6 çš§ > ài; #76A7 皨 > xÄ«ng; #76A8 çš© > huàng; #76A9 皪 > lì; #76AA çš« > piăo; #76AB 皬 > hè; #76AC çš­ > jiào; #76AD çš® > pí; #76AE 皯 > găn; #76AF çš° > pào; #76B0 çš± > zhòu; #76B1 çš² > jÅ«n; #76B2 çš³ > qíu; #76B3 çš´ > cÅ«n; #76B4 çšµ > què; #76B5 çš¶ > zhÄ; #76B6 çš· > gÅ­; #76B7 皸 > jÅ«n; #76B8 çš¹ > jÅ«n; #76B9 皺 > zhòu; #76BA çš» > zhÄ; #76BB çš¼ > gÅ­; #76BC çš½ > zhăn; #76BD çš¾ > dú; #76BE çš¿ > mÄ­n; #76BF 盀 > qÄ­; #76C0 ç› > yíng; #76C1 盂 > yú; #76C2 盃 > bÄ“i; #76C3 盄 > zhÄo; #76C4 ç›… > zhÅng; #76C5 盆 > pén; #76C6 盇 > hé; #76C7 盈 > yíng; #76C8 盉 > hé; #76C9 益 > yì; #76CA 盋 > bÅ; #76CB 盌 > wăn; #76CC ç› > hé; #76CD 盎 > àng; #76CE ç› > zhăn; #76CF ç› > yán; #76D0 监 > jiÄn; #76D1 ç›’ > hé; #76D2 盓 > yÅ«; #76D3 ç›” > kÅ«i; #76D4 盕 > fàn; #76D5 ç›– > gài; #76D6 ç›— > dào; #76D7 盘 > pán; #76D8 ç›™ > fÅ­; #76D9 盚 > qíu; #76DA ç›› > shèng; #76DB 盜 > dào; #76DC ç› > lù; #76DD 盞 > zhăn; #76DE 盟 > méng; #76DF ç›  > lÄ­; #76E0 盡 > jìn; #76E1 盢 > xù; #76E2 監 > jiÄn; #76E3 盤 > pán; #76E4 盥 > guàn; #76E5 盦 > Än; #76E6 ç›§ > lú; #76E7 盨 > shÅ­; #76E8 盩 > zhÅu; #76E9 盪 > dàng; #76EA 盫 > Än; #76EB 盬 > gÅ­; #76EC ç›­ > lì; #76ED ç›® > mù; #76EE 盯 > chéng; #76EF ç›° > găn; #76F0 ç›± > xÅ«; #76F1 盲 > máng; #76F2 盳 > máng; #76F3 ç›´ > zhí; #76F4 盵 > qì; #76F5 ç›¶ > ruăn; #76F6 ç›· > tián; #76F7 相 > xiÄng; #76F8 盹 > dùn; #76F9 盺 > xÄ«n; #76FA ç›» > xì; #76FB 盼 > pàn; #76FC 盽 > fÄ“ng; #76FD 盾 > dùn; #76FE 盿 > mín; #76FF 眀 > míng; #7700 çœ > shÄ•ng; #7701 眂 > shì; #7702 眃 > yún; #7703 眄 > miăn; #7704 眅 > pÄn; #7705 眆 > făng; #7706 眇 > miăo; #7707 眈 > dÄn; #7708 眉 > méi; #7709 眊 > mào; #770A 看 > kàn; #770B 県 > xiàn; #770C çœ > Åu; #770D 眎 > shì; #770E çœ > yÄng; #770F çœ > zhÄ“ng; #7710 眑 > yăo; #7711 眒 > shèn; #7712 眓 > hùo; #7713 眔 > dà; #7714 眕 > zhÄ•n; #7715 眖 > kuàng; #7716 眗 > jÅ«; #7717 眘 > shèn; #7718 眙 > chì; #7719 眚 > shÄ•ng; #771A 眛 > mèi; #771B 眜 > mò; #771C çœ > zhù; #771D 眞 > zhÄ“n; #771E 真 > zhÄ“n; #771F 眠 > mián; #7720 眡 > dÄ«; #7721 眢 > yuÄn; #7722 眣 > dié; #7723 眤 > yí; #7724 眥 > zì; #7725 眦 > zì; #7726 眧 > chăo; #7727 眨 > zhă; #7728 眩 > xuàn; #7729 眪 > bÄ­ng; #772A 眫 > mÄ­; #772B 眬 > lóng; #772C 眭 > sÅ«i; #772D 眮 > dòng; #772E 眯 > mÄ­; #772F 眰 > dié; #7730 眱 > yí; #7731 眲 > èr; #7732 眳 > mÄ­ng; #7733 眴 > xuàn; #7734 眵 > chÄ«; #7735 眶 > kuàng; #7736 眷 > juàn; #7737 眸 > móu; #7738 眹 > zhèn; #7739 眺 > tiào; #773A 眻 > yáng; #773B 眼 > yăn; #773C 眽 > mò; #773D 眾 > zhòng; #773E 眿 > mài; #773F ç€ > zháo; #7740 ç > zhÄ“ng; #7741 ç‚ > méi; #7742 çƒ > jùn; #7743 ç„ > shào; #7744 ç… > hàn; #7745 ç† > huăn; #7746 ç‡ > dì; #7747 çˆ > chÄ•ng; #7748 ç‰ > cÅ«o; #7749 çŠ > juàn; #774A ç‹ > é; #774B çŒ > wăn; #774C ç > xiàn; #774D çŽ > xÄ«; #774E ç > kùn; #774F ç > lài; #7750 ç‘ > jiăn; #7751 ç’ > shăn; #7752 ç“ > tiăn; #7753 ç” > hÅ­n; #7754 ç• > wăn; #7755 ç– > líng; #7756 ç— > shì; #7757 ç˜ > qíong; #7758 ç™ > liè; #7759 çš > yái; #775A ç› > jÄ«ng; #775B çœ > zhÄ“ng; #775C ç > lí; #775D çž > lài; #775E çŸ > sùi; #775F ç  > juàn; #7760 ç¡ > shùi; #7761 ç¢ > sÅ«i; #7762 ç£ > dÅ«; #7763 ç¤ > bì; #7764 ç¥ > bì; #7765 ç¦ > mù; #7766 ç§ > hÅ«n; #7767 ç¨ > nì; #7768 ç© > lù; #7769 çª > yì; #776A ç« > jié; #776B ç¬ > căi; #776C ç­ > zhÅu; #776D ç® > yú; #776E ç¯ > hÅ«n; #776F ç° > mà; #7770 ç± > xià; #7771 ç² > xÄ­ng; #7772 ç³ > xÄ«; #7773 ç´ > gùn; #7774 çµ > cai; #7775 ç¶ > chÅ­n; #7776 ç· > jiÄn; #7777 ç¸ > mèi; #7778 ç¹ > dÅ­; #7779 çº > hóu; #777A ç» > xuÄn; #777B ç¼ > tì; #777C ç½ > kúi; #777D ç¾ > gÄo; #777E ç¿ > rùi; #777F 瞀 > mòu; #7780 çž > xù; #7781 çž‚ > fÄ; #7782 瞃 > wÄ“n; #7783 çž„ > miáo; #7784 çž… > chÅu; #7785 瞆 > kùi; #7786 瞇 > mÄ«; #7787 瞈 > wÄ•ng; #7788 瞉 > kòu; #7789 瞊 > dàng; #778A çž‹ > chÄ“n; #778B 瞌 > kÄ“; #778C çž > sÅu; #778D 瞎 > xiÄ; #778E çž > qíong; #778F çž > mào; #7790 çž‘ > míng; #7791 çž’ > mán; #7792 çž“ > shùi; #7793 çž” > zé; #7794 çž• > zhàng; #7795 çž– > yì; #7796 çž— > diÄo; #7797 瞘 > Åu; #7798 çž™ > mò; #7799 çžš > shùn; #779A çž› > cÅng; #779B çžœ > lÅu; #779C çž > chÄ«; #779D çžž > mán; #779E 瞟 > piăo; #779F çž  > chÄ“ng; #77A0 çž¡ > jì; #77A1 瞢 > méng; #77A2 瞤 > rún; #77A4 瞥 > piÄ“; #77A5 瞦 > xÄ«; #77A6 çž§ > qiáo; #77A7 瞨 > pú; #77A8 çž© > zhÅ­; #77A9 瞪 > dèng; #77AA çž« > shÄ•n; #77AB 瞬 > shùn; #77AC çž­ > liăo; #77AD çž® > chè; #77AE 瞯 > xián; #77AF çž° > kàn; #77B0 çž± > yè; #77B1 çž² > xù; #77B2 çž³ > tóng; #77B3 çž´ > móu; #77B4 çžµ > lín; #77B5 çž¶ > kùi; #77B6 çž· > xián; #77B7 瞸 > yè; #77B8 çž¹ > ài; #77B9 瞺 > hùi; #77BA çž» > zhÄn; #77BB çž¼ > jiăn; #77BC çž½ > gÅ­; #77BD çž¾ > zhào; #77BE çž¿ > qÅ«; #77BF 矀 > wéi; #77C0 çŸ > chÅu; #77C1 矂 > sào; #77C2 矃 > nÄ­ng; #77C3 矄 > xÅ«n; #77C4 矅 > yào; #77C5 矆 > hùo; #77C6 矇 > méng; #77C7 矈 > mián; #77C8 矉 > bÄ«n; #77C9 矊 > mián; #77CA 矋 > lì; #77CB 矌 > kuàng; #77CC çŸ > jué; #77CD 矎 > xuÄn; #77CE çŸ > mián; #77CF çŸ > hùo; #77D0 矑 > lú; #77D1 矒 > méng; #77D2 矓 > lóng; #77D3 矔 > guàn; #77D4 矕 > măn; #77D5 矖 > xÄ­; #77D6 矗 > chù; #77D7 矘 > tăng; #77D8 矙 > kàn; #77D9 矚 > zhÅ­; #77DA 矛 > máo; #77DB 矜 > jÄ«n; #77DC çŸ > lín; #77DD 矞 > yù; #77DE 矟 > shùo; #77DF 矠 > cè; #77E0 矡 > jué; #77E1 矢 > shÄ­; #77E2 矣 > yÄ­; #77E3 矤 > shÄ•n; #77E4 知 > zhÄ«; #77E5 矦 > hóu; #77E6 矧 > shÄ•n; #77E7 矨 > yÄ­ng; #77E8 矩 > jÅ­; #77E9 矪 > zhÅu; #77EA 矫 > jiăo; #77EB 矬 > cúo; #77EC 短 > duăn; #77ED 矮 > ăi; #77EE 矯 > jiăo; #77EF 矰 > zÄ“ng; #77F0 矱 > hùo; #77F1 矲 > băi; #77F2 石 > shí; #77F3 矴 > dìng; #77F4 矵 > qì; #77F5 矶 > jÄ«; #77F6 矷 > zÄ­; #77F7 矸 > gÄn; #77F8 矹 > wù; #77F9 矺 > tÅ«o; #77FA 矻 > kù; #77FB 矼 > qiÄng; #77FC 矽 > xì; #77FD 矾 > fán; #77FE 矿 > kuàng; #77FF ç € > dàng; #7800 ç  > mă; #7801 ç ‚ > shÄ; #7802 ç ƒ > dÄn; #7803 ç „ > jué; #7804 ç … > lì; #7805 ç † > fÅ«; #7806 ç ‡ > mín; #7807 ç ˆ > nÅ­o; #7808 ç ‰ > hùo; #7809 ç Š > kàng; #780A ç ‹ > zhÄ­; #780B ç Œ > qì; #780C ç  > kăn; #780D ç Ž > jiè; #780E ç  > fÄ“n; #780F ç  > è; #7810 ç ‘ > yà; #7811 ç ’ > pÄ«; #7812 ç “ > zhé; #7813 ç ” > yán; #7814 ç • > sùi; #7815 ç – > zhuÄn; #7816 ç — > chÄ“; #7817 ç ˜ > dùn; #7818 ç ™ > pÄn; #7819 ç š > yàn; #781A ç œ > fÄ“ng; #781C ç  > fá; #781D ç ž > mò; #781E ç Ÿ > zhà; #781F ç   > qÅ«; #7820 ç ¡ > yù; #7821 ç ¢ > lÅ­o; #7822 ç £ > túo; #7823 ç ¤ > túo; #7824 ç ¥ > dÄ­; #7825 ç ¦ > zhài; #7826 ç § > zhÄ“n; #7827 ç ¨ > ài; #7828 ç © > fèi; #7829 ç ª > mÅ­; #782A ç « > zhÅ­; #782B ç ¬ > lì; #782C ç ­ > biÄn; #782D ç ® > nÅ­; #782E ç ¯ > pÄ«ng; #782F ç ° > pÄ“ng; #7830 ç ± > líng; #7831 ç ² > pào; #7832 ç ³ > lè; #7833 ç ´ > pò; #7834 ç µ > bÅ; #7835 ç ¶ > pò; #7836 ç · > shÄ“n; #7837 ç ¸ > zá; #7838 ç ¹ > nÅ­o; #7839 ç º > lì; #783A ç » > lóng; #783B ç ¼ > tóng; #783C ç ¾ > lì; #783E ç¡€ > chÅ­; #7840 ç¡ > kÄ“ng; #7841 ç¡‚ > quán; #7842 硃 > zhÅ«; #7843 ç¡„ > kuÄng; #7844 ç¡… > hùo; #7845 硆 > è; #7846 硇 > náo; #7847 硈 > jiá; #7848 硉 > lù; #7849 硊 > wÄ•i; #784A ç¡‹ > ài; #784B 硌 > lùo; #784C ç¡ > kèn; #784D 硎 > xíng; #784E ç¡ > yán; #784F ç¡ > tóng; #7850 ç¡‘ > pÄ“ng; #7851 ç¡’ > xÄ«; #7852 ç¡” > hóng; #7854 ç¡• > shùo; #7855 ç¡– > xiá; #7856 ç¡— > qiÄo; #7857 ç¡™ > wèi; #7859 硚 > qiáo; #785A 硜 > kÄ“ng; #785C ç¡ > xiÄo; #785D 硞 > què; #785E 硟 > chàn; #785F ç¡  > lăng; #7860 ç¡¡ > hóng; #7861 ç¡¢ > yú; #7862 ç¡£ > xiÄo; #7863 硤 > xiá; #7864 ç¡¥ > măng; #7865 硦 > lòng; #7866 ç¡§ > Ä­ong; #7867 硨 > chÄ“; #7868 ç¡© > chè; #7869 硪 > é; #786A ç¡« > líu; #786B 硬 > yìng; #786C ç¡­ > máng; #786D ç¡® > què; #786E 硯 > yàn; #786F ç¡° > shÄ; #7870 硱 > kÅ­n; #7871 硲 > yù; #7872 硵 > lÅ­; #7875 ç¡¶ > chÄ•n; #7876 ç¡· > jiăn; #7877 硸 > nuè; #7878 硹 > sÅng; #7879 硺 > zhúo; #787A ç¡» > kÄ“ng; #787B 硼 > péng; #787C 硽 > yăn; #787D 硾 > zhùi; #787E ç¡¿ > kÅng; #787F 碀 > céng; #7880 ç¢ > qí; #7881 碂 > zòng; #7882 碃 > qìng; #7883 碄 > lín; #7884 碅 > jÅ«n; #7885 碆 > bÅ; #7886 碇 > dìng; #7887 碈 > mín; #7888 碉 > diÄo; #7889 碊 > jiÄn; #788A 碋 > hè; #788B 碌 > lù; #788C ç¢ > ài; #788D 碎 > sùi; #788E ç¢ > què; #788F ç¢ > líng; #7890 碑 > bÄ“i; #7891 碒 > yín; #7892 碓 > dùi; #7893 碔 > wÅ­; #7894 碕 > qí; #7895 碖 > lùn; #7896 碗 > wăn; #7897 碘 > diăn; #7898 碙 > gÄng; #7899 碚 > péi; #789A 碛 > qì; #789B 碜 > chÄ•n; #789C ç¢ > ruăn; #789D 碞 > yán; #789E 碟 > dié; #789F 碠 > dìng; #78A0 碡 > dú; #78A1 碢 > túo; #78A2 碣 > jié; #78A3 碤 > yÄ«ng; #78A4 碥 > biăn; #78A5 碦 > kè; #78A6 碧 > bì; #78A7 碨 > wÄ“i; #78A8 碩 > shùo; #78A9 碪 > zhÄ“n; #78AA 碫 > duàn; #78AB 碬 > xiá; #78AC 碭 > dàng; #78AD 碮 > tí; #78AE 碯 > năo; #78AF 碰 > pèng; #78B0 碱 > jiăn; #78B1 碲 > dì; #78B2 碳 > tàn; #78B3 碴 > chá; #78B4 碶 > qì; #78B6 碸 > fÄ“ng; #78B8 碹 > xuàn; #78B9 確 > què; #78BA 碻 > què; #78BB 碼 > mă; #78BC 碽 > gÅng; #78BD 碾 > niàn; #78BE 碿 > sù; #78BF 磀 > é; #78C0 ç£ > cí; #78C1 磂 > lìu; #78C2 磃 > sÄ«; #78C3 磄 > táng; #78C4 磅 > bàng; #78C5 磆 > huá; #78C6 磇 > pÄ«; #78C7 磈 > wÄ•i; #78C8 磉 > săng; #78C9 磊 > lÄ•i; #78CA 磋 > cÅ«o; #78CB 磌 > zhÄ“n; #78CC ç£ > xiá; #78CD 磎 > qÄ«; #78CE ç£ > lián; #78CF ç£ > pán; #78D0 磑 > wèi; #78D1 磒 > yÅ­n; #78D2 磓 > dÅ«i; #78D3 磔 > zhé; #78D4 磕 > kÄ“; #78D5 磖 > lÄ; #78D6 磘 > qìng; #78D8 磙 > gÅ­n; #78D9 磚 > zhuÄn; #78DA 磛 > chán; #78DB 磜 > qì; #78DC ç£ > áo; #78DD 磞 > pÄ“ng; #78DE 磟 > lù; #78DF 磠 > lÅ­; #78E0 磡 > kàn; #78E1 磢 > qiăng; #78E2 磣 > chÄ•n; #78E3 磤 > yÄ­n; #78E4 磥 > lÄ•i; #78E5 磦 > biÄo; #78E6 磧 > qì; #78E7 磨 > mó; #78E8 磩 > qÄ«; #78E9 磪 > cÅ«i; #78EA 磫 > zÅng; #78EB 磬 > qìng; #78EC 磭 > chùo; #78ED 磯 > jÄ«; #78EF 磰 > shàn; #78F0 磱 > láo; #78F1 磲 > qú; #78F2 磳 > zÄ“ng; #78F3 磴 > dèng; #78F4 磵 > jiàn; #78F5 磶 > xì; #78F6 磷 > lìn; #78F7 磸 > dìng; #78F8 磹 > diàn; #78F9 磺 > huáng; #78FA 磻 > pán; #78FB 磼 > zá; #78FC 磽 > qiÄo; #78FD 磾 > dÄ«; #78FE 磿 > lì; #78FF ç¤ > jiÄo; #7901 礃 > zhăng; #7903 礄 > qiáo; #7904 礅 > dÅ«n; #7905 礆 > xiăn; #7906 礇 > yù; #7907 礈 > zhùi; #7908 礉 > hé; #7909 礊 > hùo; #790A 礋 > zhái; #790B 礌 > lèi; #790C ç¤ > kÄ•; #790D 礎 > chÅ­; #790E ç¤ > jí; #790F ç¤ > què; #7910 礑 > dàng; #7911 礒 > yÄ­; #7912 礓 > jiÄng; #7913 礔 > pì; #7914 礕 > pÄ«; #7915 礖 > yù; #7916 礗 > pÄ«n; #7917 礘 > qì; #7918 礙 > ài; #7919 礚 > kài; #791A 礛 > jiÄn; #791B 礜 > yù; #791C ç¤ > ruăn; #791D 礞 > méng; #791E 礟 > pào; #791F 礠 > cí; #7920 礣 > miè; #7923 礤 > că; #7924 礥 > xián; #7925 礦 > kuàng; #7926 礧 > lèi; #7927 礨 > lÄ•i; #7928 礩 > zhì; #7929 礪 > lì; #792A 礫 > lì; #792B 礬 > fán; #792C 礭 > què; #792D 礮 > pào; #792E 礯 > yÄ«ng; #792F 礰 > lì; #7930 礱 > lóng; #7931 礲 > lóng; #7932 礳 > mò; #7933 礴 > bó; #7934 礵 > shuÄng; #7935 礶 > guàn; #7936 礷 > lán; #7937 礸 > zăn; #7938 礹 > yán; #7939 示 > shì; #793A 礻 > shì' 'zì' 'páng; #793B 礼 > lÄ­; #793C 礽 > réng; #793D 社 > shè; #793E 礿 > yuè; #793F 祀 > sì; #7940 ç¥ > qí; #7941 祂 > tÄ; #7942 祃 > mà; #7943 祄 > xiè; #7944 祅 > xiÄn; #7945 祆 > xiÄn; #7946 祇 > zhÄ«; #7947 祈 > qí; #7948 祉 > zhÄ­; #7949 祊 > bÄ“ng; #794A 祋 > dùi; #794B 祌 > zhòng; #794C 祎 > yÄ«; #794E ç¥ > shí; #794F ç¥ > yòu; #7950 祑 > zhì; #7951 祒 > tiáo; #7952 祓 > fú; #7953 祔 > fù; #7954 祕 > mì; #7955 祖 > zÅ­; #7956 祗 > zhÄ«; #7957 祘 > suàn; #7958 祙 > mèi; #7959 祚 > zùo; #795A 祛 > qÅ«; #795B 祜 > hù; #795C ç¥ > zhù; #795D 神 > shén; #795E 祟 > sùi; #795F 祠 > cí; #7960 祡 > chái; #7961 祢 > mí; #7962 祣 > lÇš; #7963 祤 > yÅ­; #7964 祥 > xiáng; #7965 祦 > wú; #7966 祧 > tiÄo; #7967 票 > piào; #7968 祩 > zhÅ«; #7969 祪 > gÅ­i; #796A 祫 > xiá; #796B 祬 > zhÄ«; #796C 祭 > jì; #796D 祮 > gào; #796E 祯 > zhÄ“n; #796F 祰 > gào; #7970 祱 > shùi; #7971 祲 > jÄ«n; #7972 祳 > chÄ•n; #7973 祴 > gÄi; #7974 祵 > kÅ­n; #7975 祶 > dì; #7976 祷 > dăo; #7977 祸 > hùo; #7978 祹 > táo; #7979 祺 > qí; #797A 祻 > gù; #797B 祼 > guàn; #797C 祽 > zùi; #797D 祾 > líng; #797E 祿 > lù; #797F 禀 > bÄ­ng; #7980 ç¦ > jìn; #7981 禂 > dăo; #7982 禃 > zhí; #7983 禄 > lù; #7984 禅 > shàn; #7985 禆 > bÄ“i; #7986 禇 > zhÄ•; #7987 禈 > hÅ«i; #7988 禉 > yÅu; #7989 禊 > xì; #798A 禋 > yÄ«n; #798B 禌 > zÄ«; #798C ç¦ > hùo; #798D 禎 > zhÄ“n; #798E ç¦ > fú; #798F ç¦ > yuàn; #7990 禑 > wú; #7991 禒 > xiăn; #7992 禓 > yáng; #7993 禔 > tí; #7994 禕 > yÄ«; #7995 禖 > méi; #7996 禗 > sÄ«; #7997 禘 > dì; #7998 禚 > zhúo; #799A 禛 > zhÄ“n; #799B 禜 > yÅng; #799C ç¦ > jí; #799D 禞 > gào; #799E 禟 > táng; #799F 禠 > sÄ«; #79A0 禡 > mà; #79A1 禢 > tÄ; #79A2 禤 > xuÄn; #79A4 禥 > qí; #79A5 禦 > yù; #79A6 禧 > xÄ«; #79A7 禨 > jÄ«; #79A8 禩 > sì; #79A9 禪 > chán; #79AA 禫 > tăn; #79AB 禬 > kuài; #79AC 禭 > sùi; #79AD 禮 > lÄ­; #79AE 禯 > nóng; #79AF 禰 > nÄ­; #79B0 禱 > dăo; #79B1 禲 > lì; #79B2 禳 > ráng; #79B3 禴 > yuè; #79B4 禵 > tí; #79B5 禶 > zăn; #79B6 禷 > lèi; #79B7 禸 > róu; #79B8 禹 > yÅ­; #79B9 禺 > yú; #79BA 离 > chÄ«; #79BB 禼 > xiè; #79BC 禽 > qín; #79BD 禾 > hé; #79BE 禿 > tÅ«; #79BF ç§€ > xìu; #79C0 ç§ > sÄ«; #79C1 ç§‚ > rén; #79C2 秃 > tÅ«; #79C3 ç§„ > zÄ­; #79C4 ç§… > chá; #79C5 秆 > găn; #79C6 秇 > yì; #79C7 秈 > xiÄn; #79C8 秉 > bÄ­ng; #79C9 ç§Š > nián; #79CA ç§‹ > qÄ«u; #79CB ç§Œ > qÄ«u; #79CC ç§ > chóng; #79CD ç§Ž > fén; #79CE ç§ > hào; #79CF ç§ > yún; #79D0 ç§‘ > kÄ“; #79D1 ç§’ > miăo; #79D2 ç§“ > zhÄ«; #79D3 ç§” > gÄ“ng; #79D4 ç§• > bÄ­; #79D5 ç§– > zhÄ«; #79D6 ç§— > yù; #79D7 秘 > mì; #79D8 ç§™ > kù; #79D9 ç§š > bàn; #79DA ç§› > pÄ«; #79DB ç§œ > ní; #79DC ç§ > lì; #79DD ç§ž > yóu; #79DE ç§Ÿ > zÅ«; #79DF ç§  > pÄ«; #79E0 ç§¡ > bá; #79E1 ç§¢ > líng; #79E2 ç§£ > mò; #79E3 秤 > chèng; #79E4 ç§¥ > nián; #79E5 秦 > qín; #79E6 ç§§ > yÄng; #79E7 秨 > zúo; #79E8 ç§© > zhì; #79E9 秪 > zhÄ«; #79EA ç§« > shú; #79EB 秬 > jù; #79EC ç§­ > zÄ­; #79ED ç§® > húo; #79EE 积 > jÄ«; #79EF ç§° > chÄ“ng; #79F0 ç§± > tóng; #79F1 ç§² > zhì; #79F2 ç§³ > húo; #79F3 ç§´ > hé; #79F4 ç§µ > yÄ«n; #79F5 ç§¶ > zÄ«; #79F6 ç§· > zhí; #79F7 秸 > jiÄ“; #79F8 ç§¹ > rÄ•n; #79F9 秺 > dù; #79FA ç§» > yí; #79FB ç§¼ > zhÅ«; #79FC ç§½ > hùi; #79FD ç§¾ > nóng; #79FE ç§¿ > fÅ­; #79FF 稀 > xÄ«; #7A00 ç¨ > kăo; #7A01 稂 > láng; #7A02 稃 > fÅ«; #7A03 稄 > zè; #7A04 稅 > shùi; #7A05 稆 > lÇš; #7A06 稇 > kÅ­n; #7A07 稈 > găn; #7A08 稉 > gÄ“ng; #7A09 稊 > tí; #7A0A 程 > chéng; #7A0B 稌 > tú; #7A0C ç¨ > shÄo; #7A0D 税 > shùi; #7A0E ç¨ > yà; #7A0F ç¨ > lÅ­n; #7A10 稑 > lù; #7A11 稒 > gù; #7A12 稓 > zúo; #7A13 稔 > rÄ•n; #7A14 稕 > zhùn; #7A15 稖 > bàng; #7A16 稗 > bài; #7A17 稘 > jÄ«; #7A18 稙 > zhí; #7A19 稚 > zhì; #7A1A 稛 > kÅ­n; #7A1B 稜 > léng; #7A1C ç¨ > péng; #7A1D 稞 > kÄ“; #7A1E 稟 > bÄ­ng; #7A1F 稠 > chóu; #7A20 稡 > zú; #7A21 稢 > yù; #7A22 稣 > sÅ«; #7A23 稤 > lÇœe; #7A24 稦 > yÄ«; #7A26 稧 > xì; #7A27 稨 > biÄn; #7A28 稩 > jì; #7A29 稪 > fù; #7A2A 稫 > bÄ«; #7A2B 稬 > nùo; #7A2C 稭 > jiÄ“; #7A2D 種 > zhÅng; #7A2E 稯 > zÅng; #7A2F 稰 > xÅ«; #7A30 稱 > chÄ“ng; #7A31 稲 > dào; #7A32 稳 > wÄ•n; #7A33 稴 > lián; #7A34 稵 > zÄ«; #7A35 稶 > yù; #7A36 稷 > jì; #7A37 稸 > xù; #7A38 稹 > zhÄ•n; #7A39 稺 > zhì; #7A3A 稻 > dào; #7A3B 稼 > jià; #7A3C 稽 > jÄ«; #7A3D 稾 > găo; #7A3E 稿 > găo; #7A3F ç©€ > gÅ­; #7A40 ç© > róng; #7A41 ç©‚ > sùi; #7A42 ç©„ > jì; #7A44 ç©… > kÄng; #7A45 穆 > mù; #7A46 穇 > shÄn; #7A47 穈 > mén; #7A48 穉 > zhì; #7A49 穊 > jì; #7A4A ç©‹ > lù; #7A4B 穌 > sÅ«; #7A4C ç© > jÄ«; #7A4D 穎 > yÄ­ng; #7A4E ç© > wÄ•n; #7A4F ç© > qÄ«u; #7A50 ç©‘ > sè; #7A51 ç©“ > yì; #7A53 ç©” > huáng; #7A54 ç©• > qiè; #7A55 ç©– > jÄ­; #7A56 ç©— > sùi; #7A57 穘 > xiÄo; #7A58 ç©™ > pú; #7A59 穚 > jiÄo; #7A5A ç©› > zhÅ«o; #7A5B 穜 > tóng; #7A5C 穞 > lÇš; #7A5E 穟 > sùi; #7A5F ç©  > nóng; #7A60 ç©¡ > sè; #7A61 ç©¢ > hùi; #7A62 ç©£ > ráng; #7A63 穤 > nùo; #7A64 ç©¥ > yù; #7A65 穦 > bin; #7A66 ç©§ > jì; #7A67 穨 > túi; #7A68 ç©© > wÄ•n; #7A69 穪 > chÄ“ng; #7A6A ç©« > hùo; #7A6B 穬 > gÅng; #7A6C ç©­ > lÇš; #7A6D ç©® > biÄo; #7A6E ç©° > ráng; #7A70 穱 > zhÅ«o; #7A71 穲 > lí; #7A72 穳 > zàn; #7A73 ç©´ > xuè; #7A74 穵 > wÄ; #7A75 ç©¶ > jìu; #7A76 ç©· > qíong; #7A77 穸 > xì; #7A78 穹 > qÄ«ong; #7A79 空 > kÅng; #7A7A ç©» > yÅ«; #7A7B 穼 > sÄ“n; #7A7C 穽 > jÄ­ng; #7A7D 穾 > yào; #7A7E ç©¿ > chuÄn; #7A7F 窀 > zhÅ«n; #7A80 çª > tú; #7A81 窂 > láo; #7A82 窃 > qiè; #7A83 窄 > zhăi; #7A84 窅 > yăo; #7A85 窆 > biăn; #7A86 窇 > báo; #7A87 窈 > yăo; #7A88 窉 > bÄ­ng; #7A89 窊 > wÄ; #7A8A 窋 > zhú; #7A8B 窌 > jiào; #7A8C çª > qiào; #7A8D 窎 > diào; #7A8E çª > wÅ«; #7A8F çª > gÅ«i; #7A90 窑 > yáo; #7A91 窒 > zhì; #7A92 窓 > chuÄng; #7A93 窔 > yăo; #7A94 窕 > tiăo; #7A95 窖 > jiào; #7A96 窗 > chuÄng; #7A97 窘 > jÄ­ong; #7A98 窙 > xiÄo; #7A99 窚 > chéng; #7A9A 窛 > kòu; #7A9B 窜 > cuàn; #7A9C çª > wÅ; #7A9D 窞 > dàn; #7A9E 窟 > kÅ«; #7A9F 窠 > kÄ“; #7AA0 窡 > zhùi; #7AA1 窢 > xù; #7AA2 窣 > sù; #7AA3 窤 > guan; #7AA4 窥 > kÅ«i; #7AA5 窦 > dòu; #7AA6 窨 > yìn; #7AA8 窩 > wÅ; #7AA9 窪 > wÄ; #7AAA 窫 > yà; #7AAB 窬 > yú; #7AAC 窭 > jù; #7AAD 窮 > qíong; #7AAE 窯 > yáo; #7AAF 窰 > yáo; #7AB0 窱 > tiào; #7AB1 窲 > cháo; #7AB2 窳 > yÅ­; #7AB3 窴 > tián; #7AB4 窵 > diào; #7AB5 窶 > jù; #7AB6 窷 > liáo; #7AB7 窸 > xÄ«; #7AB8 窹 > wù; #7AB9 窺 > kÅ«i; #7ABA 窻 > chuÄng; #7ABB 窼 > zhÄo; #7ABC 窾 > kuăn; #7ABE 窿 > lóng; #7ABF ç«€ > chÄ“ng; #7AC0 ç« > cùi; #7AC1 ç«‚ > piáo; #7AC2 竃 > zào; #7AC3 ç«„ > cuàn; #7AC4 ç«… > qiào; #7AC5 竆 > qíong; #7AC6 竇 > dòu; #7AC7 竈 > zào; #7AC8 竉 > lÅng; #7AC9 竊 > qiè; #7ACA ç«‹ > lì; #7ACB 竌 > chù; #7ACC ç« > shí' 'gÅng' 'shÄ“ng; #7ACD 竎 > fòu; #7ACE ç« > qiÄn' 'gÅng' 'shÄ“ng; #7ACF ç« > chù; #7AD0 ç«‘ > hóng; #7AD1 ç«’ > qí; #7AD2 ç«“ > qiÄn' 'fÄ“n' 'zhÄ«' 'yÄ«' 'gÅng' 'shÄ“ng; #7AD3 ç«” > gÅng' 'shÄ“ng; #7AD4 ç«• > shí' 'fÄ“n' 'zhÄ«' 'yÄ«' 'gÅng' 'shÄ“ng; #7AD5 ç«– > shù; #7AD6 ç«— > miào; #7AD7 竘 > jÅ­; #7AD8 ç«™ > zhàn; #7AD9 竚 > zhù; #7ADA ç«› > líng; #7ADB 竜 > lóng; #7ADC ç« > bìng; #7ADD 竞 > jìng; #7ADE 竟 > jìng; #7ADF ç«  > zhÄng; #7AE0 ç«¡ > yÄ«' 'gÅng' 'shÄ“ng' 'de' 'yÄ«' 'băi' 'bèi; #7AE1 ç«¢ > sì; #7AE2 ç«£ > jùn; #7AE3 竤 > hóng; #7AE4 ç«¥ > tóng; #7AE5 竦 > sÅng; #7AE6 ç«§ > jìng; #7AE7 竨 > diào; #7AE8 ç«© > yì; #7AE9 竪 > shù; #7AEA ç«« > jìng; #7AEB 竬 > qÅ­; #7AEC ç«­ > jié; #7AED ç«® > píng; #7AEE 端 > duÄn; #7AEF ç«° > sháo; #7AF0 竱 > zhuăn; #7AF1 竲 > céng; #7AF2 竳 > dÄ“ng; #7AF3 ç«´ > cÅ«i; #7AF4 竵 > huÄi; #7AF5 ç«¶ > jìng; #7AF6 ç«· > kàn; #7AF7 竸 > jìng; #7AF8 竹 > zhú; #7AF9 竺 > zhú; #7AFA ç«» > lè; #7AFB 竼 > péng; #7AFC 竽 > yú; #7AFD 竾 > chí; #7AFE ç«¿ > gÄn; #7AFF 笀 > máng; #7B00 ç¬ > zhú; #7B01 笃 > dÅ­; #7B03 笄 > jÄ«; #7B04 笅 > xiáo; #7B05 笆 > bÄ; #7B06 笇 > suàn; #7B07 笈 > jí; #7B08 笉 > zhÄ•n; #7B09 笊 > zhào; #7B0A 笋 > sÅ­n; #7B0B 笌 > yá; #7B0C ç¬ > zhùi; #7B0D 笎 > yuán; #7B0E ç¬ > hù; #7B0F ç¬ > gÄng; #7B10 笑 > xiào; #7B11 笒 > cén; #7B12 笓 > pí; #7B13 笔 > bÄ­; #7B14 笕 > jiăn; #7B15 笖 > yÄ­; #7B16 笗 > dÅng; #7B17 笘 > shÄn; #7B18 笙 > shÄ“ng; #7B19 笚 > xiá; #7B1A 笛 > dí; #7B1B 笜 > zhú; #7B1C ç¬ > nà; #7B1D 笞 > chÄ«; #7B1E 笟 > gÅ«; #7B1F 笠 > lì; #7B20 笡 > qiè; #7B21 笢 > mÄ­n; #7B22 笣 > bÄo; #7B23 笤 > tiáo; #7B24 笥 > sì; #7B25 符 > fú; #7B26 笧 > cè; #7B27 笨 > bèn; #7B28 笩 > pèi; #7B29 笪 > dá; #7B2A 笫 > zÄ­; #7B2B 第 > dì; #7B2C 笭 > líng; #7B2D 笮 > zé; #7B2E 笯 > nú; #7B2F 笰 > fú; #7B30 笱 > gÅu; #7B31 笲 > fÄn; #7B32 笳 > jiÄ; #7B33 笴 > gÄ•; #7B34 笵 > fàn; #7B35 笶 > shÄ­; #7B36 笷 > măo; #7B37 笸 > pÅ; #7B38 笺 > jiÄn; #7B3A 笻 > qíong; #7B3B 笼 > lóng; #7B3C 笾 > biÄn; #7B3E 笿 > lùo; #7B3F ç­€ > gùi; #7B40 ç­ > qÅ­; #7B41 ç­‚ > chí; #7B42 ç­ƒ > yÄ«n; #7B43 ç­„ > yào; #7B44 ç­… > xiăn; #7B45 ç­† > bÄ­; #7B46 ç­‡ > qíong; #7B47 ç­ˆ > guÄ; #7B48 ç­‰ > dÄ•ng; #7B49 ç­Š > jiăo; #7B4A ç­‹ > jÄ«n; #7B4B ç­Œ > quán; #7B4C ç­ > sÅ­n; #7B4D ç­Ž > rú; #7B4E ç­ > fá; #7B4F ç­ > kuÄng; #7B50 ç­‘ > zhú; #7B51 ç­’ > tÅng; #7B52 ç­“ > jÄ«; #7B53 ç­” > dá; #7B54 ç­• > xíng; #7B55 ç­– > cè; #7B56 ç­— > zhòng; #7B57 ç­˜ > kòu; #7B58 ç­™ > lái; #7B59 ç­š > bì; #7B5A ç­› > shÄi; #7B5B ç­œ > dÄng; #7B5C ç­ > zhÄ“ng; #7B5D ç­ž > cè; #7B5E ç­Ÿ > fÅ«; #7B5F ç­  > yún; #7B60 ç­¡ > tú; #7B61 ç­¢ > pá; #7B62 ç­£ > lì; #7B63 ç­¤ > láng; #7B64 ç­¥ > jÅ­; #7B65 ç­¦ > guăn; #7B66 ç­§ > jiăn; #7B67 ç­¨ > hán; #7B68 ç­© > tóng; #7B69 ç­ª > xiá; #7B6A ç­« > zhì; #7B6B ç­¬ > chéng; #7B6C ç­­ > suàn; #7B6D ç­® > shì; #7B6E ç­¯ > zhù; #7B6F ç­° > zúo; #7B70 ç­± > xiăo; #7B71 ç­² > shÄo; #7B72 ç­³ > tíng; #7B73 ç­´ > cè; #7B74 ç­µ > yán; #7B75 ç­¶ > găo; #7B76 ç­· > kuài; #7B77 ç­¸ > gÄn; #7B78 ç­¹ > chóu; #7B79 ç­» > gàng; #7B7B ç­¼ > yún; #7B7C ç­¾ > qiÄn; #7B7E ç­¿ > xiăo; #7B7F 简 > jiăn; #7B80 ç® > pú; #7B81 箂 > lái; #7B82 箃 > zÅu; #7B83 箄 > bì; #7B84 ç®… > bì; #7B85 箆 > bì; #7B86 箇 > gè; #7B87 箈 > chí; #7B88 箉 > guăi; #7B89 箊 > yÅ«; #7B8A 箋 > jiÄn; #7B8B 箌 > zhào; #7B8C ç® > gÅ«; #7B8D 箎 > chí; #7B8E ç® > zhÄ“ng; #7B8F ç® > jÄ«ng; #7B90 箑 > shà; #7B91 ç®’ > zhÅu; #7B92 箓 > lù; #7B93 ç®” > bó; #7B94 箕 > jÄ«; #7B95 ç®– > lín; #7B96 ç®— > suàn; #7B97 箘 > jùn; #7B98 ç®™ > fú; #7B99 箚 > zhá; #7B9A ç®› > gÅ«; #7B9B 箜 > kÅng; #7B9C ç® > qián; #7B9D 箞 > quÄn; #7B9E 箟 > jùn; #7B9F ç®  > chúi; #7BA0 管 > guăn; #7BA1 箢 > yuÄn; #7BA2 箣 > cè; #7BA3 箤 > jú; #7BA4 箥 > bÅ; #7BA5 箦 > zé; #7BA6 ç®§ > qiè; #7BA7 箨 > tùo; #7BA8 箩 > lúo; #7BA9 箪 > dÄn; #7BAA 箫 > xiÄo; #7BAB 箬 > rùo; #7BAC ç®­ > jiàn; #7BAD ç®® > xuan; #7BAE 箯 > biÄn; #7BAF ç®° > sÅ­n; #7BB0 ç®± > xiÄng; #7BB1 箲 > xiăn; #7BB2 箳 > píng; #7BB3 ç®´ > zhÄ“n; #7BB4 箵 > shÄ•ng; #7BB5 ç®¶ > hú; #7BB6 ç®· > shÄ«; #7BB7 箸 > zhù; #7BB8 箹 > yuÄ“; #7BB9 箺 > chÅ­n; #7BBA ç®» > lÇœ; #7BBB 箼 > wÅ«; #7BBC 箽 > dÅng; #7BBD 箾 > xiÄo; #7BBE 箿 > jí; #7BBF 節 > jié; #7BC0 ç¯ > huáng; #7BC1 篂 > xÄ«ng; #7BC2 篃 > méi; #7BC3 範 > fàn; #7BC4 篅 > chúi; #7BC5 篆 > zhuàn; #7BC6 篇 > piÄn; #7BC7 篈 > fÄ“ng; #7BC8 築 > zhú; #7BC9 篊 > hóng; #7BCA 篋 > qiè; #7BCB 篌 > hóu; #7BCC ç¯ > qÄ«u; #7BCD 篎 > miăo; #7BCE ç¯ > qiàn; #7BCF 篑 > kùi; #7BD1 篓 > lÅu; #7BD3 篔 > yún; #7BD4 篕 > hé; #7BD5 篖 > táng; #7BD6 篗 > yuè; #7BD7 篘 > chÅu; #7BD8 篙 > gÄo; #7BD9 篚 > fÄ•i; #7BDA 篛 > rùo; #7BDB 篜 > zhÄ“ng; #7BDC ç¯ > gÅu; #7BDD 篞 > niè; #7BDE 篟 > qiàn; #7BDF 篠 > xiăo; #7BE0 篡 > cuàn; #7BE1 篢 > gÅng; #7BE2 篣 > páng; #7BE3 篤 > dÅ­; #7BE4 篥 > lì; #7BE5 篦 > bì; #7BE6 篧 > zhúo; #7BE7 篨 > chú; #7BE8 篩 > shÄi; #7BE9 篪 > chí; #7BEA 篫 > zhú; #7BEB 篬 > qiÄng; #7BEC 篭 > lóng; #7BED 篮 > lán; #7BEE 篯 > jiÄn; #7BEF 篰 > bù; #7BF0 篱 > lí; #7BF1 篲 > hùi; #7BF2 篳 > bì; #7BF3 篴 > dí; #7BF4 篵 > cÅng; #7BF5 篶 > yÄn; #7BF6 篷 > péng; #7BF7 篸 > sÄ“n; #7BF8 篹 > zhuàn; #7BF9 篺 > pái; #7BFA 篻 > piào; #7BFB 篼 > dÅu; #7BFC 篽 > yÅ­; #7BFD 篾 > miè; #7BFE 篿 > zhuÄn; #7BFF ç°€ > zé; #7C00 ç° > xÄ­; #7C01 ç°‚ > gúo; #7C02 ç°ƒ > yí; #7C03 ç°„ > hù; #7C04 ç°… > chăn; #7C05 ç°† > kòu; #7C06 ç°‡ > cù; #7C07 ç°ˆ > píng; #7C08 ç°‰ > chòu; #7C09 ç°Š > jÄ«; #7C0A ç°‹ > gÅ­i; #7C0B ç°Œ > sù; #7C0C ç° > lÅu; #7C0D ç°Ž > zhà; #7C0E ç° > lù; #7C0F ç° > niăn; #7C10 ç°‘ > sÅ«o; #7C11 ç°’ > cuàn; #7C12 ç°” > sÅ«o; #7C14 ç°• > lè; #7C15 ç°– > duàn; #7C16 ç°˜ > xiÄo; #7C18 ç°™ > bó; #7C19 ç°š > mì; #7C1A ç°› > sÄ«; #7C1B ç°œ > dàng; #7C1C ç° > liáo; #7C1D ç°ž > dÄn; #7C1E ç°Ÿ > diàn; #7C1F ç°  > fÅ­; #7C20 ç°¡ > jiăn; #7C21 ç°¢ > mÄ­n; #7C22 ç°£ > kùi; #7C23 ç°¤ > dài; #7C24 ç°¥ > qiáo; #7C25 ç°¦ > dÄ“ng; #7C26 ç°§ > huáng; #7C27 ç°¨ > sÅ­n; #7C28 ç°© > láo; #7C29 ç°ª > zÄn; #7C2A ç°« > xiÄo; #7C2B ç°¬ > dù; #7C2C ç°­ > shì; #7C2D ç°® > zÄn; #7C2E ç°° > pái; #7C30 ç°² > pái; #7C32 ç°³ > gàn; #7C33 ç°´ > jù; #7C34 ç°µ > dù; #7C35 ç°¶ > lù; #7C36 ç°· > yán; #7C37 ç°¸ > bò; #7C38 ç°¹ > dÄng; #7C39 ç°º > sài; #7C3A ç°» > kÄ“; #7C3B ç°¼ > lóng; #7C3C ç°½ > qiÄn; #7C3D ç°¾ > lián; #7C3E ç°¿ > bó; #7C3F ç±€ > zhòu; #7C40 ç± > lài; #7C41 籃 > lán; #7C43 籄 > kùi; #7C44 ç±… > yú; #7C45 籆 > yuè; #7C46 籇 > háo; #7C47 籈 > zhÄ“n; #7C48 籉 > tái; #7C49 籊 > tì; #7C4A 籋 > mí; #7C4B 籌 > chóu; #7C4C ç± > jí; #7C4D ç± > téng; #7C50 籑 > zhuàn; #7C51 ç±’ > zhòu; #7C52 籓 > fÄn; #7C53 ç±” > sÅu; #7C54 籕 > zhòu; #7C55 ç±— > zhúo; #7C57 籘 > téng; #7C58 ç±™ > lù; #7C59 籚 > lú; #7C5A ç±› > jiÄn; #7C5B 籜 > tùo; #7C5C ç± > yíng; #7C5D 籞 > yù; #7C5E 籟 > lài; #7C5F ç±  > lóng; #7C60 ç±¢ > lián; #7C62 ç±£ > lán; #7C63 籤 > qiÄn; #7C64 ç±¥ > yuè; #7C65 籦 > zhÅng; #7C66 ç±§ > qú; #7C67 籨 > lián; #7C68 籩 > biÄn; #7C69 籪 > duàn; #7C6A 籫 > zuăn; #7C6B 籬 > lí; #7C6C ç±­ > sÄ«; #7C6D ç±® > lúo; #7C6E 籯 > yíng; #7C6F ç±° > yuè; #7C70 ç±± > zhúo; #7C71 ç±² > xÅ«; #7C72 ç±³ > mÄ­; #7C73 ç±´ > dí; #7C74 ç±µ > fán; #7C75 ç±¶ > shÄ“n; #7C76 ç±· > zhé; #7C77 籸 > shÄ“n; #7C78 ç±¹ > nÇš; #7C79 籺 > xié; #7C7A ç±» > lèi; #7C7B ç±¼ > xiÄn; #7C7C ç±½ > zÄ­; #7C7D ç±¾ > ní; #7C7E 籿 > cùn; #7C7F ç² > qiÄn; #7C81 粃 > bÄ­; #7C83 粄 > băn; #7C84 ç²… > wù; #7C85 粆 > shÄ; #7C86 粇 > kÄng; #7C87 粈 > rÅu; #7C88 粉 > fÄ•n; #7C89 粊 > bì; #7C8A 粋 > cùi; #7C8B ç² > lí; #7C8D 粎 > chÄ­; #7C8E 粑 > bÄ; #7C91 ç²’ > lì; #7C92 粓 > gÄn; #7C93 ç²” > jù; #7C94 粕 > pò; #7C95 ç²– > mò; #7C96 ç²— > cÅ«; #7C97 粘 > nián; #7C98 ç²™ > zhòu; #7C99 粚 > lí; #7C9A ç²› > sù; #7C9B 粜 > tiào; #7C9C ç² > lì; #7C9D 粞 > qÄ«; #7C9E 粟 > sù; #7C9F ç²  > hóng; #7CA0 粡 > tóng; #7CA1 ç²¢ > zÄ«; #7CA2 ç²£ > cè; #7CA3 粤 > yuè; #7CA4 ç²¥ > zhÅu; #7CA5 粦 > lìn; #7CA6 ç²§ > zhuÄng; #7CA7 粨 > băi; #7CA8 粪 > fèn; #7CAA ç²® > liáng; #7CAE 粯 > xiàn; #7CAF ç²° > fú; #7CB0 ç²± > liáng; #7CB1 ç²² > càn; #7CB2 ç²³ > gÄ“ng; #7CB3 ç²´ > lÄ­; #7CB4 ç²µ > yuè; #7CB5 ç²¶ > lù; #7CB6 ç²· > jú; #7CB7 粸 > qí; #7CB8 ç²¹ > cùi; #7CB9 粺 > bài; #7CBA ç²» > zhÄng; #7CBB ç²¼ > lín; #7CBC ç²½ > zòng; #7CBD ç²¾ > jÄ«ng; #7CBE 粿 > gÅ­o; #7CBF ç³ > sÄn; #7CC1 糂 > săn; #7CC2 糃 > táng; #7CC3 糄 > biÄn; #7CC4 ç³… > rÅu; #7CC5 糆 > miàn; #7CC6 糇 > hóu; #7CC7 糈 > xÅ­; #7CC8 糉 > zòng; #7CC9 糊 > hú; #7CCA 糋 > jiàn; #7CCB 糌 > zán; #7CCC ç³ > cí; #7CCD 糎 > lí; #7CCE ç³ > xiè; #7CCF ç³ > fÅ«; #7CD0 糑 > nì; #7CD1 ç³’ > bèi; #7CD2 糓 > gÅ­; #7CD3 ç³” > xÄ­u; #7CD4 糕 > gÄo; #7CD5 ç³– > táng; #7CD6 ç³— > qÄ­u; #7CD7 ç³™ > cÄo; #7CD9 糚 > zhuÄng; #7CDA ç³› > táng; #7CDB 糜 > mí; #7CDC ç³ > sÄn; #7CDD 糞 > fèn; #7CDE 糟 > zÄo; #7CDF ç³  > kÄng; #7CE0 糡 > jiàng; #7CE1 ç³¢ > mó; #7CE2 ç³£ > săn; #7CE3 糤 > săn; #7CE4 ç³¥ > nùo; #7CE5 糦 > xÄ«; #7CE6 ç³§ > liáng; #7CE7 糨 > jiàng; #7CE8 糩 > kuài; #7CE9 糪 > bó; #7CEA 糫 > huán; #7CEB ç³­ > zòng; #7CED ç³® > xiàn; #7CEE 糯 > nùo; #7CEF ç³° > tuán; #7CF0 ç³± > niè; #7CF1 ç³² > lì; #7CF2 ç³³ > zùo; #7CF3 ç³´ > dí; #7CF4 ç³µ > niè; #7CF5 ç³¶ > tiào; #7CF6 ç³· > lán; #7CF7 糸 > mì; #7CF8 ç³¹ > jiăo' 'sÄ«' 'páng; #7CF9 糺 > jÄ«u; #7CFA ç³» > xì; #7CFB ç³¼ > gÅng; #7CFC ç³½ > zhÄ•ng; #7CFD ç³¾ > jÄ«u; #7CFE 糿 > yòu; #7CFF ç´€ > jì; #7D00 ç´ > chà; #7D01 ç´‚ > zhòu; #7D02 ç´ƒ > xún; #7D03 ç´„ > yuÄ“; #7D04 ç´… > hóng; #7D05 ç´† > yÅ«; #7D06 ç´‡ > hé; #7D07 ç´ˆ > wán; #7D08 ç´‰ > rèn; #7D09 ç´Š > wèn; #7D0A ç´‹ > wén; #7D0B ç´Œ > qíu; #7D0C ç´ > nà; #7D0D ç´Ž > zÄ«; #7D0E ç´ > tÅu; #7D0F ç´ > nÄ­u; #7D10 ç´‘ > fóu; #7D11 ç´’ > jiè; #7D12 ç´“ > shÅ«; #7D13 ç´” > chún; #7D14 ç´• > pí; #7D15 ç´– > yÄ­n; #7D16 ç´— > shÄ; #7D17 ç´˜ > hóng; #7D18 ç´™ > zhÄ­; #7D19 ç´š > jí; #7D1A ç´› > fÄ“n; #7D1B ç´œ > yún; #7D1C ç´ > rén; #7D1D ç´ž > dăn; #7D1E ç´Ÿ > jÄ«n; #7D1F ç´  > sù; #7D20 ç´¡ > făng; #7D21 ç´¢ > sÅ­o; #7D22 ç´£ > cùi; #7D23 ç´¤ > jÄ­u; #7D24 ç´¥ > zhá; #7D25 ç´§ > jÄ­n; #7D27 ç´¨ > fù; #7D28 ç´© > zhì; #7D29 ç´ª > cÄ­; #7D2A ç´« > zÄ­; #7D2B ç´¬ > chóu; #7D2C ç´­ > hóng; #7D2D ç´® > zhá; #7D2E ç´¯ > lèi; #7D2F ç´° > xì; #7D30 ç´± > fú; #7D31 ç´² > xiè; #7D32 ç´³ > shÄ“n; #7D33 ç´´ > bèi; #7D34 ç´µ > zhù; #7D35 ç´¶ > qÅ­; #7D36 ç´· > líng; #7D37 ç´¸ > zhù; #7D38 ç´¹ > shào; #7D39 ç´º > gàn; #7D3A ç´» > yÄng; #7D3B ç´¼ > fú; #7D3C ç´½ > túo; #7D3D ç´¾ > zhÄ•n; #7D3E ç´¿ > dài; #7D3F çµ€ > zhúo; #7D40 çµ > shÄ«; #7D41 終 > zhÅng; #7D42 絃 > xián; #7D43 組 > zÅ­; #7D44 çµ… > jÄ­ong; #7D45 絆 > bàn; #7D46 絇 > jù; #7D47 絈 > mò; #7D48 絉 > shù; #7D49 絊 > zùi; #7D4A 経 > jÄ«ng; #7D4C çµ > rén; #7D4D 絎 > hèng; #7D4E çµ > xiè; #7D4F çµ > jié; #7D50 絑 > zhÅ«; #7D51 çµ’ > chóu; #7D52 絓 > guà; #7D53 çµ” > băi; #7D54 絕 > jué; #7D55 çµ– > kuàng; #7D56 çµ— > hú; #7D57 絘 > cì; #7D58 çµ™ > gÄ“ng; #7D59 絚 > gÄ“ng; #7D5A çµ› > tÄo; #7D5B 絜 > xié; #7D5C çµ > kù; #7D5D 絞 > jiăo; #7D5E 絟 > quÄn; #7D5F çµ  > găi; #7D60 絡 > lùo; #7D61 çµ¢ > xuàn; #7D62 çµ£ > bÄ«ng; #7D63 絤 > xiàn; #7D64 çµ¥ > fú; #7D65 給 > gÄ•i; #7D66 çµ§ > tóng; #7D67 絨 > róng; #7D68 絩 > tiào; #7D69 絪 > yÄ«n; #7D6A 絫 > lÄ•i; #7D6B 絬 > xiè; #7D6C çµ­ > quàn; #7D6D çµ® > xù; #7D6E 絯 > lÇœn; #7D6F çµ° > dié; #7D70 çµ± > tÅng; #7D71 çµ² > sÄ«; #7D72 çµ³ > jiàng; #7D73 çµ´ > xiáng; #7D74 çµµ > hùi; #7D75 çµ¶ > jué; #7D76 çµ· > zhí; #7D77 絸 > jiăn; #7D78 çµ¹ > juàn; #7D79 絺 > chÄ«; #7D7A çµ» > miăn; #7D7B çµ¼ > zhÄ•n; #7D7C çµ½ > lÇš; #7D7D çµ¾ > chéng; #7D7E 絿 > qíu; #7D7F ç¶€ > shÅ«; #7D80 ç¶ > băng; #7D81 ç¶‚ > tÅng; #7D82 綃 > xiÄo; #7D83 ç¶„ > wàn; #7D84 ç¶… > qÄ«n; #7D85 綆 > gÄ•ng; #7D86 綇 > xÄ­u; #7D87 綈 > tí; #7D88 綉 > xìu; #7D89 ç¶Š > xié; #7D8A ç¶‹ > hóng; #7D8B ç¶Œ > xì; #7D8C ç¶ > fú; #7D8D ç¶Ž > tÄ«ng; #7D8E ç¶ > sÅ«i; #7D8F ç¶ > dùi; #7D90 ç¶‘ > kÅ­n; #7D91 ç¶’ > fÅ«; #7D92 ç¶“ > jÄ«ng; #7D93 ç¶” > hù; #7D94 ç¶• > zhÄ«; #7D95 ç¶– > yán; #7D96 ç¶— > jÄ­ong; #7D97 綘 > féng; #7D98 ç¶™ > jì; #7D99 ç¶œ > zòng; #7D9C ç¶ > lín; #7D9D ç¶ž > dÅ­o; #7D9E ç¶Ÿ > lì; #7D9F ç¶  > lÇœ; #7DA0 ç¶¡ > liáng; #7DA1 ç¶¢ > chóu; #7DA2 ç¶£ > quăn; #7DA3 綤 > shào; #7DA4 ç¶¥ > qì; #7DA5 綦 > qí; #7DA6 ç¶§ > zhÅ­n; #7DA7 綨 > qí; #7DA8 ç¶© > wăn; #7DA9 綪 > qiàn; #7DAA ç¶« > xiàn; #7DAB 綬 > shòu; #7DAC ç¶­ > wéi; #7DAD ç¶® > qÄ­; #7DAE 綯 > táo; #7DAF ç¶° > wăn; #7DB0 ç¶± > gÄng; #7DB1 ç¶² > wăng; #7DB2 ç¶³ > bÄ“ng; #7DB3 ç¶´ > zhùi; #7DB4 ç¶µ > căi; #7DB5 ç¶¶ > gÅ­o; #7DB6 ç¶· > cùi; #7DB7 綸 > lún; #7DB8 ç¶¹ > lÄ­u; #7DB9 綺 > qÄ­; #7DBA ç¶» > zhàn; #7DBB ç¶¼ > bÄ“i; #7DBC ç¶½ > chùo; #7DBD ç¶¾ > líng; #7DBE ç¶¿ > mián; #7DBF ç·€ > qÄ«; #7DC0 ç· > qiè; #7DC1 ç·‚ > tÄn; #7DC2 ç·ƒ > zÅng; #7DC3 ç·„ > gÅ­n; #7DC4 ç·… > zÅu; #7DC5 ç·† > yì; #7DC6 ç·‡ > zÄ«; #7DC7 ç·ˆ > xìng; #7DC8 ç·‰ > liăng; #7DC9 ç·Š > jÄ­n; #7DCA ç·‹ > fÄ“i; #7DCB ç·Œ > rúi; #7DCC ç· > mín; #7DCD ç·Ž > yù; #7DCE ç· > zÅng; #7DCF ç· > fán; #7DD0 ç·‘ > lÇœ; #7DD1 ç·’ > xù; #7DD2 ç·“ > yingl; #7DD3 ç·” > zhàng; #7DD4 ç·– > xù; #7DD6 ç·— > xiÄng; #7DD7 ç·˜ > jiÄn; #7DD8 ç·™ > kè; #7DD9 ç·š > xiàn; #7DDA ç·› > ruăn; #7DDB ç·œ > mián; #7DDC ç· > qì; #7DDD ç·ž > duàn; #7DDE ç·Ÿ > zhòng; #7DDF ç·  > dì; #7DE0 ç·¡ > mín; #7DE1 ç·¢ > miáo; #7DE2 ç·£ > yuán; #7DE3 ç·¤ > xiè; #7DE4 ç·¥ > băo; #7DE5 ç·¦ > sÄ«; #7DE6 ç·§ > qÄ«u; #7DE7 ç·¨ > biÄn; #7DE8 ç·© > huăn; #7DE9 ç·ª > gÄ“ng; #7DEA ç·« > cÅng; #7DEB ç·¬ > miăn; #7DEC ç·­ > wèi; #7DED ç·® > fù; #7DEE ç·¯ > wÄ•i; #7DEF ç·° > yú; #7DF0 ç·± > gÅu; #7DF1 ç·² > miăo; #7DF2 ç·³ > xié; #7DF3 ç·´ > liàn; #7DF4 ç·µ > zÅng; #7DF5 ç·¶ > biàn; #7DF6 ç·· > yùn; #7DF7 ç·¸ > yÄ«n; #7DF8 ç·¹ > tí; #7DF9 ç·º > guÄ; #7DFA ç·» > zhì; #7DFB ç·¼ > yÅ«n; #7DFC ç·½ > chÄ“ng; #7DFD ç·¾ > chán; #7DFE ç·¿ > dài; #7DFF 縀 > xiá; #7E00 ç¸ > yuán; #7E01 縂 > zÅng; #7E02 縃 > xÅ«; #7E03 縆 > gÄ“ng; #7E06 縈 > yíng; #7E08 縉 > jìn; #7E09 縊 > yì; #7E0A 縋 > zhùi; #7E0B 縌 > nì; #7E0C ç¸ > bÄng; #7E0D 縎 > gÅ­; #7E0E ç¸ > pán; #7E0F ç¸ > zhòu; #7E10 縑 > jiÄn; #7E11 縒 > cÅ­o; #7E12 縓 > quăn; #7E13 縔 > shuăng; #7E14 縕 > yÅ«n; #7E15 縖 > xiá; #7E16 縗 > shuÄi; #7E17 縘 > xÄ«; #7E18 縙 > róng; #7E19 縚 > tÄo; #7E1A 縛 > fú; #7E1B 縜 > yún; #7E1C ç¸ > zhÄ“n; #7E1D 縞 > găo; #7E1E 縟 > rù; #7E1F 縠 > hú; #7E20 縡 > zăi; #7E21 縢 > téng; #7E22 縣 > xiàn; #7E23 縤 > sù; #7E24 縥 > zhÄ•n; #7E25 縦 > zòng; #7E26 縧 > tÄo; #7E27 縩 > cài; #7E29 縪 > bì; #7E2A 縫 > féng; #7E2B 縬 > cù; #7E2C 縭 > lí; #7E2D 縮 > sÅ«o; #7E2E 縯 > yÄ­n; #7E2F 縰 > xÄ­; #7E30 縱 > zòng; #7E31 縲 > léi; #7E32 縳 > zhuàn; #7E33 縴 > qiÄn; #7E34 縵 > màn; #7E35 縶 > zhí; #7E36 縷 > lÇš; #7E37 縸 > mò; #7E38 縹 > piăo; #7E39 縺 > lián; #7E3A 縻 > mí; #7E3B 縼 > xuàn; #7E3C 總 > zÅng; #7E3D 績 > jÄ«; #7E3E 縿 > shÄn; #7E3F ç¹€ > sùi; #7E40 ç¹ > fán; #7E41 繂 > shuài; #7E42 繃 > bÄ“ng; #7E43 繄 > yÄ«; #7E44 ç¹… > sÄo; #7E45 繆 > móu; #7E46 繇 > zhòu; #7E47 繈 > qiăng; #7E48 繉 > hún; #7E49 繋 > xì; #7E4B ç¹ > xìu; #7E4D 繎 > rán; #7E4E ç¹ > xuàn; #7E4F ç¹ > hùi; #7E50 繑 > qiÄo; #7E51 ç¹’ > zÄ“ng; #7E52 繓 > zÅ­o; #7E53 ç¹” > zhÄ«; #7E54 繕 > shàn; #7E55 ç¹– > săn; #7E56 ç¹— > lín; #7E57 繘 > yù; #7E58 ç¹™ > fÄn; #7E59 繚 > liáo; #7E5A ç¹› > chùo; #7E5B 繜 > zÅ«n; #7E5C ç¹ > jiàn; #7E5D 繞 > rào; #7E5E 繟 > chăn; #7E5F ç¹  > rÅ­i; #7E60 繡 > xìu; #7E61 ç¹¢ > hùi; #7E62 ç¹£ > huà; #7E63 繤 > zuăn; #7E64 ç¹¥ > xÄ«; #7E65 繦 > qiăng; #7E66 繨 > dá; #7E68 繩 > shéng; #7E69 繪 > hùi; #7E6A 繫 > xì; #7E6B 繬 > sè; #7E6C ç¹­ > jiăn; #7E6D ç¹® > jiÄng; #7E6E 繯 > huán; #7E6F ç¹° > zăo; #7E70 ç¹± > cÅng; #7E71 ç¹² > jiè; #7E72 ç¹³ > jiăo; #7E73 ç¹´ > bò; #7E74 ç¹µ > chán; #7E75 ç¹¶ > yì; #7E76 ç¹· > náo; #7E77 繸 > sùi; #7E78 ç¹¹ > yì; #7E79 繺 > shăi; #7E7A ç¹» > xÅ«; #7E7B ç¹¼ > jì; #7E7C ç¹½ > bÄ«n; #7E7D ç¹¾ > qiăn; #7E7E 繿 > lán; #7E7F 纀 > pú; #7E80 çº > xÅ«n; #7E81 纂 > zuăn; #7E82 纃 > qí; #7E83 纄 > péng; #7E84 纅 > lì; #7E85 纆 > mò; #7E86 纇 > lèi; #7E87 纈 > xié; #7E88 纉 > zuăn; #7E89 纊 > kuàng; #7E8A 纋 > yÅu; #7E8B 續 > xù; #7E8C çº > léi; #7E8D 纎 > xiÄn; #7E8E çº > chán; #7E8F 纑 > lú; #7E91 纒 > chán; #7E92 纓 > yÄ«ng; #7E93 纔 > cái; #7E94 纕 > xiÄng; #7E95 纖 > xiÄn; #7E96 纗 > zÅ«i; #7E97 纘 > zuăn; #7E98 纙 > lùo; #7E99 纚 > xÄ­; #7E9A 纛 > dào; #7E9B 纜 > làn; #7E9C çº > léi; #7E9D 纞 > liàn; #7E9E 纟 > sÄ«; #7E9F 纠 > jÄ«u; #7EA0 纡 > yÅ«; #7EA1 红 > hóng; #7EA2 纣 > zhòu; #7EA3 纤 > xiÄn; #7EA4 纥 > hé; #7EA5 约 > yuÄ“; #7EA6 级 > jí; #7EA7 纨 > wán; #7EA8 纩 > kuàng; #7EA9 纪 > jì; #7EAA 纫 > rèn; #7EAB 纬 > wÄ•i; #7EAC 纭 > yún; #7EAD 纮 > hóng; #7EAE 纯 > chún; #7EAF 纰 > pí; #7EB0 纱 > shÄ; #7EB1 纲 > gÄng; #7EB2 纳 > nà; #7EB3 纴 > rén; #7EB4 纵 > zòng; #7EB5 纶 > lún; #7EB6 纷 > fÄ“n; #7EB7 纸 > zhÄ­; #7EB8 纹 > wén; #7EB9 纺 > făng; #7EBA 纻 > zhù; #7EBB 纼 > yÄ­n; #7EBC 纽 > nÄ­u; #7EBD 纾 > shÅ«; #7EBE 线 > xiàn; #7EBF 绀 > gàn; #7EC0 ç» > xiè; #7EC1 绂 > fú; #7EC2 练 > liàn; #7EC3 组 > zÅ­; #7EC4 ç»… > shÄ“n; #7EC5 细 > xì; #7EC6 织 > zhÄ«; #7EC7 终 > zhÅng; #7EC8 绉 > zhòu; #7EC9 绊 > bàn; #7ECA 绋 > fú; #7ECB 绌 > zhúo; #7ECC ç» > shào; #7ECD 绎 > yì; #7ECE ç» > jÄ«ng; #7ECF ç» > dài; #7ED0 绑 > băng; #7ED1 ç»’ > róng; #7ED2 结 > jié; #7ED3 ç»” > kù; #7ED4 绕 > rào; #7ED5 ç»– > dié; #7ED6 ç»— > hèng; #7ED7 绘 > hùi; #7ED8 ç»™ > gÄ•i; #7ED9 绚 > xuàn; #7EDA ç»› > jiàng; #7EDB 络 > lùo; #7EDC ç» > jué; #7EDD 绞 > jiăo; #7EDE 统 > tÅng; #7EDF ç»  > gÄ•ng; #7EE0 绡 > xiÄo; #7EE1 绢 > juàn; #7EE2 绣 > xìu; #7EE3 绤 > xì; #7EE4 绥 > sÅ«i; #7EE5 绦 > tÄo; #7EE6 ç»§ > jì; #7EE7 绨 > tí; #7EE8 绩 > jÄ«; #7EE9 绪 > xù; #7EEA 绫 > líng; #7EEB ç»­ > xù; #7EED ç»® > qÄ­; #7EEE 绯 > fÄ“i; #7EEF ç»° > chùo; #7EF0 ç»± > zhăng; #7EF1 绲 > gÅ­n; #7EF2 绳 > shéng; #7EF3 ç»´ > wéi; #7EF4 绵 > mián; #7EF5 ç»¶ > shòu; #7EF6 ç»· > bÄ“ng; #7EF7 绸 > chóu; #7EF8 绹 > táo; #7EF9 绺 > lÄ­u; #7EFA ç»» > quăn; #7EFB 综 > zòng; #7EFC 绽 > zhàn; #7EFD 绾 > wăn; #7EFE 绿 > lÇœ; #7EFF ç¼€ > zhùi; #7F00 ç¼ > zÄ«; #7F01 缂 > kè; #7F02 缃 > xiÄng; #7F03 缄 > jiÄn; #7F04 ç¼… > miăn; #7F05 缆 > làn; #7F06 缇 > tí; #7F07 缈 > miăo; #7F08 缉 > qì; #7F09 缊 > yÅ«n; #7F0A 缋 > hùi; #7F0B 缌 > sÄ«; #7F0C ç¼ > dÅ­o; #7F0D 缎 > duàn; #7F0E ç¼ > biàn; #7F0F ç¼ > xiàn; #7F10 缑 > gÅu; #7F11 ç¼’ > zhùi; #7F12 缓 > huăn; #7F13 ç¼” > dì; #7F14 缕 > lÇš; #7F15 ç¼– > biÄn; #7F16 ç¼— > mín; #7F17 缘 > yuán; #7F18 ç¼™ > jìn; #7F19 缚 > fú; #7F1A ç¼› > rù; #7F1B 缜 > zhÄ“n; #7F1C ç¼ > féng; #7F1D 缞 > shuÄi; #7F1E 缟 > găo; #7F1F ç¼  > chán; #7F20 缡 > lí; #7F21 ç¼¢ > yì; #7F22 ç¼£ > jiÄn; #7F23 缤 > bÄ«n; #7F24 ç¼¥ > piăo; #7F25 缦 > màn; #7F26 ç¼§ > léi; #7F27 缨 > yÄ«ng; #7F28 缩 > sÅ«o; #7F29 缪 > móu; #7F2A 缫 > sÄo; #7F2B 缬 > xié; #7F2C ç¼­ > liáo; #7F2D ç¼® > shàn; #7F2E 缯 > zÄ“ng; #7F2F ç¼° > jiÄng; #7F30 ç¼± > qiăn; #7F31 ç¼² > zăo; #7F32 ç¼³ > huán; #7F33 ç¼´ > jiăo; #7F34 ç¼µ > zuăn; #7F35 ç¼¶ > fÅu; #7F36 ç¼· > xiè; #7F37 缸 > gÄng; #7F38 ç¼¹ > fÅu; #7F39 缺 > quÄ“; #7F3A ç¼» > fÅu; #7F3B ç¼½ > bÅ; #7F3D ç¼¾ > píng; #7F3E 缿 > hòu; #7F3F ç½ > gÄng; #7F41 罂 > yÄ«ng; #7F42 罃 > yÄ«ng; #7F43 罄 > qìng; #7F44 ç½… > xià; #7F45 罆 > guàn; #7F46 罇 > zÅ«n; #7F47 罈 > tán; #7F48 罊 > qì; #7F4A 罋 > wèng; #7F4B 罌 > yÄ«ng; #7F4C ç½ > léi; #7F4D 罎 > tán; #7F4E ç½ > lú; #7F4F ç½ > guàn; #7F50 网 > wăng; #7F51 ç½’ > wăng; #7F52 罓 > gÄng; #7F53 ç½” > wăng; #7F54 罕 > hăn; #7F55 ç½— > lÅ«o; #7F57 罘 > fú; #7F58 ç½™ > mí; #7F59 罚 > fá; #7F5A ç½› > gÅ«; #7F5B 罜 > zhÅ­; #7F5C ç½ > jÅ«; #7F5D 罞 > máo; #7F5E 罟 > gÅ­; #7F5F ç½  > mín; #7F60 罡 > gÄng; #7F61 ç½¢ > bà; #7F62 ç½£ > guà; #7F63 罤 > tí; #7F64 ç½¥ > juàn; #7F65 罦 > fÅ«; #7F66 ç½§ > lín; #7F67 罨 > yăn; #7F68 罩 > zhào; #7F69 罪 > zùi; #7F6A 罫 > guà; #7F6B 罬 > zhúo; #7F6C ç½­ > yù; #7F6D ç½® > zhì; #7F6E 罯 > ăn; #7F6F ç½° > fá; #7F70 ç½± > năn; #7F71 ç½² > shÅ­; #7F72 ç½³ > sÄ«; #7F73 ç½´ > pí; #7F74 ç½µ > mà; #7F75 ç½¶ > lÄ­u; #7F76 ç½· > bà; #7F77 罸 > fá; #7F78 ç½¹ > lí; #7F79 罺 > chÄo; #7F7A ç½» > wèi; #7F7B ç½¼ > bì; #7F7C ç½½ > jì; #7F7D ç½¾ > zÄ“ng; #7F7E 罿 > tóng; #7F7F ç¾€ > lÄ­u; #7F80 ç¾ > jÄ«; #7F81 羂 > juàn; #7F82 羃 > mì; #7F83 羄 > zhào; #7F84 ç¾… > lúo; #7F85 羆 > pí; #7F86 羇 > jÄ«; #7F87 羈 > jÄ«; #7F88 羉 > luán; #7F89 羊 > yáng; #7F8A 羋 > miÄ“; #7F8B 羌 > qiÄng; #7F8C ç¾ > tà; #7F8D 美 > mÄ•i; #7F8E ç¾ > yáng; #7F8F ç¾ > yÅu; #7F90 羑 > yÅu; #7F91 ç¾’ > fén; #7F92 羓 > bÄ; #7F93 ç¾” > gÄo; #7F94 羕 > yàng; #7F95 ç¾– > gÅ­; #7F96 ç¾— > qiÄng; #7F97 羘 > zÄng; #7F98 ç¾™ > gÄo; #7F99 羚 > líng; #7F9A ç¾› > yì; #7F9B 羜 > zhù; #7F9C ç¾ > dÄ«; #7F9D 羞 > xÄ«u; #7F9E 羟 > qiÄn; #7F9F ç¾  > yí; #7FA0 羡 > xiàn; #7FA1 ç¾¢ > róng; #7FA2 ç¾£ > qún; #7FA3 群 > qún; #7FA4 ç¾¥ > qiÄn; #7FA5 羦 > huán; #7FA6 ç¾§ > zÅ«i; #7FA7 羨 > xiàn; #7FA8 義 > yì; #7FA9 羫 > qiÄng; #7FAB 羬 > xián; #7FAC ç¾­ > yú; #7FAD ç¾® > gÄ“ng; #7FAE 羯 > jié; #7FAF ç¾° > tÄng; #7FB0 ç¾± > yuán; #7FB1 ç¾² > xÄ«; #7FB2 ç¾³ > fán; #7FB3 ç¾´ > shÄn; #7FB4 ç¾µ > fÄ•n; #7FB5 ç¾¶ > shÄn; #7FB6 ç¾· > liăn; #7FB7 羸 > léi; #7FB8 ç¾¹ > gÄ“ng; #7FB9 羺 > nóu; #7FBA ç¾» > qiàng; #7FBB ç¾¼ > chàn; #7FBC ç¾½ > yÅ­; #7FBD ç¾¾ > gòng; #7FBE 羿 > yì; #7FBF ç¿€ > chóng; #7FC0 ç¿ > wÄ“ng; #7FC1 ç¿‚ > fÄ“n; #7FC2 翃 > hóng; #7FC3 ç¿„ > chì; #7FC4 ç¿… > chì; #7FC5 翆 > cùi; #7FC6 翇 > fú; #7FC7 翈 > xiá; #7FC8 翉 > pÄ•n; #7FC9 翊 > yì; #7FCA ç¿‹ > lÄ; #7FCB 翌 > yì; #7FCC ç¿ > pÄ«; #7FCD 翎 > líng; #7FCE ç¿ > lìu; #7FCF ç¿ > zhì; #7FD0 ç¿‘ > qú; #7FD1 ç¿’ > xí; #7FD2 ç¿“ > xié; #7FD3 ç¿” > xiáng; #7FD4 ç¿• > xì; #7FD5 ç¿– > xì; #7FD6 ç¿— > qí; #7FD7 翘 > qiáo; #7FD8 ç¿™ > hùi; #7FD9 翚 > hÅ«i; #7FDA ç¿› > xiÄo; #7FDB 翜 > sè; #7FDC ç¿ > hóng; #7FDD 翞 > jiÄng; #7FDE 翟 > dí; #7FDF ç¿  > cùi; #7FE0 ç¿¡ > fÄ•i; #7FE1 ç¿¢ > tÄo; #7FE2 ç¿£ > shà; #7FE3 翤 > chì; #7FE4 ç¿¥ > zhù; #7FE5 翦 > jiăn; #7FE6 ç¿§ > xuÄn; #7FE7 翨 > shì; #7FE8 ç¿© > piÄn; #7FE9 翪 > zÅng; #7FEA ç¿« > wàn; #7FEB 翬 > hÅ«i; #7FEC ç¿­ > hóu; #7FED ç¿® > hé; #7FEE 翯 > hè; #7FEF ç¿° > hàn; #7FF0 翱 > áo; #7FF1 翲 > piÄo; #7FF2 翳 > yì; #7FF3 ç¿´ > lián; #7FF4 翵 > qú; #7FF5 ç¿· > lín; #7FF7 翸 > pÄ•n; #7FF8 翹 > qiáo; #7FF9 翺 > áo; #7FFA ç¿» > fÄn; #7FFB 翼 > yì; #7FFC 翽 > hùi; #7FFD 翾 > xuÄn; #7FFE ç¿¿ > dào; #7FFF 耀 > yào; #8000 è€ > lăo; #8001 考 > kăo; #8003 耄 > mào; #8004 者 > zhÄ•; #8005 耆 > qí; #8006 耇 > gÅu; #8007 耈 > gÅu; #8008 耉 > gÅu; #8009 耊 > diè; #800A 耋 > diè; #800B 而 > ér; #800C è€ > shuă; #800D 耎 > ruăn; #800E è€ > ér; #800F è€ > nài; #8010 耑 > zhuÄn; #8011 耒 > lÄ•i; #8012 耓 > tÄ«ng; #8013 耔 > zÄ­; #8014 耕 > gÄ“ng; #8015 耖 > chào; #8016 耗 > hào; #8017 耘 > yún; #8018 耙 > pá; #8019 耚 > pÄ«; #801A 耛 > chí; #801B 耜 > sì; #801C è€ > chú; #801D 耞 > jiÄ; #801E 耟 > jù; #801F 耠 > hé; #8020 耡 > chú; #8021 耢 > lào; #8022 耣 > lÅ­n; #8023 耤 > jí; #8024 耥 > tăng; #8025 耦 > Åu; #8026 耧 > lóu; #8027 耨 > nòu; #8028 耩 > gÅu; #8029 耪 > păng; #802A 耫 > zé; #802B 耬 > lóu; #802C 耭 > jÄ«; #802D 耮 > lào; #802E 耯 > hùo; #802F 耰 > yÅu; #8030 耱 > mò; #8031 耲 > huái; #8032 耳 > Ä•r; #8033 耴 > zhé; #8034 耵 > tÄ«ng; #8035 耶 > yé; #8036 耷 > dÄ; #8037 耸 > sÅng; #8038 耹 > qín; #8039 耺 > yún; #803A 耻 > chÄ­; #803B 耼 > dÄn; #803C 耽 > dÄn; #803D 耾 > hóng; #803E 耿 > gÄ•ng; #803F è€ > zhí; #8040 è‚ > niè; #8042 èƒ > dÄn; #8043 è„ > zhÄ•n; #8044 è… > chè; #8045 è† > líng; #8046 è‡ > zhÄ“ng; #8047 èˆ > yÅu; #8048 è‰ > wÄ; #8049 èŠ > liáo; #804A è‹ > lóng; #804B èŒ > zhí; #804C è > níng; #804D èŽ > tiÄo; #804E è > ér; #804F è > yà; #8050 è‘ > dié; #8051 è’ > guÄ; #8052 è” > lián; #8054 è• > hào; #8055 è– > shèng; #8056 è— > liè; #8057 è˜ > pìn; #8058 è™ > jÄ«ng; #8059 èš > jù; #805A è› > bì; #805B èœ > dÄ­; #805C è > gúo; #805D èž > wén; #805E èŸ > xù; #805F è  > píng; #8060 è¡ > cÅng; #8061 è¤ > tíng; #8064 è¥ > yÅ­; #8065 è¦ > cÅng; #8066 è§ > kúi; #8067 è© > kùi; #8069 èª > cÅng; #806A è« > lián; #806B è¬ > wÄ•ng; #806C è­ > kùi; #806D è® > lián; #806E è¯ > lián; #806F è° > cÅng; #8070 è± > áo; #8071 è² > shÄ“ng; #8072 è³ > sÅng; #8073 è´ > tÄ«ng; #8074 èµ > kùi; #8075 è¶ > niè; #8076 è· > zhí; #8077 è¸ > dÄn; #8078 è¹ > níng; #8079 èº > qie; #807A è» > jÄ«; #807B è¼ > tÄ«ng; #807C è½ > tÄ«ng; #807D è¾ > lóng; #807E è¿ > yù; #807F è‚€ > yù; #8080 è‚ > zhào; #8081 è‚‚ > sì; #8082 肃 > sù; #8083 è‚„ > yì; #8084 è‚… > sù; #8085 肆 > sì; #8086 肇 > zhào; #8087 肈 > zhào; #8088 肉 > ròu; #8089 肊 > yì; #808A è‚‹ > lè; #808B 肌 > jÄ«; #808C è‚ > qíu; #808D 肎 > kÄ•n; #808E è‚ > cào; #808F è‚ > gÄ“; #8090 è‚‘ > dì; #8091 è‚’ > huán; #8092 è‚“ > huÄng; #8093 è‚” > yÄ­; #8094 è‚• > rèn; #8095 è‚– > xiào; #8096 è‚— > rÅ­; #8097 肘 > zhÅu; #8098 è‚™ > yuÄn; #8099 肚 > dù; #809A è‚› > gÄng; #809B 肜 > róng; #809C è‚ > gÄn; #809D 肞 > chÄ; #809E 肟 > wò; #809F è‚  > cháng; #80A0 è‚¡ > gÅ­; #80A1 è‚¢ > zhÄ«; #80A2 è‚£ > hán; #80A3 肤 > fÅ«; #80A4 è‚¥ > féi; #80A5 肦 > fén; #80A6 è‚§ > pÄ“i; #80A7 肨 > pàng; #80A8 è‚© > jiÄn; #80A9 肪 > fáng; #80AA è‚« > zhÅ«n; #80AB 肬 > yóu; #80AC è‚­ > nà; #80AD è‚® > háng; #80AE 肯 > kÄ•n; #80AF è‚° > rán; #80B0 肱 > gÅng; #80B1 育 > yù; #80B2 肳 > wÄ•n; #80B3 è‚´ > yáo; #80B4 肵 > jìn; #80B5 è‚¶ > pí; #80B6 è‚· > qiÄn; #80B7 肸 > xì; #80B8 肹 > xÄ«; #80B9 肺 > fèi; #80BA è‚» > kÄ•n; #80BB 肼 > jÄ­ng; #80BC 肽 > tài; #80BD 肾 > shèn; #80BE è‚¿ > zhÅng; #80BF 胀 > zhàng; #80C0 èƒ > xié; #80C1 胂 > shÄ“n; #80C2 胃 > wèi; #80C3 胄 > zhòu; #80C4 胅 > dié; #80C5 胆 > dăn; #80C6 胇 > fèi; #80C7 胈 > bá; #80C8 胉 > bó; #80C9 胊 > qú; #80CA 胋 > tián; #80CB 背 > bèi; #80CC èƒ > guÄ; #80CD 胎 > tÄi; #80CE èƒ > zÄ­; #80CF èƒ > kÅ«; #80D0 胑 > zhÄ«; #80D1 胒 > nì; #80D2 胓 > píng; #80D3 胔 > zì; #80D4 胕 > fù; #80D5 胖 > pàng; #80D6 胗 > zhÄ“n; #80D7 胘 > xián; #80D8 胙 > zùo; #80D9 胚 > pÄ“i; #80DA 胛 > jiă; #80DB 胜 > shèng; #80DC èƒ > zhÄ«; #80DD 胞 > bÄo; #80DE 胟 > mÅ­; #80DF 胠 > qÅ«; #80E0 胡 > hú; #80E1 胢 > kÄ“; #80E2 胣 > yÄ­; #80E3 胤 > yìn; #80E4 胥 > xÅ«; #80E5 胦 > yÄng; #80E6 胧 > lóng; #80E7 胨 > dòng; #80E8 胩 > kă; #80E9 胪 > lú; #80EA 胫 > jìng; #80EB 胬 > nÅ­; #80EC 胭 > yÄn; #80ED 胮 > páng; #80EE 胯 > kuà; #80EF 胰 > yí; #80F0 胱 > guÄng; #80F1 胲 > gÄi; #80F2 胳 > gÄ“; #80F3 胴 > dòng; #80F4 胵 > zhì; #80F5 胶 > xiáo; #80F6 胷 > xÄ«ong; #80F7 胸 > xÄ«ong; #80F8 胹 > ér; #80F9 胺 > è; #80FA 胻 > xíng; #80FB 胼 > pián; #80FC 能 > néng; #80FD 胾 > zì; #80FE 胿 > gui; #80FF è„€ > chéng; #8100 è„ > tiào; #8101 è„‚ > zhÄ«; #8102 脃 > cùi; #8103 è„„ > méi; #8104 è„… > xié; #8105 脆 > cùi; #8106 脇 > xié; #8107 脈 > mò; #8108 脉 > mài; #8109 脊 > jí; #810A è„ > kuài; #810D 脎 > sà; #810E è„ > zÄng; #810F è„ > qí; #8110 è„‘ > năo; #8111 è„’ > mÄ­; #8112 è„“ > nóng; #8113 è„” > luán; #8114 è„• > wăn; #8115 è„– > bó; #8116 è„— > wÄ•n; #8117 脘 > guăn; #8118 è„™ > qíu; #8119 脚 > jiăo; #811A è„› > jìng; #811B 脜 > róu; #811C è„ > hÄ“ng; #811D 脞 > cÅ­o; #811E 脟 > liè; #811F è„  > shÄn; #8120 è„¡ > tÄ­ng; #8121 è„¢ > méi; #8122 è„£ > chún; #8123 脤 > shèn; #8124 è„¥ > xié; #8125 脦 > de; #8126 è„§ > zÅ«i; #8127 脨 > cù; #8128 è„© > xÄ«u; #8129 脪 > xìn; #812A è„« > tÅ«o; #812B 脬 > pÄo; #812C è„­ > chéng; #812D è„® > nÄ•i; #812E 脯 > fÅ­; #812F è„° > dòu; #8130 脱 > tÅ«o; #8131 脲 > niào; #8132 è„´ > pÄ­; #8134 脵 > gÅ­; #8135 è„¶ > guÄ; #8136 è„· > lì; #8137 脸 > liăn; #8138 脹 > zhàng; #8139 脺 > cùi; #813A è„» > jié; #813B 脼 > liăng; #813C 脽 > zhÅu; #813D 脾 > pí; #813E è„¿ > biÄo; #813F è…€ > lún; #8140 è… > pián; #8141 è…‚ > gùo; #8142 è…ƒ > kùi; #8143 è…„ > chúi; #8144 è…… > dàn; #8145 è…† > tiăn; #8146 è…‡ > nÄ•i; #8147 è…ˆ > jÄ«ng; #8148 è…‰ > jiÄ“; #8149 è…Š > là; #814A è…‹ > yì; #814B è…Œ > Än; #814C è… > rÄ•n; #814D è…Ž > shèn; #814E è… > chùo; #814F è… > fÅ­; #8150 è…‘ > fÅ­; #8151 è…’ > jÅ«; #8152 è…“ > féi; #8153 è…” > qiÄng; #8154 è…• > wàn; #8155 è…– > dòng; #8156 è…— > pí; #8157 è…˜ > gúo; #8158 è…™ > zÅng; #8159 è…š > dìng; #815A è…› > wÅ«; #815B è…œ > méi; #815C è… > ruăn; #815D è…ž > zhuàn; #815E è…Ÿ > zhì; #815F è…  > còu; #8160 è…¡ > guÄ; #8161 è…¢ > Åu; #8162 è…£ > dì; #8163 è…¤ > Än; #8164 è…¥ > xÄ«ng; #8165 è…¦ > năo; #8166 è…§ > yú; #8167 è…¨ > chuăn; #8168 è…© > năn; #8169 è…ª > yùn; #816A è…« > zhÅng; #816B è…¬ > róu; #816C è…­ > è; #816D è…® > sÄi; #816E è…¯ > tú; #816F è…° > yÄo; #8170 è…± > jiàn; #8171 è…² > wÄ•i; #8172 è…³ > jiăo; #8173 è…´ > yú; #8174 è…µ > jiÄ; #8175 è…¶ > duàn; #8176 è…· > bì; #8177 è…¸ > cháng; #8178 è…¹ > fù; #8179 è…º > xiàn; #817A è…» > nì; #817B è…¼ > miăn; #817C è…½ > wà; #817D è…¾ > téng; #817E è…¿ > tÅ­i; #817F 膀 > băng; #8180 è† > qiÄn; #8181 膂 > lÇš; #8182 膃 > wà; #8183 膄 > sòu; #8184 膅 > táng; #8185 膆 > sù; #8186 膇 > zhùi; #8187 膈 > gé; #8188 膉 > yì; #8189 膊 > bó; #818A 膋 > liáo; #818B 膌 > jí; #818C è† > pí; #818D 膎 > xié; #818E è† > gÄo; #818F è† > lÇš; #8190 膑 > bìn; #8191 膒 > ou; #8192 膓 > cháng; #8193 膔 > lù; #8194 膕 > gúo; #8195 膖 > pÄng; #8196 膗 > chuái; #8197 膘 > piăo; #8198 膙 > jiăng; #8199 膚 > fÅ«; #819A 膛 > táng; #819B 膜 > mò; #819C è† > xÄ«; #819D 膞 > zhuÄn; #819E 膟 > lÇœ; #819F 膠 > jiÄo; #81A0 膡 > yìng; #81A1 膢 > lǘ; #81A2 膣 > zhì; #81A3 膥 > chÅ«n; #81A5 膦 > liăn; #81A6 膧 > tóng; #81A7 膨 > péng; #81A8 膩 > nì; #81A9 膪 > zhà; #81AA 膫 > liáo; #81AB 膬 > cùi; #81AC 膭 > gÅ«i; #81AD 膮 > xiÄo; #81AE 膯 > tÄ“ng; #81AF 膰 > fán; #81B0 膱 > zhí; #81B1 膲 > jiÄo; #81B2 膳 > shàn; #81B3 膴 > wú; #81B4 膵 > cùi; #81B5 膶 > rùn; #81B6 膷 > xiÄng; #81B7 膸 > sÅ­i; #81B8 膹 > fèn; #81B9 膺 > yÄ«ng; #81BA 膻 > tăn; #81BB 膼 > zhuÄ; #81BC 膽 > dăn; #81BD 膾 > kuài; #81BE 膿 > nóng; #81BF 臀 > tún; #81C0 è‡ > lián; #81C1 臂 > bì; #81C2 臃 > yÅng; #81C3 臄 > jué; #81C4 臅 > chù; #81C5 臆 > yì; #81C6 臇 > juăn; #81C7 臈 > là; #81C8 臉 > liăn; #81C9 臊 > sÄo; #81CA 臋 > tún; #81CB 臌 > gÅ­; #81CC è‡ > qí; #81CD 臎 > cùi; #81CE è‡ > bìn; #81CF è‡ > xÅ«n; #81D0 臑 > rú; #81D1 臒 > hùo; #81D2 臓 > zàng; #81D3 臔 > xiàn; #81D4 臕 > biÄo; #81D5 臖 > xìng; #81D6 臗 > kuÄn; #81D7 臘 > là; #81D8 臙 > yÄn; #81D9 臚 > lú; #81DA 臛 > hùo; #81DB 臜 > zÄng; #81DC è‡ > lÅ­o; #81DD 臞 > qú; #81DE 臟 > zàng; #81DF 臠 > luán; #81E0 臡 > ní; #81E1 臢 > zÄng; #81E2 臣 > chén; #81E3 臤 > qiÄn; #81E4 臥 > wò; #81E5 臦 > guàng; #81E6 臧 > záng; #81E7 臨 > lín; #81E8 臩 > guàng; #81E9 自 > zì; #81EA 臫 > jiăo; #81EB 臬 > niè; #81EC 臭 > chòu; #81ED 臮 > jì; #81EE 臯 > gÄo; #81EF 臰 > chòu; #81F0 臱 > mián; #81F1 臲 > niè; #81F2 至 > zhì; #81F3 致 > zhì; #81F4 臵 > gé; #81F5 臶 > jiàn; #81F6 臷 > dié; #81F7 臸 > zhì; #81F8 臹 > xÄ«u; #81F9 臺 > tái; #81FA 臻 > zhÄ“n; #81FB 臼 > jìu; #81FC 臽 > xiàn; #81FD 臾 > yú; #81FE 臿 > chÄ; #81FF 舀 > yăo; #8200 èˆ > yú; #8201 舂 > chÅng; #8202 舃 > xì; #8203 舄 > xì; #8204 舅 > jìu; #8205 舆 > yú; #8206 與 > yÅ­; #8207 興 > xÄ«ng; #8208 舉 > jÅ­; #8209 舊 > jìu; #820A 舋 > xìn; #820B 舌 > shé; #820C èˆ > shè; #820D èˆ > jÄ­u; #820F èˆ > shì; #8210 舑 > tÄn; #8211 舒 > shÅ«; #8212 舓 > shì; #8213 舔 > tiăn; #8214 舕 > dàn; #8215 舖 > pù; #8216 舗 > pù; #8217 舘 > guăn; #8218 舙 > huà; #8219 舚 > tÄn; #821A 舛 > chuăn; #821B 舜 > shùn; #821C èˆ > xiá; #821D 舞 > wÅ­; #821E 舟 > zhÅu; #821F 舠 > dÄo; #8220 舡 > gÄng; #8221 舢 > shÄn; #8222 舣 > yÄ­; #8223 舥 > pÄ; #8225 舦 > tài; #8226 舧 > fán; #8227 舨 > băn; #8228 舩 > chuán; #8229 航 > háng; #822A 舫 > făng; #822B 般 > bÄn; #822C 舭 > què; #822D 舯 > zhÅng; #822F 舰 > jiàn; #8230 舱 > cÄng; #8231 舲 > líng; #8232 舳 > zhú; #8233 舴 > zé; #8234 舵 > dùo; #8235 舶 > bó; #8236 舷 > xián; #8237 舸 > gÄ•; #8238 船 > chuán; #8239 舺 > jiá; #823A 舻 > lÅ­; #823B 舼 > hóng; #823C 舽 > páng; #823D 舾 > xÄ«; #823E 艀 > fú; #8240 è‰ > zào; #8241 艂 > féng; #8242 艃 > lí; #8243 艄 > shÄo; #8244 艅 > yú; #8245 艆 > láng; #8246 艇 > tÄ­ng; #8247 艉 > wÄ•i; #8249 艊 > bó; #824A 艋 > mÄ•ng; #824B 艌 > niàn; #824C è‰ > jÅ«; #824D 艎 > huáng; #824E è‰ > shÅu; #824F è‰ > zÅng; #8250 艑 > biàn; #8251 艒 > mào; #8252 艓 > dié; #8253 艕 > bàng; #8255 艖 > chÄ; #8256 艗 > yì; #8257 艘 > sÄo; #8258 艙 > cÄng; #8259 艚 > cáo; #825A 艛 > lóu; #825B 艜 > dài; #825C 艞 > yào; #825E 艟 > tóng; #825F 艡 > dÄng; #8261 艢 > tán; #8262 艣 > lÅ­; #8263 艤 > yÄ­; #8264 艥 > jiè; #8265 艦 > jiàn; #8266 艧 > hùo; #8267 艨 > méng; #8268 艩 > qí; #8269 艪 > lÅ­; #826A 艫 > lú; #826B 艬 > chán; #826C 艭 > shuÄng; #826D 艮 > gèn; #826E 良 > liáng; #826F 艰 > jiÄn; #8270 艱 > jiÄn; #8271 色 > sè; #8272 艳 > yàn; #8273 艴 > fú; #8274 艵 > píng; #8275 艶 > yàn; #8276 艷 > yàn; #8277 艸 > căo; #8278 艹 > căo' 'zì' 'tóu; #8279 艺 > yì; #827A 艻 > lè; #827B 艼 > tÄ«ng; #827C 艽 > qíu; #827D 艾 > ài; #827E 艿 > năi; #827F 芀 > tiáo; #8280 èŠ > jiÄo; #8281 节 > jié; #8282 芃 > péng; #8283 芄 > wán; #8284 芅 > yì; #8285 芆 > chÄi; #8286 芇 > mián; #8287 芈 > miÄ“; #8288 芉 > gÄn; #8289 芊 > qiÄn; #828A 芋 > yù; #828B 芌 > yù; #828C èŠ > shùo; #828D 芎 > qÄ«ong; #828E èŠ > tÅ­; #828F èŠ > xià; #8290 芑 > qÄ­; #8291 芒 > máng; #8292 芓 > zÄ­; #8293 芔 > hÅ­i; #8294 芕 > sÅ«i; #8295 芖 > zhì; #8296 芗 > xiÄng; #8297 芘 > bÄ«; #8298 芙 > fú; #8299 芚 > tún; #829A 芛 > wÄ•i; #829B 芜 > wú; #829C èŠ > zhÄ«; #829D 芞 > qÄ­; #829E 芟 > shÄn; #829F 芠 > wén; #82A0 芡 > qiàn; #82A1 芢 > rén; #82A2 芣 > fÅu; #82A3 芤 > kÅu; #82A4 芥 > jiè; #82A5 芦 > lú; #82A6 芧 > xù; #82A7 芨 > jí; #82A8 芩 > qín; #82A9 芪 > qí; #82AA 芫 > yuán; #82AB 芬 > fÄ“n; #82AC 芭 > bÄ; #82AD 芮 > rùi; #82AE 芯 > xÄ«n; #82AF 芰 > jì; #82B0 花 > huÄ; #82B1 芲 > huÄ; #82B2 芳 > fÄng; #82B3 芴 > wù; #82B4 芵 > jué; #82B5 芶 > gÅu; #82B6 芷 > zhÄ­; #82B7 芸 > yún; #82B8 芹 > qín; #82B9 芺 > ăo; #82BA 芻 > chú; #82BB 芼 > mào; #82BC 芽 > yá; #82BD 芾 > fèi; #82BE 芿 > rèng; #82BF è‹€ > háng; #82C0 è‹ > cÅng; #82C1 è‹‚ > yín; #82C2 苃 > yÅu; #82C3 è‹„ > biàn; #82C4 è‹… > yì; #82C5 苇 > wÄ•i; #82C7 苈 > lì; #82C8 苉 > pÄ­; #82C9 苊 > è; #82CA è‹‹ > xiàn; #82CB 苌 > cháng; #82CC è‹ > cÄng; #82CD 苎 > méng; #82CE è‹ > sÅ«; #82CF è‹ > yí; #82D0 è‹‘ > yuàn; #82D1 è‹’ > răn; #82D2 è‹“ > líng; #82D3 è‹” > tái; #82D4 è‹• > tiáo; #82D5 è‹– > dÄ­; #82D6 è‹— > miáo; #82D7 苘 > qÄ­ong; #82D8 è‹™ > lì; #82D9 苚 > yòng; #82DA è‹› > kÄ“; #82DB 苜 > mù; #82DC è‹ > pèi; #82DD 苞 > bÄo; #82DE 苟 > gÅu; #82DF è‹  > mín; #82E0 è‹¡ > yÄ­; #82E1 è‹¢ > yÄ­; #82E2 è‹£ > jù; #82E3 苤 > pÄ­; #82E4 è‹¥ > rùo; #82E5 苦 > kÅ­; #82E6 è‹§ > zhù; #82E7 苨 > nÄ­; #82E8 è‹© > bó; #82E9 苪 > bÄ­ng; #82EA è‹« > shÄn; #82EB 苬 > qíu; #82EC è‹­ > yăo; #82ED è‹® > xiÄn; #82EE 苯 > bÄ•n; #82EF è‹° > hóng; #82F0 英 > yÄ«ng; #82F1 苲 > zhă; #82F2 苳 > dÅng; #82F3 è‹´ > jÅ«; #82F4 苵 > dié; #82F5 è‹¶ > nié; #82F6 è‹· > gÄn; #82F7 苸 > hÅ«; #82F8 苹 > píng; #82F9 苺 > méi; #82FA è‹» > fú; #82FB 苼 > shÄ“ng; #82FC 苽 > gÅ«; #82FD 苾 > bì; #82FE è‹¿ > wèi; #82FF 茀 > fú; #8300 èŒ > zhúo; #8301 茂 > mào; #8302 范 > fàn; #8303 茄 > qié; #8304 茅 > máo; #8305 茆 > măo; #8306 茇 > bá; #8307 茈 > zÄ­; #8308 茉 > mò; #8309 茊 > zÄ«; #830A 茋 > dÄ­; #830B 茌 > chí; #830C èŒ > jì; #830D 茎 > jÄ«ng; #830E èŒ > lóng; #830F 茑 > niăo; #8311 茓 > xué; #8313 茔 > yíng; #8314 茕 > qíong; #8315 茖 > gé; #8316 茗 > mÄ­ng; #8317 茘 > lì; #8318 茙 > róng; #8319 茚 > yìn; #831A 茛 > gèn; #831B 茜 > qiàn; #831C èŒ > chăi; #831D 茞 > chén; #831E 茟 > yù; #831F 茠 > xÄ«u; #8320 茡 > zì; #8321 茢 > liè; #8322 茣 > wú; #8323 茤 > jì; #8324 茥 > kÅ«i; #8325 茦 > cè; #8326 茧 > chóng; #8327 茨 > cí; #8328 茩 > gÅu; #8329 茪 > guÄng; #832A 茫 > máng; #832B 茬 > chí; #832C 茭 > jiÄo; #832D 茮 > jiÄo; #832E 茯 > fú; #832F 茰 > yú; #8330 茱 > zhÅ«; #8331 茲 > zÄ«; #8332 茳 > jiÄng; #8333 茴 > húi; #8334 茵 > yÄ«n; #8335 茶 > chá; #8336 茷 > fá; #8337 茸 > róng; #8338 茹 > rú; #8339 茺 > chÅng; #833A 茻 > măng; #833B 茼 > tóng; #833C 茽 > zhòng; #833D 茿 > zhú; #833F è€ > xún; #8340 è > huán; #8341 è‚ > kuÄ; #8342 èƒ > quán; #8343 è„ > gÄi; #8344 è… > dÄ; #8345 è† > jÄ«ng; #8346 è‡ > xìng; #8347 èˆ > quàn; #8348 è‰ > căo; #8349 èŠ > jÄ«ng; #834A è‹ > ér; #834B èŒ > àn; #834C è > shÅu; #834D èŽ > chí; #834E è > rÄ•n; #834F è > jiàn; #8350 è‘ > tí; #8351 è’ > huÄng; #8352 è“ > píng; #8353 è” > lì; #8354 è• > jÄ«n; #8355 è– > lăo; #8356 è— > shù; #8357 è˜ > zhuÄng; #8358 è™ > dá; #8359 èš > jiá; #835A è› > ráo; #835B èœ > bì; #835C è > zé; #835D èž > qiáo; #835E èŸ > hùi; #835F è  > qí; #8360 è¡ > dàng; #8361 è£ > róng; #8363 è¤ > hÅ«n; #8364 è¥ > yíng; #8365 è¦ > lùo; #8366 è§ > yíng; #8367 è¨ > xún; #8368 è© > jìn; #8369 èª > sÅ«n; #836A è« > yìn; #836B è¬ > măi; #836C è­ > hóng; #836D è® > zhòu; #836E è¯ > yào; #836F è° > dù; #8370 è± > wÄ•i; #8371 è² > chù; #8372 è³ > dòu; #8373 è´ > fÅ«; #8374 èµ > rÄ•n; #8375 è¶ > yín; #8376 è· > hé; #8377 è¸ > bí; #8378 è¹ > bù; #8379 èº > yún; #837A è» > dí; #837B è¼ > tú; #837C è½ > sÅ«i; #837D è¾ > sÅ«i; #837E è¿ > chéng; #837F 莀 > chén; #8380 èŽ > wú; #8381 莂 > bié; #8382 莃 > xÄ«; #8383 莄 > gÄ•ng; #8384 莅 > lì; #8385 莆 > fÅ­; #8386 莇 > zhù; #8387 莈 > mò; #8388 莉 > lì; #8389 莊 > zhuÄng; #838A 莋 > jí; #838B 莌 > dúo; #838C èŽ > qíu; #838D 莎 > shÄ; #838E èŽ > sÅ«o; #838F èŽ > chén; #8390 莑 > fÄ“ng; #8391 莒 > jÅ­; #8392 莓 > méi; #8393 莔 > méng; #8394 莕 > xìng; #8395 莖 > jÄ«ng; #8396 莗 > chÄ“; #8397 莘 > xÄ«n; #8398 莙 > jÅ«n; #8399 莚 > yán; #839A 莛 > tíng; #839B 莜 > diào; #839C èŽ > cùo; #839D 莞 > wăn; #839E 莟 > hàn; #839F 莠 > yÅu; #83A0 莡 > cùo; #83A1 莢 > jiá; #83A2 莣 > wáng; #83A3 莤 > yóu; #83A4 莥 > nÄ­u; #83A5 莦 > shÄo; #83A6 莧 > xiàn; #83A7 莨 > láng; #83A8 莩 > fú; #83A9 莪 > é; #83AA 莫 > mò; #83AB 莬 > wèn; #83AC 莭 > jié; #83AD 莮 > nán; #83AE 莯 > mù; #83AF 莰 > kăn; #83B0 莱 > lái; #83B1 莲 > lián; #83B2 莳 > shí; #83B3 莴 > wÅ; #83B4 莶 > liăn; #83B6 获 > hùo; #83B7 莸 > yóu; #83B8 莹 > yíng; #83B9 莺 > yÄ«ng; #83BA 莼 > chún; #83BC 莽 > măng; #83BD 莾 > măng; #83BE 莿 > cì; #83BF è€ > wăn; #83C0 è > jÄ«ng; #83C1 è‚ > dÄ«; #83C2 èƒ > qú; #83C3 è„ > dÅng; #83C4 è… > jiÄn; #83C5 è† > zÅu; #83C6 è‡ > gÅ«; #83C7 èˆ > lÄ; #83C8 è‰ > lù; #83C9 èŠ > jú; #83CA è‹ > wèi; #83CB èŒ > jùn; #83CC è > niè; #83CD èŽ > kÅ«n; #83CE è > hé; #83CF è > pú; #83D0 è‘ > zÄ«; #83D1 è’ > găo; #83D2 è“ > gÅ­o; #83D3 è” > fú; #83D4 è• > lún; #83D5 è– > chÄng; #83D6 è— > chóu; #83D7 è˜ > sÅng; #83D8 è™ > chúi; #83D9 èš > zhàn; #83DA è› > mén; #83DB èœ > cài; #83DC è > bá; #83DD èž > lí; #83DE èŸ > tù; #83DF è  > bÅ; #83E0 è¡ > hàn; #83E1 è¢ > bào; #83E2 è£ > qìn; #83E3 è¤ > juăn; #83E4 è¥ > xÄ«; #83E5 è¦ > qín; #83E6 è§ > dÄ­; #83E7 è¨ > jiÄ“; #83E8 è© > pú; #83E9 èª > dàng; #83EA è« > jÄ­n; #83EB è¬ > zhăo; #83EC è­ > tái; #83ED è® > gÄ“ng; #83EE è¯ > huá; #83EF è° > gÅ«; #83F0 è± > líng; #83F1 è² > fÄ“i; #83F2 è³ > jÄ«n; #83F3 è´ > Än; #83F4 èµ > wăng; #83F5 è¶ > bÄ•ng; #83F6 è· > zhÅu; #83F7 è¸ > yÄn; #83F8 è¹ > jÅ«; #83F9 èº > jiÄn; #83FA è» > lÄ­n; #83FB è¼ > tăn; #83FC è½ > shú; #83FD è¾ > tián; #83FE è¿ > dào; #83FF è€ > hÅ­; #8400 è > qí; #8401 è‚ > hé; #8402 èƒ > cùi; #8403 è„ > táo; #8404 è… > chÅ«n; #8405 è† > bÄ“i; #8406 è‡ > cháng; #8407 èˆ > huán; #8408 è‰ > féi; #8409 èŠ > lái; #840A è‹ > qÄ«; #840B èŒ > méng; #840C è > píng; #840D èŽ > wÄ“i; #840E è > dàn; #840F è > shà; #8410 è‘ > huán; #8411 è’ > yăn; #8412 è“ > yí; #8413 è” > tiáo; #8414 è• > qí; #8415 è– > wăn; #8416 è— > cè; #8417 è˜ > nài; #8418 èš > tùo; #841A è› > jÄ«u; #841B èœ > tiÄ“; #841C è > lúo; #841D è  > méng; #8420 è¤ > yíng; #8424 è¥ > yíng; #8425 è¦ > yíng; #8426 è§ > xiÄo; #8427 è¨ > sà; #8428 è© > qÄ«u; #8429 èª > kÄ“; #842A è« > xiàng; #842B è¬ > wàn; #842C è­ > yÅ­; #842D è® > yù; #842E è¯ > fù; #842F è° > liàn; #8430 è± > xuÄn; #8431 è² > yuán; #8432 è³ > nán; #8433 è´ > zé; #8434 èµ > wÅ; #8435 è¶ > chÅ­n; #8436 è· > xiÄo; #8437 è¸ > yú; #8438 è¹ > piÄn; #8439 èº > mào; #843A è» > Än; #843B è¼ > è; #843C è½ > lùo; #843D è¾ > yíng; #843E è¿ > húo; #843F è‘€ > guÄ; #8440 è‘ > jiÄng; #8441 è‘‚ > miăn; #8442 葃 > zúo; #8443 è‘„ > zùo; #8444 è‘… > jÅ«; #8445 葆 > băo; #8446 葇 > róu; #8447 葈 > xÄ­; #8448 葉 > xié; #8449 葊 > Än; #844A è‘‹ > qú; #844B 葌 > jiÄn; #844C è‘ > fú; #844D 葎 > lÇœ; #844E è‘ > jÄ«ng; #844F è‘ > pén; #8450 è‘‘ > fÄ“ng; #8451 è‘’ > hóng; #8452 è‘“ > hóng; #8453 è‘” > hóu; #8454 è‘• > yán; #8455 è‘– > tú; #8456 è‘— > zhù; #8457 葘 > zÄ«; #8458 è‘™ > xiÄng; #8459 葚 > shèn; #845A è‘› > gÄ•; #845B 葜 > jié; #845C è‘ > jìng; #845D 葞 > mÄ­; #845E 葟 > huáng; #845F è‘  > shÄ“n; #8460 è‘¡ > pú; #8461 è‘¢ > gài; #8462 è‘£ > dÅng; #8463 葤 > zhòu; #8464 è‘¥ > qián; #8465 葦 > wÄ•i; #8466 è‘§ > bó; #8467 葨 > wÄ“i; #8468 è‘© > pÄ; #8469 葪 > jì; #846A è‘« > hú; #846B 葬 > zàng; #846C è‘­ > jiÄ; #846D è‘® > duàn; #846E 葯 > yào; #846F è‘° > jùn; #8470 葱 > cÅng; #8471 葲 > quán; #8472 葳 > wÄ“i; #8473 è‘´ > xián; #8474 葵 > kúi; #8475 è‘¶ > tíng; #8476 è‘· > hÅ«n; #8477 葸 > xÄ­; #8478 葹 > shÄ«; #8479 葺 > qì; #847A è‘» > lán; #847B 葼 > zÅng; #847C 葽 > yÄo; #847D 葾 > yuÄn; #847E è‘¿ > méi; #847F è’€ > yÅ«n; #8480 è’ > shù; #8481 è’‚ > dì; #8482 è’ƒ > zhuàn; #8483 è’„ > guÄn; #8484 è’† > xuÄ“; #8486 è’‡ > chăn; #8487 è’ˆ > kăi; #8488 è’‰ > kùi; #8489 è’‹ > jiăng; #848B è’Œ > lóu; #848C è’ > wéi; #848D è’Ž > pài; #848E è’ > sÅu; #8490 è’‘ > yÄ«n; #8491 è’’ > shÄ«; #8492 è’“ > chún; #8493 è’” > shí; #8494 è’• > yÅ«n; #8495 è’– > zhÄ“n; #8496 è’— > làng; #8497 è’˜ > nú; #8498 è’™ > méng; #8499 è’š > hé; #849A è’› > quÄ“; #849B è’œ > suàn; #849C è’ > yuán; #849D è’ž > lì; #849E è’Ÿ > jÅ­; #849F è’  > xí; #84A0 è’¡ > páng; #84A1 è’¢ > chú; #84A2 è’£ > xú; #84A3 è’¤ > tú; #84A4 è’¥ > líu; #84A5 è’¦ > wò; #84A6 è’§ > zhÄ“n; #84A7 è’¨ > qiàn; #84A8 è’© > zÅ«; #84A9 è’ª > pò; #84AA è’« > cÅ«o; #84AB è’¬ > yuÄn; #84AC è’­ > chú; #84AD è’® > yù; #84AE è’¯ > kuăi; #84AF è’° > pán; #84B0 è’± > pú; #84B1 è’² > pú; #84B2 è’³ > nà; #84B3 è’´ > shùo; #84B4 è’µ > xÄ«; #84B5 è’¶ > fén; #84B6 è’· > yún; #84B7 è’¸ > zhÄ“ng; #84B8 è’¹ > jiÄn; #84B9 è’º > jí; #84BA è’» > rùo; #84BB è’¼ > cÄng; #84BC è’½ > Ä“n; #84BD è’¾ > mí; #84BE è’¿ > hÄo; #84BF è“€ > sÅ«n; #84C0 è“ > zhÄ“n; #84C1 è“‚ > míng; #84C2 蓃 > sou; #84C3 è“„ > xù; #84C4 è“… > líu; #84C5 蓆 > xí; #84C6 蓇 > gÅ­; #84C7 蓈 > láng; #84C8 蓉 > róng; #84C9 蓊 > wÄ•ng; #84CA è“‹ > gài; #84CB 蓌 > cùo; #84CC è“ > shÄ«; #84CD 蓎 > táng; #84CE è“ > lÅ­o; #84CF è“ > rù; #84D0 è“‘ > sÅ«o; #84D1 è“’ > xiÄn; #84D2 è““ > bèi; #84D3 è“” > yăo; #84D4 è“• > gùi; #84D5 è“– > bÄ«; #84D6 è“— > zÅng; #84D7 蓘 > gÅ­n; #84D8 蓚 > xÄ«u; #84DA è“› > cè; #84DB è“ > lán; #84DD 蓟 > jì; #84DF è“  > lí; #84E0 è“¡ > cÄn; #84E1 è“¢ > láng; #84E2 è“£ > yù; #84E3 è“¥ > yìng; #84E5 蓦 > mò; #84E6 è“§ > diào; #84E7 蓨 > tiÄo; #84E8 è“© > mào; #84E9 蓪 > tÅng; #84EA è“« > zhú; #84EB 蓬 > péng; #84EC è“­ > Än; #84ED è“® > lián; #84EE 蓯 > cÅng; #84EF è“° > xÄ­; #84F0 蓱 > píng; #84F1 蓲 > qÄ«u; #84F2 蓳 > jìn; #84F3 è“´ > chún; #84F4 蓵 > jié; #84F5 è“¶ > wÄ•i; #84F6 è“· > tÅ«i; #84F7 蓸 > cáo; #84F8 蓹 > yÅ­; #84F9 蓺 > yì; #84FA è“» > jí; #84FB 蓼 > liăo; #84FC 蓽 > bì; #84FD 蓾 > lÅ­; #84FE è“¿ > sù; #84FF 蔀 > bù; #8500 è” > zhÄng; #8501 蔂 > lúo; #8502 蔃 > jiàng; #8503 蔄 > màn; #8504 è”… > yán; #8505 蔆 > líng; #8506 蔇 > jì; #8507 蔈 > piăo; #8508 蔉 > gÅ­n; #8509 蔊 > hăn; #850A 蔋 > dí; #850B 蔌 > sù; #850C è” > lù; #850D 蔎 > shè; #850E è” > shÄng; #850F è” > dí; #8510 蔑 > miè; #8511 è”’ > xÅ«n; #8512 蔓 > màn; #8513 è”” > bó; #8514 蔕 > dì; #8515 è”– > cúo; #8516 è”— > zhè; #8517 蔘 > sÄ“n; #8518 è”™ > xuàn; #8519 蔚 > wèi; #851A è”› > hú; #851B 蔜 > áo; #851C è” > mÄ­; #851D 蔞 > lóu; #851E 蔟 > cù; #851F è”  > zhÅng; #8520 蔡 > cài; #8521 蔢 > pó; #8522 蔣 > jiăng; #8523 蔤 > mì; #8524 蔥 > cÅng; #8525 蔦 > niăo; #8526 è”§ > hùi; #8527 蔨 > jùn; #8528 蔩 > yín; #8529 蔪 > jiàn; #852A 蔫 > yÄn; #852B 蔬 > shÅ«; #852C è”­ > yìn; #852D è”® > kùi; #852E 蔯 > chén; #852F è”° > hù; #8530 è”± > shÄ; #8531 蔲 > kòu; #8532 蔳 > qiàn; #8533 è”´ > má; #8534 蔵 > zÄng; #8535 è”· > qiáng; #8537 蔸 > dÅu; #8538 蔹 > liàn; #8539 蔺 > lìn; #853A è”» > kòu; #853B 蔼 > ăi; #853C 蔽 > bì; #853D 蔾 > lí; #853E 蔿 > wéi; #853F è•€ > jí; #8540 è• > xún; #8541 è•‚ > shèng; #8542 蕃 > fán; #8543 è•„ > méng; #8544 è•… > Åu; #8545 蕆 > chăn; #8546 蕇 > diăn; #8547 蕈 > xùn; #8548 蕉 > jiÄo; #8549 蕊 > rÅ­i; #854A è•‹ > rÅ­i; #854B 蕌 > lÄ•i; #854C è• > yú; #854D 蕎 > qiáo; #854E è• > chú; #854F è• > huá; #8550 è•‘ > jiÄn; #8551 è•’ > măi; #8552 è•“ > yún; #8553 è•” > bÄo; #8554 è•• > yóu; #8555 è•– > qú; #8556 è•— > lù; #8557 蕘 > ráo; #8558 è•™ > hùi; #8559 蕚 > è; #855A è•› > téng; #855B 蕜 > fÄ•i; #855C è• > jué; #855D 蕞 > zùi; #855E 蕟 > fà; #855F è•  > rú; #8560 è•¡ > fén; #8561 è•¢ > kùi; #8562 è•£ > shùn; #8563 蕤 > rúi; #8564 è•¥ > yă; #8565 蕦 > xÅ«; #8566 è•§ > fù; #8567 蕨 > jué; #8568 è•© > dàng; #8569 蕪 > wú; #856A è•« > tóng; #856B 蕬 > sÄ«; #856C è•­ > xiÄo; #856D è•® > xì; #856E 蕯 > lóng; #856F è•° > yùn; #8570 蕲 > qí; #8572 蕳 > jiÄn; #8573 è•´ > yùn; #8574 蕵 > sÅ«n; #8575 è•¶ > líng; #8576 è•· > yù; #8577 蕸 > xiá; #8578 蕹 > yÅng; #8579 蕺 > jí; #857A è•» > hòng; #857B 蕼 > sì; #857C 蕽 > nóng; #857D 蕾 > lÄ•i; #857E è•¿ > xuÄn; #857F è–€ > yùn; #8580 è– > yù; #8581 è–‚ > xí; #8582 è–ƒ > hào; #8583 è–„ > bó; #8584 è–… > hÄo; #8585 è–† > ài; #8586 è–‡ > wéi; #8587 è–ˆ > hùi; #8588 è–‰ > wèi; #8589 è–Š > jì; #858A è–‹ > cÄ«; #858B è–Œ > xiÄng; #858C è– > luàn; #858D è–Ž > miè; #858E è– > yì; #858F è– > léng; #8590 è–‘ > jiÄng; #8591 è–’ > càn; #8592 è–“ > shÄ“n; #8593 è–” > qiáng; #8594 è–• > lián; #8595 è–– > kÄ“; #8596 è–— > yuán; #8597 è–˜ > dá; #8598 è–™ > tì; #8599 è–š > táng; #859A è–› > xiÄ“; #859B è–œ > bì; #859C è– > zhán; #859D è–ž > sÅ«n; #859E è–Ÿ > liăn; #859F è–  > fán; #85A0 è–¡ > dÄ­ng; #85A1 è–¢ > jiÄ“; #85A2 è–£ > gÅ­; #85A3 è–¤ > xiè; #85A4 è–¥ > shÅ­; #85A5 è–¦ > jiàn; #85A6 è–§ > kăo; #85A7 è–¨ > hÅng; #85A8 è–© > sà; #85A9 è–ª > xÄ«n; #85AA è–« > xÅ«n; #85AB è–¬ > yào; #85AC è–® > sÅu; #85AE è–¯ > shÅ­; #85AF è–° > xÅ«n; #85B0 è–± > dùi; #85B1 è–² > pín; #85B2 è–³ > wÄ•i; #85B3 è–´ > néng; #85B4 è–µ > chóu; #85B5 è–¶ > mái; #85B6 è–· > rú; #85B7 è–¸ > piÄo; #85B8 è–¹ > tái; #85B9 è–º > qí; #85BA è–» > zăo; #85BB è–¼ > chén; #85BC è–½ > zhÄ“n; #85BD è–¾ > Ä•r; #85BE è–¿ > nÄ­; #85BF è—€ > yíng; #85C0 è— > găo; #85C1 è—‚ > còng; #85C2 è—ƒ > xiÄo; #85C3 è—„ > qí; #85C4 è—… > fá; #85C5 è—† > jiăn; #85C6 è—‡ > xù; #85C7 è—ˆ > kÅ«i; #85C8 è—‰ > jiè; #85C9 è—Š > biăn; #85CA è—‹ > diào; #85CB è—Œ > mì; #85CC è— > lán; #85CD è—Ž > jìn; #85CE è— > cáng; #85CF è— > miăo; #85D0 è—‘ > qíong; #85D1 è—’ > qiè; #85D2 è—“ > xiăn; #85D3 è—• > Åu; #85D5 è—– > xián; #85D6 è—— > sù; #85D7 è—˜ > lǘ; #85D8 è—™ > yì; #85D9 è—š > xù; #85DA è—› > xiÄ•; #85DB è—œ > lí; #85DC è— > yì; #85DD è—ž > lă; #85DE è—Ÿ > lÄ•i; #85DF è—  > xiào; #85E0 è—¡ > dí; #85E1 è—¢ > zhÄ­; #85E2 è—£ > bÄ“i; #85E3 è—¤ > téng; #85E4 è—¥ > yào; #85E5 è—¦ > mò; #85E6 è—§ > huăn; #85E7 è—¨ > piăo; #85E8 è—© > fán; #85E9 è—ª > sÅu; #85EA è—« > tán; #85EB è—¬ > tÅ«i; #85EC è—­ > qíong; #85ED è—® > qiáo; #85EE è—¯ > wèi; #85EF è—° > líu; #85F0 è—± > hùi; #85F1 è—³ > găo; #85F3 è—´ > yùn; #85F4 è—¶ > lì; #85F6 è—· > shÅ­; #85F7 è—¸ > chú; #85F8 è—¹ > ăi; #85F9 è—º > lìn; #85FA è—» > zăo; #85FB è—¼ > xuÄn; #85FC è—½ > chèn; #85FD è—¾ > lài; #85FE è—¿ > hùo; #85FF 蘀 > tùo; #8600 è˜ > wù; #8601 蘂 > rÅ­i; #8602 蘃 > rÅ­i; #8603 蘄 > qí; #8604 蘅 > héng; #8605 蘆 > lú; #8606 蘇 > sÅ«; #8607 蘈 > túi; #8608 蘉 > máng; #8609 蘊 > yùn; #860A 蘋 > pín; #860B 蘌 > yÅ­; #860C è˜ > xÅ«n; #860D 蘎 > jì; #860E è˜ > jÄ«ong; #860F è˜ > xiÄn; #8610 蘑 > mó; #8611 蘓 > sÅ«; #8613 蘔 > jÄ«ong; #8614 蘖 > niè; #8616 蘗 > bò; #8617 蘘 > ráng; #8618 蘙 > yì; #8619 蘚 > xiăn; #861A 蘛 > yú; #861B 蘜 > jú; #861C è˜ > liàn; #861D 蘞 > liàn; #861E 蘟 > yÄ­n; #861F 蘠 > qiáng; #8620 蘡 > yÄ«ng; #8621 蘢 > lóng; #8622 蘣 > tòng; #8623 蘤 > wÄ•i; #8624 蘥 > yuè; #8625 蘦 > líng; #8626 蘧 > qú; #8627 蘨 > yáo; #8628 蘩 > fán; #8629 蘪 > mí; #862A 蘫 > lán; #862B 蘬 > kÅ«i; #862C 蘭 > lán; #862D 蘮 > jì; #862E 蘯 > dàng; #862F 蘱 > lèi; #8631 蘲 > léi; #8632 蘳 > huă; #8633 蘴 > fÄ“ng; #8634 蘵 > zhí; #8635 蘶 > wèi; #8636 蘷 > kúi; #8637 蘸 > zhàn; #8638 蘹 > huài; #8639 蘺 > lí; #863A 蘻 > jì; #863B 蘼 > mí; #863C 蘽 > lÄ•i; #863D 蘾 > huài; #863E 蘿 > lúo; #863F 虀 > jÄ«; #8640 è™ > kúi; #8641 虂 > lù; #8642 虃 > jiÄn; #8643 虆 > léi; #8646 虇 > quăn; #8647 虈 > xiÄo; #8648 虉 > yì; #8649 虊 > luán; #864A 虋 > mén; #864B 虌 > biÄ“; #864C è™ > hÅ«; #864D 虎 > hÅ­; #864E è™ > lÅ­; #864F è™ > nÇœe; #8650 虑 > lÇœ; #8651 è™’ > sÄ«; #8652 虓 > xiÄo; #8653 è™” > qián; #8654 處 > chù; #8655 è™– > hÅ«; #8656 è™— > xÅ«; #8657 虘 > cúo; #8658 è™™ > fú; #8659 虚 > xÅ«; #865A è™› > xÅ«; #865B 虜 > lÅ­; #865C è™ > hÅ­; #865D 虞 > yú; #865E 號 > hào; #865F è™  > jiăo; #8660 虡 > jù; #8661 虢 > gúo; #8662 虣 > bào; #8663 虤 > yán; #8664 虥 > zhàn; #8665 虦 > zhàn; #8666 è™§ > kÅ«i; #8667 虨 > bÄn; #8668 虩 > xì; #8669 虪 > shú; #866A 虫 > chóng; #866B 虬 > qíu; #866C è™­ > diÄo; #866D è™® > jÄ«; #866E 虯 > qíu; #866F è™° > chéng; #8670 è™± > shÄ«; #8671 虳 > dì; #8673 è™´ > zhé; #8674 虵 > shé; #8675 è™¶ > yÅ«; #8676 è™· > gÄn; #8677 虸 > zÄ­; #8678 虹 > hóng; #8679 虺 > hÅ­i; #867A è™» > méng; #867B 虼 > gè; #867C 虽 > sÅ«i; #867D 虾 > xiÄ; #867E 虿 > chài; #867F 蚀 > shí; #8680 èš > yÄ­; #8681 èš‚ > mă; #8682 蚃 > xiàng; #8683 èš„ > fÄng; #8684 èš… > è; #8685 蚆 > pÄ; #8686 蚇 > chÄ­; #8687 蚈 > qiÄn; #8688 蚉 > wén; #8689 蚊 > wén; #868A èš‹ > rùi; #868B 蚌 > bàng; #868C èš > bÄ­; #868D 蚎 > yuè; #868E èš > yuè; #868F èš > jÅ«n; #8690 èš‘ > qí; #8691 èš’ > rán; #8692 èš“ > yÄ­n; #8693 èš” > qí; #8694 èš• > tiăn; #8695 èš– > yuán; #8696 èš— > jué; #8697 蚘 > húi; #8698 èš™ > qín; #8699 èšš > qí; #869A èš› > zhòng; #869B èšœ > yá; #869C èš > cì; #869D èšž > mù; #869E 蚟 > wáng; #869F èš  > fén; #86A0 èš¡ > fén; #86A1 蚢 > háng; #86A2 蚣 > gÅng; #86A3 蚤 > zăo; #86A4 蚥 > fÅ­; #86A5 蚦 > rán; #86A6 èš§ > jiè; #86A7 蚨 > fú; #86A8 èš© > chÄ«; #86A9 蚪 > dÅu; #86AA èš« > piáo; #86AB 蚬 > xiàn; #86AC èš­ > ní; #86AD èš® > tè; #86AE 蚯 > qÄ«u; #86AF èš° > yóu; #86B0 èš± > zhà; #86B1 èš² > píng; #86B2 èš³ > chí; #86B3 èš´ > yÅu; #86B4 èšµ > hé; #86B5 èš¶ > hÄn; #86B6 èš· > jù; #86B7 蚸 > lì; #86B8 èš¹ > fù; #86B9 蚺 > rán; #86BA èš» > zhá; #86BB èš¼ > gÅu; #86BC èš½ > pí; #86BD èš¾ > bÅ; #86BE èš¿ > xián; #86BF 蛀 > zhù; #86C0 è› > diÄo; #86C1 蛂 > biÄ•; #86C2 蛃 > bÄ­ng; #86C3 蛄 > gÅ«; #86C4 è›… > rán; #86C5 蛆 > qÅ«; #86C6 蛇 > shé; #86C7 蛈 > tiè; #86C8 蛉 > líng; #86C9 蛊 > gÅ­; #86CA 蛋 > dàn; #86CB 蛌 > gÅ­; #86CC è› > yíng; #86CD 蛎 > lì; #86CE è› > chÄ“ng; #86CF è› > qÅ«; #86D0 蛑 > móu; #86D1 è›’ > gé; #86D2 蛓 > cì; #86D3 è›” > húi; #86D4 蛕 > húi; #86D5 è›– > máng; #86D6 è›— > fù; #86D7 蛘 > yáng; #86D8 è›™ > wÄ; #86D9 蛚 > liè; #86DA è›› > zhÅ«; #86DB 蛜 > yÄ«; #86DC è› > xián; #86DD 蛞 > kùo; #86DE 蛟 > jiÄo; #86DF è›  > lì; #86E0 蛡 > yì; #86E1 蛢 > píng; #86E2 蛣 > jÄ«; #86E3 蛤 > há; #86E4 蛥 > shé; #86E5 蛦 > yí; #86E6 è›§ > wăng; #86E7 蛨 > mò; #86E8 蛩 > qíong; #86E9 蛪 > qiè; #86EA 蛫 > gÅ­i; #86EB 蛬 > gÅng; #86EC è›­ > zhì; #86ED è›® > mán; #86EE è›° > zhí; #86F0 è›± > jiá; #86F1 蛲 > ráo; #86F2 蛳 > sÄ«; #86F3 è›´ > qí; #86F4 蛵 > xÄ«ng; #86F5 è›¶ > liè; #86F6 è›· > qíu; #86F7 蛸 > shÄo; #86F8 蛹 > yÅng; #86F9 蛺 > jiá; #86FA è›» > shùi; #86FB 蛼 > chÄ“; #86FC 蛽 > bài; #86FD 蛾 > é; #86FE 蛿 > hàn; #86FF 蜀 > shÅ­; #8700 èœ > xuán; #8701 蜂 > fÄ“ng; #8702 蜃 > shèn; #8703 蜄 > zhèn; #8704 蜅 > fÅ­; #8705 蜆 > xiàn; #8706 蜇 > zhé; #8707 蜈 > wú; #8708 蜉 > fú; #8709 蜊 > lí; #870A 蜋 > láng; #870B 蜌 > bì; #870C èœ > chú; #870D 蜎 > yuÄn; #870E èœ > yÅu; #870F èœ > jié; #8710 蜑 > dàn; #8711 蜒 > yán; #8712 蜓 > tíng; #8713 蜔 > diàn; #8714 蜕 > shùi; #8715 蜖 > húi; #8716 蜗 > guÄ; #8717 蜘 > zhÄ«; #8718 蜙 > sÅng; #8719 蜚 > fÄ“i; #871A 蜛 > jÅ«; #871B 蜜 > mì; #871C èœ > qí; #871D 蜞 > qí; #871E 蜟 > yù; #871F 蜠 > jÅ­n; #8720 蜡 > zhà; #8721 蜢 > mÄ•ng; #8722 蜣 > qiÄng; #8723 蜤 > sÄ«; #8724 蜥 > xÄ«; #8725 蜦 > lún; #8726 蜧 > lì; #8727 蜨 > dié; #8728 蜩 > tiáo; #8729 蜪 > tÄo; #872A 蜫 > kÅ«n; #872B 蜬 > gÄn; #872C 蜭 > hàn; #872D 蜮 > yù; #872E 蜯 > bàng; #872F 蜰 > féi; #8730 蜱 > pí; #8731 蜲 > wÄ•i; #8732 蜳 > dÅ«n; #8733 蜴 > yì; #8734 蜵 > yuÄn; #8735 蜶 > sù; #8736 蜷 > quán; #8737 蜸 > qiăn; #8738 蜹 > rùi; #8739 蜺 > ní; #873A 蜻 > qÄ«ng; #873B 蜼 > wèi; #873C 蜽 > liăng; #873D 蜾 > gÅ­o; #873E 蜿 > wÄn; #873F è€ > dÅng; #8740 è > è; #8741 è‚ > băn; #8742 èƒ > dì; #8743 è„ > wăng; #8744 è… > cán; #8745 è† > yăng; #8746 è‡ > yíng; #8747 èˆ > gÅ«o; #8748 è‰ > chán; #8749 è‹ > là; #874B èŒ > kÄ“; #874C è > jí; #874D èŽ > hé; #874E è > tíng; #874F è > mài; #8750 è‘ > xÅ«; #8751 è’ > mián; #8752 è“ > yú; #8753 è” > jiÄ“; #8754 è• > shí; #8755 è– > xuÄn; #8756 è— > huáng; #8757 è˜ > yăn; #8758 è™ > biÄn; #8759 èš > róu; #875A è› > wÄ“i; #875B èœ > fù; #875C è > yuán; #875D èž > mèi; #875E èŸ > wèi; #875F è  > fú; #8760 è¡ > ruăn; #8761 è¢ > xié; #8762 è£ > yóu; #8763 è¤ > qíu; #8764 è¥ > máo; #8765 è¦ > xiÄ; #8766 è§ > yÄ«ng; #8767 è¨ > shÄ«; #8768 è© > chóng; #8769 èª > tÄng; #876A è« > zhÅ«; #876B è¬ > zÅng; #876C è­ > tí; #876D è® > fù; #876E è¯ > yuán; #876F è° > hÅ­i; #8770 è± > méng; #8771 è² > là; #8772 è³ > dú; #8773 è´ > hú; #8774 èµ > qÄ«u; #8775 è¶ > dié; #8776 è· > lì; #8777 è¸ > guÄ; #8778 è¹ > yÅ«n; #8779 èº > jÅ­; #877A è» > năn; #877B è¼ > lóu; #877C è½ > qÅ­n; #877D è¾ > róng; #877E è¿ > yíng; #877F 螀 > jiÄng; #8780 èž‚ > láng; #8782 螃 > páng; #8783 èž„ > sÄ«; #8784 èž… > xÄ«; #8785 螆 > cì; #8786 螇 > xÄ«; #8787 螈 > yuán; #8788 螉 > wÄ“ng; #8789 螊 > lián; #878A èž‹ > sÅu; #878B 螌 > bÄn; #878C èž > róng; #878D 螎 > róng; #878E èž > jí; #878F èž > wÅ«; #8790 èž‘ > qìu; #8791 èž’ > hàn; #8792 èž“ > qín; #8793 èž” > yí; #8794 èž• > bÄ«; #8795 èž– > huá; #8796 èž— > táng; #8797 螘 > yÄ­; #8798 èž™ > dù; #8799 èžš > nài; #879A èž› > hé; #879B èžœ > hú; #879C èž > hùi; #879D èžž > mă; #879E 螟 > míng; #879F èž  > yì; #87A0 èž¡ > wén; #87A1 螢 > yíng; #87A2 螣 > téng; #87A3 螤 > yÅ­; #87A4 螥 > cÄng; #87A5 螨 > măn; #87A8 螪 > shÄng; #87AA èž« > zhÄ“; #87AB 螬 > cáo; #87AC èž­ > chÄ«; #87AD èž® > dì; #87AE 螯 > áo; #87AF èž° > lù; #87B0 èž± > wèi; #87B1 èž² > zhì; #87B2 èž³ > táng; #87B3 èž´ > chén; #87B4 èžµ > piÄo; #87B5 èž¶ > qú; #87B6 èž· > pí; #87B7 螸 > yú; #87B8 èž¹ > jiàn; #87B9 螺 > lúo; #87BA èž» > lóu; #87BB èž¼ > qÄ­n; #87BC èž½ > zhÅng; #87BD èž¾ > yÄ­n; #87BE èž¿ > jiÄng; #87BF 蟀 > shuài; #87C0 èŸ > wén; #87C1 蟂 > jiÄo; #87C2 蟃 > wàn; #87C3 蟄 > zhí; #87C4 蟅 > zhè; #87C5 蟆 > má; #87C6 蟇 > má; #87C7 蟈 > gÅ«o; #87C8 蟉 > líu; #87C9 蟊 > máo; #87CA 蟋 > xÄ«; #87CB 蟌 > cÅng; #87CC èŸ > lí; #87CD 蟎 > măn; #87CE èŸ > xiÄo; #87CF 蟑 > zhÄng; #87D1 蟒 > măng; #87D2 蟓 > xiàng; #87D3 蟔 > mò; #87D4 蟕 > zÅ«i; #87D5 蟖 > sÄ«; #87D6 蟗 > qÄ«u; #87D7 蟘 > tè; #87D8 蟙 > zhí; #87D9 蟚 > péng; #87DA 蟛 > péng; #87DB 蟜 > jiăo; #87DC èŸ > qú; #87DD 蟞 > bié; #87DE 蟟 > liáo; #87DF 蟠 > pán; #87E0 蟡 > gÅ­i; #87E1 蟢 > xÄ­; #87E2 蟣 > jÄ­; #87E3 蟤 > zhuÄn; #87E4 蟥 > huáng; #87E5 蟦 > fèi; #87E6 蟧 > láo; #87E7 蟨 > jué; #87E8 蟩 > jué; #87E9 蟪 > hùi; #87EA 蟫 > yín; #87EB 蟬 > chán; #87EC 蟭 > jiÄo; #87ED 蟮 > shàn; #87EE 蟯 > ráo; #87EF 蟰 > xiÄo; #87F0 蟱 > móu; #87F1 蟲 > chóng; #87F2 蟳 > xún; #87F3 蟴 > sÄ«; #87F4 蟶 > chÄ“ng; #87F6 蟷 > dÄng; #87F7 蟸 > lÄ­; #87F8 蟹 > xiè; #87F9 蟺 > shàn; #87FA 蟻 > yÄ­; #87FB 蟼 > jÄ­ng; #87FC 蟽 > dá; #87FD 蟾 > chán; #87FE 蟿 > qì; #87FF è € > cÄ«; #8800 è  > xiàng; #8801 è ‚ > shè; #8802 è ƒ > lÅ­o; #8803 è „ > qín; #8804 è … > yíng; #8805 è † > chài; #8806 è ‡ > lì; #8807 è ˆ > zé; #8808 è ‰ > xuÄn; #8809 è Š > lián; #880A è ‹ > zhú; #880B è Œ > zé; #880C è  > xiÄ“; #880D è Ž > măng; #880E è  > xiè; #880F è  > qí; #8810 è ‘ > róng; #8811 è ’ > jiăn; #8812 è “ > mÄ•ng; #8813 è ” > háo; #8814 è • > ruăn; #8815 è – > hùo; #8816 è — > zhúo; #8817 è ˜ > jié; #8818 è ™ > bÄ«n; #8819 è š > hè; #881A è › > miè; #881B è œ > fán; #881C è  > léi; #881D è ž > jié; #881E è Ÿ > là; #881F è   > mì; #8820 è ¡ > lÄ­; #8821 è ¢ > chÅ­n; #8822 è £ > lì; #8823 è ¤ > qÄ«u; #8824 è ¥ > niè; #8825 è ¦ > lú; #8826 è § > dù; #8827 è ¨ > xiÄo; #8828 è © > zhÅ«; #8829 è ª > lóng; #882A è « > lì; #882B è ¬ > lóng; #882C è ­ > fÄ“ng; #882D è ® > yÄ“; #882E è ¯ > bèng; #882F è ° > shàng; #8830 è ± > gÅ­; #8831 è ² > juÄn; #8832 è ³ > yÄ«ng; #8833 è µ > xÄ«; #8835 è ¶ > cán; #8836 è · > qú; #8837 è ¸ > quán; #8838 è ¹ > dù; #8839 è º > cán; #883A è » > mán; #883B è ¼ > jué; #883C è ½ > jié; #883D è ¾ > zhú; #883E è ¿ > zhá; #883F è¡€ > xiÄ•; #8840 è¡ > huÄng; #8841 è¡‚ > nìu; #8842 衃 > pÄ“i; #8843 è¡„ > nÇœ; #8844 è¡… > xìn; #8845 衆 > zhòng; #8846 衇 > mò; #8847 衈 > èr; #8848 衉 > kè; #8849 衊 > miè; #884A è¡‹ > xì; #884B 行 > xíng; #884C è¡ > yăn; #884D 衎 > kàn; #884E è¡ > yuàn; #884F è¡‘ > líng; #8851 è¡’ > xuàn; #8852 è¡“ > shù; #8853 è¡” > xián; #8854 è¡• > tòng; #8855 è¡– > lòng; #8856 è¡— > jiÄ“; #8857 衘 > xián; #8858 è¡™ > yá; #8859 衚 > hú; #885A è¡› > wèi; #885B 衜 > dào; #885C è¡ > chÅng; #885D 衞 > wèi; #885E 衟 > dào; #885F è¡  > zhÅ«n; #8860 è¡¡ > héng; #8861 è¡¢ > qú; #8862 è¡£ > yÄ«; #8863 衤 > yÄ«' 'zì' 'páng; #8864 è¡¥ > bÅ­; #8865 衦 > găn; #8866 è¡§ > yú; #8867 表 > biăo; #8868 è¡© > chà; #8869 衪 > yÄ­; #886A è¡« > shÄn; #886B 衬 > chèn; #886C è¡­ > fÅ«; #886D è¡® > gÅ­n; #886E 衯 > fÄ“n; #886F è¡° > shuÄi; #8870 衱 > jié; #8871 衲 > nà; #8872 衳 > zhÅng; #8873 è¡´ > dăn; #8874 衵 > rì; #8875 è¡¶ > zhòng; #8876 è¡· > zhÅng; #8877 衸 > xiè; #8878 衹 > qí; #8879 衺 > xié; #887A è¡» > rán; #887B 衼 > zhÄ«; #887C 衽 > rèn; #887D 衾 > qÄ«n; #887E è¡¿ > jÄ«n; #887F 袀 > jÅ«n; #8880 è¢ > yuán; #8881 袂 > mèi; #8882 袃 > chài; #8883 袄 > ăo; #8884 袅 > niăo; #8885 袆 > hÅ«i; #8886 袇 > rán; #8887 袈 > jiÄ; #8888 袉 > túo; #8889 袊 > lÄ­ng; #888A 袋 > dài; #888B 袌 > bào; #888C è¢ > páo; #888D 袎 > yào; #888E è¢ > zùo; #888F è¢ > bì; #8890 袑 > shào; #8891 袒 > tăn; #8892 袓 > jÅ­; #8893 袔 > hè; #8894 袕 > shù; #8895 袖 > xìu; #8896 袗 > zhÄ•n; #8897 袘 > yí; #8898 袙 > pà; #8899 袚 > bÅ; #889A 袛 > dÄ«; #889B 袜 > wà; #889C è¢ > fù; #889D 袞 > gÅ­n; #889E 袟 > zhì; #889F 袠 > zhì; #88A0 袡 > rán; #88A1 袢 > pàn; #88A2 袣 > yì; #88A3 袤 > mào; #88A4 袥 > tuo; #88A5 袦 > nà; #88A6 袧 > kÅu; #88A7 袨 > xiàn; #88A8 袩 > chÄn; #88A9 袪 > qÅ«; #88AA 被 > bèi; #88AB 袬 > gÅ­n; #88AC 袭 > xí; #88AD 袯 > bó; #88AF 袱 > fú; #88B1 袲 > yí; #88B2 袳 > chÄ­; #88B3 袴 > kù; #88B4 袵 > rèn; #88B5 袶 > jiàng; #88B6 袷 > jiá; #88B7 袸 > cún; #88B8 袹 > mò; #88B9 袺 > jié; #88BA 袻 > ér; #88BB 袼 > lùo; #88BC 袽 > rú; #88BD 袾 > zhÅ«; #88BE 袿 > gÅ«i; #88BF 裀 > yÄ«n; #88C0 è£ > cái; #88C1 裂 > liè; #88C2 装 > zhuÄng; #88C5 裆 > dÄng; #88C6 裈 > kÅ«n; #88C8 裉 > kèn; #88C9 裊 > niăo; #88CA 裋 > shù; #88CB 裌 > jiá; #88CC è£ > kÅ­n; #88CD 裎 > chéng; #88CE è£ > lÄ­; #88CF è£ > juÄn; #88D0 裑 > shÄ“n; #88D1 裒 > póu; #88D2 裓 > gé; #88D3 裔 > yì; #88D4 裕 > yù; #88D5 裖 > zhÄ•n; #88D6 裗 > líu; #88D7 裘 > qíu; #88D8 裙 > qún; #88D9 裚 > jì; #88DA 裛 > yì; #88DB 補 > bÅ­; #88DC è£ > zhuÄng; #88DD 裞 > shùi; #88DE 裟 > shÄ; #88DF 裠 > qún; #88E0 裡 > lÄ­; #88E1 裢 > lián; #88E2 裣 > liàn; #88E3 裤 > kù; #88E4 裥 > jiăn; #88E5 裦 > fóu; #88E6 裧 > chÄn; #88E7 裨 > bì; #88E8 裩 > gÅ«n; #88E9 裪 > táo; #88EA 裫 > yuàn; #88EB 裬 > líng; #88EC 裭 > chÄ­; #88ED 裮 > chÄng; #88EE 裯 > chóu; #88EF 裰 > dúo; #88F0 裱 > biăo; #88F1 裲 > liăng; #88F2 裳 > cháng; #88F3 裴 > péi; #88F4 裵 > péi; #88F5 裶 > fÄ“i; #88F6 裷 > yuÄn; #88F7 裸 > lÅ­o; #88F8 裹 > gÅ­o; #88F9 裺 > yăn; #88FA 裻 > dÅ­; #88FB 裼 > xí; #88FC 製 > zhì; #88FD 裾 > jÅ«; #88FE 裿 > qÄ­; #88FF 褀 > jì; #8900 è¤ > zhí; #8901 褂 > guà; #8902 褃 > kèn; #8903 褅 > tì; #8905 褆 > tí; #8906 複 > fù; #8907 褈 > chóng; #8908 褉 > xiÄ“; #8909 褊 > biăn; #890A 褋 > dié; #890B 褌 > kÅ«n; #890C è¤ > duÄn; #890D 褎 > xìu; #890E è¤ > xìu; #890F è¤ > hé; #8910 褑 > yuàn; #8911 褒 > bÄo; #8912 褓 > băo; #8913 褔 > fù; #8914 褕 > yú; #8915 褖 > tuàn; #8916 褗 > yăn; #8917 褘 > hÅ«i; #8918 褙 > bèi; #8919 褚 > chÅ­; #891A 褛 > lÇš; #891B 褞 > yÅ­n; #891E 褟 > dá; #891F 褠 > gÅu; #8920 褡 > dÄ; #8921 褢 > huái; #8922 褣 > róng; #8923 褤 > yuàn; #8924 褥 > rù; #8925 褦 > nài; #8926 褧 > jÄ­ong; #8927 褨 > sÅ­o; #8928 褩 > bÄn; #8929 褪 > tùn; #892A 褫 > chÄ­; #892B 褬 > săng; #892C 褭 > niăo; #892D 褮 > yÄ«ng; #892E 褯 > jiè; #892F 褰 > qiÄn; #8930 褱 > huái; #8931 褲 > kù; #8932 褳 > lián; #8933 褴 > băo; #8934 褵 > lí; #8935 褶 > zhé; #8936 褷 > shÄ«; #8937 褸 > lÇš; #8938 褹 > yì; #8939 褺 > dié; #893A 褻 > xiè; #893B 褼 > xiÄn; #893C 褽 > wèi; #893D 褾 > biăo; #893E 褿 > cáo; #893F 襀 > jÄ«; #8940 è¥ > jiăng; #8941 襂 > sÄ“n; #8942 襃 > bÄo; #8943 襄 > xiÄng; #8944 襆 > pú; #8946 襇 > jiăn; #8947 襈 > zhuàn; #8948 襉 > jiàn; #8949 襊 > zùi; #894A 襋 > jí; #894B 襌 > dÄn; #894C è¥ > zá; #894D 襎 > fán; #894E è¥ > bó; #894F è¥ > xiàng; #8950 襑 > xín; #8951 襒 > bié; #8952 襓 > ráo; #8953 襔 > măn; #8954 襕 > lán; #8955 襖 > ăo; #8956 襗 > dúo; #8957 襘 > gùi; #8958 襙 > cào; #8959 襚 > sùi; #895A 襛 > nóng; #895B 襜 > chÄn; #895C è¥ > liàn; #895D 襞 > bì; #895E 襟 > jÄ«n; #895F 襠 > dÄng; #8960 襡 > shú; #8961 襢 > tăn; #8962 襣 > bì; #8963 襤 > lán; #8964 襥 > pú; #8965 襦 > rú; #8966 襧 > zhÄ­; #8967 襩 > shÅ­; #8969 襪 > wà; #896A 襫 > shì; #896B 襬 > băi; #896C 襭 > xié; #896D 襮 > bó; #896E 襯 > chèn; #896F 襰 > lài; #8970 襱 > lóng; #8971 襲 > xí; #8972 襳 > xiÄn; #8973 襴 > lán; #8974 襵 > zhé; #8975 襶 > dài; #8976 襸 > zàn; #8978 襹 > shÄ«; #8979 襺 > jiăn; #897A 襻 > pàn; #897B 襼 > yì; #897C 襾 > yà; #897E 西 > xÄ«; #897F 覀 > xÄ«; #8980 è¦ > yào; #8981 覂 > fÄ•ng; #8982 覃 > tán; #8983 覅 > biào; #8985 覆 > fù; #8986 覇 > bà; #8987 覈 > hé; #8988 覉 > jÄ«; #8989 覊 > jÄ«; #898A 見 > jiàn; #898B 覌 > guÄn; #898C è¦ > biàn; #898D 覎 > yàn; #898E è¦ > gÅ«i; #898F è¦ > jué; #8990 覑 > piăn; #8991 覒 > máo; #8992 覓 > mì; #8993 覔 > mì; #8994 覕 > miè; #8995 視 > shì; #8996 覗 > sÄ«; #8997 覘 > zhÄn; #8998 覙 > lúo; #8999 覚 > jué; #899A 覛 > mì; #899B 覜 > tiào; #899C è¦ > lián; #899D 覞 > yào; #899E 覟 > zhì; #899F 覠 > jÅ«n; #89A0 覡 > xí; #89A1 覢 > shăn; #89A2 覣 > wÄ“i; #89A3 覤 > xì; #89A4 覥 > tiăn; #89A5 覦 > yú; #89A6 覧 > lăn; #89A7 覨 > è; #89A8 覩 > dÅ­; #89A9 親 > qÄ«n; #89AA 覫 > păng; #89AB 覬 > jì; #89AC 覭 > míng; #89AD 覮 > yíng; #89AE 覯 > gòu; #89AF 覰 > qù; #89B0 覱 > zhàn; #89B1 覲 > jÄ­n; #89B2 観 > guÄn; #89B3 覴 > dÄ“ng; #89B4 覵 > jiàn; #89B5 覶 > lúo; #89B6 覷 > qù; #89B7 覸 > jiàn; #89B8 覹 > wéi; #89B9 覺 > jué; #89BA 覻 > qù; #89BB 覼 > lúo; #89BC 覽 > lăn; #89BD 覾 > shÄ•n; #89BE 覿 > dí; #89BF è§€ > guÄn; #89C0 è§ > jiàn; #89C1 è§‚ > guÄn; #89C2 觃 > yàn; #89C3 è§„ > gÅ«i; #89C4 è§… > mì; #89C5 视 > shì; #89C6 觇 > zhÄn; #89C7 览 > lăn; #89C8 觉 > jué; #89C9 è§Š > jì; #89CA è§‹ > xí; #89CB è§Œ > dí; #89CC è§ > tiăn; #89CD è§Ž > yú; #89CE è§ > gòu; #89CF è§ > jÄ­n; #89D0 è§‘ > qù; #89D1 è§’ > jiăo; #89D2 è§“ > jÄ«u; #89D3 è§” > jÄ«n; #89D4 è§• > cÅ«; #89D5 è§– > jué; #89D6 è§— > zhì; #89D7 觘 > chào; #89D8 è§™ > jí; #89D9 è§š > gÅ«; #89DA è§› > dàn; #89DB è§œ > zÅ­i; #89DC è§ > dÄ­; #89DD è§ž > shÄng; #89DE è§Ÿ > huà; #89DF è§  > quán; #89E0 è§¡ > gé; #89E1 è§¢ > chì; #89E2 è§£ > jiÄ•; #89E3 觤 > gÅ­i; #89E4 è§¥ > gÅng; #89E5 触 > hóng; #89E6 è§§ > jiÄ•; #89E7 觨 > hùn; #89E8 è§© > qíu; #89E9 觪 > xÄ«ng; #89EA è§« > sù; #89EB 觬 > ní; #89EC è§­ > jÄ«; #89ED è§® > lù; #89EE 觯 > zhì; #89EF è§° > zhÄ; #89F0 è§± > bì; #89F1 è§² > xÄ«ng; #89F2 è§³ > hú; #89F3 è§´ > shÄng; #89F4 è§µ > gÅng; #89F5 è§¶ > zhì; #89F6 è§· > xué; #89F7 觸 > chù; #89F8 è§¹ > xÄ«; #89F9 觺 > yí; #89FA è§» > lù; #89FB è§¼ > jué; #89FC è§½ > xÄ«; #89FD è§¾ > yàn; #89FE è§¿ > xÄ«; #89FF 言 > yán; #8A00 è¨ > yán' 'zì' 'páng; #8A01 訂 > dìng; #8A02 訃 > fù; #8A03 訄 > qíu; #8A04 訅 > qíu; #8A05 訆 > jiào; #8A06 訇 > hÅng; #8A07 計 > jì; #8A08 訉 > fàn; #8A09 訊 > xùn; #8A0A 訋 > diào; #8A0B 訌 > hóng; #8A0C è¨ > chà; #8A0D 討 > tăo; #8A0E è¨ > xÅ«; #8A0F è¨ > jié; #8A10 訑 > yí; #8A11 訒 > rèn; #8A12 訓 > xùn; #8A13 訔 > yín; #8A14 訕 > shàn; #8A15 訖 > qì; #8A16 託 > tÅ«o; #8A17 記 > jì; #8A18 訙 > xùn; #8A19 訚 > yín; #8A1A 訛 > é; #8A1B 訜 > fÄ“n; #8A1C è¨ > yà; #8A1D 訞 > yÄo; #8A1E 訟 > sòng; #8A1F 訠 > shÄ•n; #8A20 訡 > yín; #8A21 訢 > xÄ«n; #8A22 訣 > jué; #8A23 訤 > xiáo; #8A24 訥 > nè; #8A25 訦 > chén; #8A26 訧 > yóu; #8A27 訨 > zhÄ­; #8A28 訩 > xÄ«ong; #8A29 訪 > făng; #8A2A 訫 > xìn; #8A2B 訬 > chÄo; #8A2C 設 > shè; #8A2D 訮 > xiÄn; #8A2E 訯 > shă; #8A2F 訰 > tún; #8A30 許 > xÅ­; #8A31 訲 > yì; #8A32 訳 > yì; #8A33 訴 > sù; #8A34 訵 > chÄ«; #8A35 訶 > hÄ“; #8A36 訷 > shÄ“n; #8A37 訸 > hé; #8A38 訹 > xù; #8A39 診 > zhÄ•n; #8A3A 註 > zhù; #8A3B 証 > zhèng; #8A3C 訽 > gòu; #8A3D 訾 > zÄ­; #8A3E 訿 > zÄ­; #8A3F è©€ > zhÄn; #8A40 è© > gÅ­; #8A41 è©‚ > fù; #8A42 詃 > quăn; #8A43 è©„ > dié; #8A44 è©… > líng; #8A45 詆 > dÄ­; #8A46 詇 > yàng; #8A47 詈 > lì; #8A48 詉 > náo; #8A49 詊 > pàn; #8A4A è©‹ > zhòu; #8A4B 詌 > gàn; #8A4C è© > yì; #8A4D 詎 > jù; #8A4E è© > ào; #8A4F è© > zhà; #8A50 è©‘ > túo; #8A51 è©’ > yí; #8A52 è©“ > qÅ­; #8A53 è©” > zhào; #8A54 è©• > píng; #8A55 è©– > bì; #8A56 è©— > xìong; #8A57 詘 > qù; #8A58 è©™ > bá; #8A59 詚 > dá; #8A5A è©› > zÅ­; #8A5B 詜 > tÄo; #8A5C è© > zhÅ­; #8A5D 詞 > cí; #8A5E 詟 > zhé; #8A5F è©  > yÅng; #8A60 è©¡ > xÅ­; #8A61 è©¢ > xún; #8A62 è©£ > yì; #8A63 詤 > huăng; #8A64 è©¥ > hé; #8A65 試 > shì; #8A66 è©§ > chá; #8A67 詨 > jiÄo; #8A68 è©© > shÄ«; #8A69 詪 > hÄ•n; #8A6A è©« > chà; #8A6B 詬 > gòu; #8A6C è©­ > gÅ­i; #8A6D è©® > quán; #8A6E 詯 > hùi; #8A6F è©° > jié; #8A70 話 > huà; #8A71 該 > gÄi; #8A72 詳 > xiáng; #8A73 è©´ > wÄ“i; #8A74 詵 > shÄ“n; #8A75 è©¶ > chóu; #8A76 è©· > tóng; #8A77 詸 > mí; #8A78 詹 > zhÄn; #8A79 詺 > mìng; #8A7A è©» > è; #8A7B 詼 > hÅ«i; #8A7C 詽 > yán; #8A7D 詾 > xÄ«ong; #8A7E è©¿ > guà; #8A7F 誀 > èr; #8A80 èª > bÄ•ng; #8A81 誂 > tiăo; #8A82 誃 > chÄ­; #8A83 誄 > lÄ•i; #8A84 誅 > zhÅ«; #8A85 誆 > kuÄng; #8A86 誇 > kuÄ; #8A87 誈 > wú; #8A88 誉 > yù; #8A89 誊 > téng; #8A8A 誋 > jì; #8A8B 誌 > zhì; #8A8C èª > rèn; #8A8D 誎 > sù; #8A8E èª > lăng; #8A8F èª > é; #8A90 誑 > kuáng; #8A91 誒 > è; #8A92 誓 > shì; #8A93 誔 > tÄ­ng; #8A94 誕 > dàn; #8A95 誖 > bó; #8A96 誗 > chán; #8A97 誘 > yòu; #8A98 誙 > héng; #8A99 誚 > qiào; #8A9A 誛 > qÄ«n; #8A9B 誜 > shuà; #8A9C èª > Än; #8A9D 語 > yÅ­; #8A9E 誟 > xiào; #8A9F 誠 > chéng; #8AA0 誡 > jiè; #8AA1 誢 > xiàn; #8AA2 誣 > wú; #8AA3 誤 > wù; #8AA4 誥 > gào; #8AA5 誦 > sòng; #8AA6 誧 > pÅ­; #8AA7 誨 > hùi; #8AA8 誩 > jìng; #8AA9 說 > shÅ«o; #8AAA 誫 > zhèn; #8AAB 説 > shÅ«o; #8AAC 読 > dú; #8AAD 誯 > chàng; #8AAF 誰 > shúi; #8AB0 誱 > jié; #8AB1 課 > kè; #8AB2 誳 > qÅ«; #8AB3 誴 > cóng; #8AB4 誵 > xiáo; #8AB5 誶 > sùi; #8AB6 誷 > wăng; #8AB7 誸 > xuán; #8AB8 誹 > fÄ•i; #8AB9 誺 > chÄ«; #8ABA 誻 > tà; #8ABB 誼 > yí; #8ABC 誽 > ná; #8ABD 誾 > yín; #8ABE 調 > diào; #8ABF è«€ > pÄ­; #8AC0 è« > chùo; #8AC1 è«‚ > chăn; #8AC2 諃 > chÄ“n; #8AC3 è«„ > zhÅ«n; #8AC4 è«… > jÄ«; #8AC5 諆 > qÄ«; #8AC6 談 > tán; #8AC7 諈 > zhùi; #8AC8 諉 > wÄ•i; #8AC9 諊 > jú; #8ACA è«‹ > qÄ­ng; #8ACB 諌 > jiàn; #8ACC è« > zhÄ“ng; #8ACD 諎 > zé; #8ACE è« > zÅu; #8ACF è« > qiÄn; #8AD0 è«‘ > zhúo; #8AD1 è«’ > liàng; #8AD2 è«“ > jiàn; #8AD3 è«” > zhù; #8AD4 è«• > háo; #8AD5 è«– > lùn; #8AD6 è«— > shÄ•n; #8AD7 諘 > biăo; #8AD8 è«™ > huài; #8AD9 諚 > pián; #8ADA è«› > yú; #8ADB 諜 > dié; #8ADC è« > xÅ­; #8ADD 諞 > pián; #8ADE 諟 > shì; #8ADF è«  > xuÄn; #8AE0 è«¡ > shì; #8AE1 è«¢ > hùn; #8AE2 è«£ > huà; #8AE3 諤 > è; #8AE4 è«¥ > zhòng; #8AE5 諦 > dì; #8AE6 è«§ > xié; #8AE7 諨 > fú; #8AE8 è«© > pÅ­; #8AE9 諪 > tíng; #8AEA è«« > jiàn; #8AEB 諬 > qÄ­; #8AEC è«­ > yù; #8AED è«® > zÄ«; #8AEE 諯 > chuán; #8AEF è«° > xÄ­; #8AF0 諱 > hùi; #8AF1 諲 > yÄ«n; #8AF2 諳 > Än; #8AF3 è«´ > xián; #8AF4 諵 > nán; #8AF5 è«¶ > chén; #8AF6 è«· > fÄ“ng; #8AF7 諸 > zhÅ«; #8AF8 諹 > yáng; #8AF9 諺 > yàn; #8AFA è«» > hÄ“ng; #8AFB 諼 > xuÄn; #8AFC 諽 > gé; #8AFD 諾 > nùo; #8AFE è«¿ > qì; #8AFF 謀 > móu; #8B00 è¬ > yè; #8B01 謂 > wèi; #8B02 謄 > téng; #8B04 謅 > zÅu; #8B05 謆 > shàn; #8B06 謇 > jiăn; #8B07 謈 > bó; #8B08 謉 > kù1; #8B09 謊 > huăng; #8B0A 謋 > hùo; #8B0B 謌 > gÄ“; #8B0C è¬ > yíng; #8B0D 謎 > mí; #8B0E è¬ > xiăo; #8B0F è¬ > mì; #8B10 謑 > xì; #8B11 謒 > qiÄng; #8B12 謓 > chÄ“n; #8B13 謔 > nÇœe; #8B14 謕 > tí; #8B15 謖 > sù; #8B16 謗 > bàng; #8B17 謘 > chí; #8B18 謙 > qiÄn; #8B19 謚 > shì; #8B1A 講 > jiăng; #8B1B 謜 > yuàn; #8B1C è¬ > xiè; #8B1D 謞 > xuè; #8B1E 謟 > tÄo; #8B1F 謠 > yáo; #8B20 謡 > yáo; #8B21 謣 > yú; #8B23 謤 > biÄo; #8B24 謥 > còng; #8B25 謦 > qìng; #8B26 謧 > lí; #8B27 謨 > mó; #8B28 謩 > mò; #8B29 謪 > shÄng; #8B2A 謫 > zhé; #8B2B 謬 > mìu; #8B2C 謭 > jiăn; #8B2D 謮 > zé; #8B2E 謯 > jiÄ“; #8B2F 謰 > lián; #8B30 謱 > lóu; #8B31 謲 > cÄn; #8B32 謳 > Åu; #8B33 謴 > guàn; #8B34 謵 > xí; #8B35 謶 > zhúo; #8B36 謷 > áo; #8B37 謸 > áo; #8B38 謹 > jÄ­n; #8B39 謺 > zhé; #8B3A 謻 > yí; #8B3B 謼 > hù; #8B3C 謽 > jiàng; #8B3D 謾 > mán; #8B3E 謿 > cháo; #8B3F è­€ > hàn; #8B40 è­ > huá; #8B41 è­‚ > chăn; #8B42 è­ƒ > xÅ«; #8B43 è­„ > zÄ“ng; #8B44 è­… > sè; #8B45 è­† > xÄ«; #8B46 è­‡ > shÄ“; #8B47 è­ˆ > dùi; #8B48 è­‰ > zhèng; #8B49 è­Š > náo; #8B4A è­‹ > lán; #8B4B è­Œ > é; #8B4C è­ > yìng; #8B4D è­Ž > jué; #8B4E è­ > jÄ«; #8B4F è­ > zÅ­n; #8B50 è­‘ > jiăo; #8B51 è­’ > bò; #8B52 è­“ > hùi; #8B53 è­” > zhuàn; #8B54 è­• > mú; #8B55 è­– > zèn; #8B56 è­— > zhá; #8B57 è­˜ > shì; #8B58 è­™ > qiáo; #8B59 è­š > tán; #8B5A è­› > zèn; #8B5B è­œ > pÅ­; #8B5C è­ > shéng; #8B5D è­ž > xuÄn; #8B5E è­Ÿ > zào; #8B5F è­  > tÄn; #8B60 è­¡ > dăng; #8B61 è­¢ > sùi; #8B62 è­£ > qiÄn; #8B63 è­¤ > jÄ«; #8B64 è­¥ > jiào; #8B65 è­¦ > jÄ­ng; #8B66 è­§ > lián; #8B67 è­¨ > nóu; #8B68 è­© > yÄ«; #8B69 è­ª > ài; #8B6A è­« > zhÄn; #8B6B è­¬ > pì; #8B6C è­­ > hÅ­i; #8B6D è­® > huà; #8B6E è­¯ > yì; #8B6F è­° > yì; #8B70 è­± > shàn; #8B71 è­² > ràng; #8B72 è­³ > nòu; #8B73 è­´ > qiăn; #8B74 è­µ > zhùi; #8B75 è­¶ > tà; #8B76 è­· > hù; #8B77 è­¸ > zhÅu; #8B78 è­¹ > háo; #8B79 è­º > yè; #8B7A è­» > yÄ«ng; #8B7B è­¼ > jiàn; #8B7C è­½ > yù; #8B7D è­¾ > jiăn; #8B7E è­¿ > hùi; #8B7F 讀 > dú; #8B80 è® > zhé; #8B81 讂 > xuàn; #8B82 讃 > zàn; #8B83 讄 > lÄ•i; #8B84 è®… > shÄ•n; #8B85 讆 > wèi; #8B86 讇 > chăn; #8B87 讈 > lì; #8B88 讉 > yí; #8B89 變 > biàn; #8B8A 讋 > zhé; #8B8B 讌 > yàn; #8B8C è® > è; #8B8D 讎 > chóu; #8B8E è® > wèi; #8B8F è® > chóu; #8B90 讑 > yào; #8B91 è®’ > chán; #8B92 讓 > ràng; #8B93 è®” > yÄ­n; #8B94 讕 > lán; #8B95 è®– > chèn; #8B96 è®— > hùo; #8B97 讘 > zhé; #8B98 è®™ > huÄn; #8B99 讚 > zàn; #8B9A è®› > yì; #8B9B 讜 > dăng; #8B9C è® > zhÄn; #8B9D 讞 > yàn; #8B9E 讟 > dú; #8B9F è®  > yán; #8BA0 计 > jì; #8BA1 订 > dìng; #8BA2 讣 > fù; #8BA3 认 > rèn; #8BA4 讥 > jÄ«; #8BA5 讦 > jié; #8BA6 è®§ > hóng; #8BA7 讨 > tăo; #8BA8 让 > ràng; #8BA9 讪 > shàn; #8BAA 讫 > qì; #8BAB 讬 > tÅ«o; #8BAC è®­ > xùn; #8BAD è®® > yì; #8BAE 讯 > xùn; #8BAF è®° > jì; #8BB0 è®± > rèn; #8BB1 讲 > jiăng; #8BB2 讳 > hùi; #8BB3 è®´ > Åu; #8BB4 讵 > jù; #8BB5 è®¶ > yà; #8BB6 è®· > nè; #8BB7 许 > xÅ­; #8BB8 讹 > é; #8BB9 论 > lùn; #8BBA è®» > xÄ«ong; #8BBB 讼 > sòng; #8BBC 讽 > fÄ“ng; #8BBD 设 > shè; #8BBE 访 > făng; #8BBF 诀 > jué; #8BC0 è¯ > zhèng; #8BC1 诂 > gÅ­; #8BC2 诃 > hÄ“; #8BC3 评 > píng; #8BC4 诅 > zÅ­; #8BC5 识 > shì; #8BC6 诇 > xìong; #8BC7 诈 > zhà; #8BC8 诉 > sù; #8BC9 诊 > zhÄ•n; #8BCA 诋 > dÄ­; #8BCB 诌 > zÅu; #8BCC è¯ > cí; #8BCD 诎 > qù; #8BCE è¯ > zhào; #8BCF è¯ > bì; #8BD0 译 > yì; #8BD1 诒 > yí; #8BD2 诓 > kuÄng; #8BD3 诔 > lÄ•i; #8BD4 试 > shì; #8BD5 诖 > guà; #8BD6 诗 > shÄ«; #8BD7 诘 > jié; #8BD8 诙 > hÅ«i; #8BD9 诚 > chéng; #8BDA 诛 > zhÅ«; #8BDB 诜 > shÄ“n; #8BDC è¯ > huà; #8BDD 诞 > dàn; #8BDE 诟 > gòu; #8BDF 诠 > quán; #8BE0 诡 > gÅ­i; #8BE1 询 > xún; #8BE2 诣 > yì; #8BE3 诤 > zhÄ“ng; #8BE4 该 > gÄi; #8BE5 详 > xiáng; #8BE6 诧 > chà; #8BE7 诨 > hùn; #8BE8 诩 > xÅ­; #8BE9 诪 > zhÅu; #8BEA 诫 > jiè; #8BEB 诬 > wú; #8BEC 语 > yÅ­; #8BED 诮 > qiào; #8BEE 误 > wù; #8BEF 诰 > gào; #8BF0 诱 > yòu; #8BF1 诲 > hùi; #8BF2 诳 > kuáng; #8BF3 说 > shÅ«o; #8BF4 诵 > sòng; #8BF5 诶 > Äi; #8BF6 请 > qÄ­ng; #8BF7 诸 > zhÅ«; #8BF8 诹 > zÅu; #8BF9 诺 > nùo; #8BFA 读 > dú; #8BFB 诼 > zhúo; #8BFC 诽 > fÄ•i; #8BFD 课 > kè; #8BFE 诿 > wÄ•i; #8BFF è°€ > yú; #8C00 è° > shúi; #8C01 è°‚ > shÄ•n; #8C02 è°ƒ > diào; #8C03 è°„ > chăn; #8C04 è°… > liàng; #8C05 è°† > zhÅ«n; #8C06 è°‡ > sùi; #8C07 è°ˆ > tán; #8C08 è°‰ > shÄ•n; #8C09 è°Š > yí; #8C0A è°‹ > móu; #8C0B è°Œ > chén; #8C0C è° > dié; #8C0D è°Ž > huăng; #8C0E è° > jiàn; #8C0F è° > xié; #8C10 è°‘ > nÇœe; #8C11 è°’ > yè; #8C12 è°“ > wèi; #8C13 è°” > è; #8C14 è°• > yù; #8C15 è°– > xuÄn; #8C16 è°— > chán; #8C17 è°˜ > zÄ«; #8C18 è°™ > Än; #8C19 è°š > yàn; #8C1A è°› > dì; #8C1B è°œ > mí; #8C1C è° > pián; #8C1D è°ž > xÅ­; #8C1E è°Ÿ > mó; #8C1F è°  > dăng; #8C20 è°¡ > sù; #8C21 è°¢ > xiè; #8C22 è°£ > yáo; #8C23 è°¤ > bàng; #8C24 è°¥ > shì; #8C25 è°¦ > qiÄn; #8C26 è°§ > mì; #8C27 è°¨ > jÄ­n; #8C28 è°© > mán; #8C29 è°ª > zhé; #8C2A è°« > jiăn; #8C2B è°¬ > mìu; #8C2C è°­ > tán; #8C2D è°® > zèn; #8C2E è°¯ > qiáo; #8C2F è°° > lán; #8C30 è°± > pÅ­; #8C31 è°² > jué; #8C32 è°³ > yàn; #8C33 è°´ > qiăn; #8C34 è°µ > zhÄn; #8C35 è°¶ > chèn; #8C36 è°· > gÅ­; #8C37 è°¸ > qiÄn; #8C38 è°¹ > hóng; #8C39 è°º > xiÄ; #8C3A è°» > jué; #8C3B è°¼ > hóng; #8C3C è°½ > hÄn; #8C3D è°¾ > hÅng; #8C3E è°¿ > xÄ«; #8C3F è±€ > xÄ«; #8C40 è± > hùo; #8C41 豂 > liáo; #8C42 豃 > hăn; #8C43 豄 > dú; #8C44 è±… > lóng; #8C45 豆 > dòu; #8C46 豇 > jiÄng; #8C47 豈 > qÄ­; #8C48 豉 > shì; #8C49 豊 > lÄ­; #8C4A 豋 > dÄ“ng; #8C4B 豌 > wÄn; #8C4C è± > bÄ«; #8C4D 豎 > shù; #8C4E è± > xiàn; #8C4F è± > fÄ“ng; #8C50 豑 > zhì; #8C51 è±’ > zhì; #8C52 豓 > yàn; #8C53 è±” > yàn; #8C54 豕 > shÄ­; #8C55 è±– > chù; #8C56 è±— > hÅ«i; #8C57 豘 > tún; #8C58 è±™ > yì; #8C59 豚 > tún; #8C5A è±› > yì; #8C5B 豜 > jiÄn; #8C5C è± > bÄ; #8C5D 豞 > hòu; #8C5E 豟 > è; #8C5F è±  > cú; #8C60 象 > xiàng; #8C61 è±¢ > huàn; #8C62 è±£ > jiÄn; #8C63 豤 > kÄ•n; #8C64 è±¥ > gÄi; #8C65 豦 > qú; #8C66 è±§ > fÅ«; #8C67 豨 > xÄ«; #8C68 豩 > bÄ«n; #8C69 豪 > háo; #8C6A 豫 > yù; #8C6B 豬 > zhÅ«; #8C6C è±­ > jiÄ; #8C6D 豯 > xÄ«; #8C6F è±° > bó; #8C70 è±± > wÄ“n; #8C71 è±² > huán; #8C72 è±³ > bÄ«n; #8C73 è±´ > dí; #8C74 è±µ > zÅng; #8C75 è±¶ > fén; #8C76 è±· > yì; #8C77 豸 > zhì; #8C78 è±¹ > bào; #8C79 豺 > chái; #8C7A è±» > hàn; #8C7B è±¼ > pí; #8C7C è±½ > nà; #8C7D è±¾ > pÄ«; #8C7E 豿 > gÅu; #8C7F è²€ > nà; #8C80 è² > yòu; #8C81 貂 > diÄo; #8C82 貃 > mò; #8C83 貄 > sì; #8C84 è²… > xÄ«u; #8C85 貆 > huán; #8C86 貇 > kÅ«n; #8C87 貈 > hé; #8C88 貉 > hé; #8C89 貊 > mò; #8C8A 貋 > hàn; #8C8B 貌 > mào; #8C8C è² > lí; #8C8D 貎 > ní; #8C8E è² > bÄ­; #8C8F è² > yÅ­; #8C90 貑 > jiÄ; #8C91 è²’ > tuÄn; #8C92 貓 > mÄo; #8C93 è²” > pí; #8C94 貕 > xÄ«; #8C95 è²– > è; #8C96 è²— > jù; #8C97 貘 > mò; #8C98 è²™ > chÅ«; #8C99 貚 > tán; #8C9A è²› > huÄn; #8C9B 貜 > jué; #8C9C è² > bèi; #8C9D 貞 > zhÄ“n; #8C9E 貟 > yuán; #8C9F è²  > fù; #8CA0 財 > cái; #8CA1 è²¢ > gòng; #8CA2 è²£ > tè; #8CA3 貤 > yí; #8CA4 è²¥ > háng; #8CA5 貦 > wàn; #8CA6 è²§ > pín; #8CA7 貨 > hùo; #8CA8 販 > fàn; #8CA9 貪 > tÄn; #8CAA 貫 > guàn; #8CAB 責 > zé; #8CAC è²­ > zhí; #8CAD è²® > èr; #8CAE 貯 > zhÅ­; #8CAF è²° > shì; #8CB0 è²± > bì; #8CB1 è²² > zÄ«; #8CB2 è²³ > èr; #8CB3 è²´ > gùi; #8CB4 è²µ > piăn; #8CB5 è²¶ > biăn; #8CB6 è²· > măi; #8CB7 貸 > dài; #8CB8 è²¹ > shèng; #8CB9 貺 > kuàng; #8CBA è²» > fèi; #8CBB è²¼ > tiÄ“; #8CBC è²½ > yí; #8CBD è²¾ > chí; #8CBE 貿 > mào; #8CBF è³€ > hè; #8CC0 è³ > bì; #8CC1 賂 > lù; #8CC2 賃 > rèn; #8CC3 賄 > hùi; #8CC4 è³… > gÄi; #8CC5 賆 > pián; #8CC6 資 > zÄ«; #8CC7 賈 > jiă; #8CC8 賉 > xù; #8CC9 賊 > zéi; #8CCA 賋 > jiăo; #8CCB 賌 > gài; #8CCC è³ > zÄng; #8CCD 賎 > jiàn; #8CCE è³ > yìng; #8CCF è³ > xùn; #8CD0 賑 > zhèn; #8CD1 è³’ > shÄ“; #8CD2 賓 > bÄ«n; #8CD3 è³” > bÄ«n; #8CD4 賕 > qíu; #8CD5 è³– > shÄ“; #8CD6 è³— > chuàn; #8CD7 賘 > zÄng; #8CD8 è³™ > zhÅu; #8CD9 賚 > lài; #8CDA è³› > zàn; #8CDB 賜 > sì; #8CDC è³ > chÄ“n; #8CDD 賞 > shăng; #8CDE 賟 > tiăn; #8CDF è³  > péi; #8CE0 賡 > gÄ“ng; #8CE1 è³¢ > xián; #8CE2 è³£ > mài; #8CE3 賤 > jiàn; #8CE4 è³¥ > sùi; #8CE5 賦 > fù; #8CE6 è³§ > tàn; #8CE7 賨 > cóng; #8CE8 賩 > cóng; #8CE9 質 > zhí; #8CEA 賫 > jÄ«; #8CEB 賬 > zhàng; #8CEC è³­ > dÅ­; #8CED è³® > jìn; #8CEE 賯 > xÄ«ong; #8CEF è³° > shÅ­n; #8CF0 è³± > yÅ­n; #8CF1 è³² > băo; #8CF2 è³³ > zÄi; #8CF3 è³´ > lài; #8CF4 è³µ > fèng; #8CF5 è³¶ > càng; #8CF6 è³· > jÄ«; #8CF7 賸 > shèng; #8CF8 è³¹ > ài; #8CF9 賺 > zhuàn; #8CFA è³» > fù; #8CFB è³¼ > gòu; #8CFC è³½ > sài; #8CFD è³¾ > zé; #8CFE 賿 > liáo; #8CFF è´€ > wèi; #8D00 è´ > bài; #8D01 è´‚ > chÄ•n; #8D02 è´ƒ > zhuàn; #8D03 è´„ > zhì; #8D04 è´… > zhùi; #8D05 è´† > biÄo; #8D06 è´‡ > yÅ«n; #8D07 è´ˆ > zèng; #8D08 è´‰ > tăn; #8D09 è´Š > zàn; #8D0A è´‹ > yàn; #8D0B è´ > shàn; #8D0D è´Ž > wàn; #8D0E è´ > yíng; #8D0F è´ > jìn; #8D10 è´‘ > găn; #8D11 è´’ > xián; #8D12 è´“ > zÄng; #8D13 è´” > bì; #8D14 è´• > dú; #8D15 è´– > shú; #8D16 è´— > yàn; #8D17 è´™ > xuàn; #8D19 è´š > lòng; #8D1A è´› > gàn; #8D1B è´œ > zÄng; #8D1C è´ > bèi; #8D1D è´ž > zhÄ“n; #8D1E è´Ÿ > fù; #8D1F è´  > yuán; #8D20 è´¡ > gòng; #8D21 è´¢ > cái; #8D22 è´£ > zé; #8D23 è´¤ > xián; #8D24 è´¥ > bài; #8D25 è´¦ > zhàng; #8D26 è´§ > hùo; #8D27 è´¨ > zhí; #8D28 è´© > fàn; #8D29 è´ª > tÄn; #8D2A è´« > pín; #8D2B è´¬ > biăn; #8D2C è´­ > gòu; #8D2D è´® > zhÅ­; #8D2E è´¯ > guàn; #8D2F è´° > èr; #8D30 è´± > jiàn; #8D31 è´² > bì; #8D32 è´³ > shì; #8D33 è´´ > tiÄ“; #8D34 è´µ > gùi; #8D35 è´¶ > kuàng; #8D36 è´· > dài; #8D37 è´¸ > mào; #8D38 è´¹ > fèi; #8D39 è´º > hè; #8D3A è´» > yí; #8D3B è´¼ > zéi; #8D3C è´½ > zhì; #8D3D è´¾ > jiă; #8D3E è´¿ > hùi; #8D3F èµ€ > zÄ«; #8D40 èµ > rèn; #8D41 赂 > lù; #8D42 赃 > zÄng; #8D43 资 > zÄ«; #8D44 èµ… > gÄi; #8D45 赆 > jìn; #8D46 赇 > qíu; #8D47 赈 > zhèn; #8D48 赉 > lài; #8D49 赊 > shÄ“; #8D4A 赋 > fù; #8D4B 赌 > dÅ­; #8D4C èµ > jÄ«; #8D4D 赎 > shú; #8D4E èµ > shăng; #8D4F èµ > sì; #8D50 赑 > bì; #8D51 èµ’ > zhÅu; #8D52 赓 > gÄ“ng; #8D53 èµ” > péi; #8D54 赕 > tàn; #8D55 èµ– > lài; #8D56 èµ— > fèng; #8D57 赘 > zhùi; #8D58 èµ™ > fù; #8D59 赚 > zhuàn; #8D5A èµ› > sài; #8D5B 赜 > zé; #8D5C èµ > yàn; #8D5D 赞 > zàn; #8D5E 赟 > yÅ«n; #8D5F èµ  > zèng; #8D60 赡 > shàn; #8D61 èµ¢ > yíng; #8D62 èµ£ > gàn; #8D63 赤 > chì; #8D64 èµ¥ > xì; #8D65 赦 > shè; #8D66 èµ§ > năn; #8D67 赨 > xíong; #8D68 赩 > xì; #8D69 赪 > chÄ“ng; #8D6A 赫 > hè; #8D6B 赬 > chÄ“ng; #8D6C èµ­ > zhÄ•; #8D6D èµ® > xiá; #8D6E 赯 > táng; #8D6F èµ° > zÅu; #8D70 èµ± > zÅu; #8D71 èµ² > lì; #8D72 èµ³ > jÄ­u; #8D73 èµ´ > fù; #8D74 èµµ > zhào; #8D75 èµ¶ > găn; #8D76 èµ· > qÄ­; #8D77 赸 > shàn; #8D78 èµ¹ > qíong; #8D79 赺 > qín; #8D7A èµ» > xiăn; #8D7B èµ¼ > cÄ«; #8D7C èµ½ > jué; #8D7D èµ¾ > qÄ­n; #8D7E 赿 > chí; #8D7F è¶€ > cÄ«; #8D80 è¶ > chèn; #8D81 è¶‚ > chèn; #8D82 趃 > dié; #8D83 è¶„ > jÅ«; #8D84 è¶… > chÄo; #8D85 趆 > dÄ«; #8D86 趇 > sè; #8D87 趈 > zhÄn; #8D88 趉 > zhú; #8D89 è¶Š > yuè; #8D8A è¶‹ > qÅ«; #8D8B è¶Œ > jié; #8D8C è¶ > chí; #8D8D è¶Ž > chú; #8D8E è¶ > guÄ; #8D8F è¶ > xuè; #8D90 è¶‘ > cÄ«; #8D91 è¶’ > tiáo; #8D92 è¶“ > dÅ­o; #8D93 è¶” > liè; #8D94 è¶• > găn; #8D95 è¶– > sÅ«o; #8D96 è¶— > cù; #8D97 趘 > xí; #8D98 è¶™ > zhào; #8D99 è¶š > sù; #8D9A è¶› > yÄ­n; #8D9B è¶œ > jú; #8D9C è¶ > jiàn; #8D9D è¶ž > què; #8D9E è¶Ÿ > tàng; #8D9F è¶  > chùo; #8DA0 è¶¡ > cÅ­i; #8DA1 è¶¢ > lù; #8DA2 è¶£ > qù; #8DA3 趤 > dàng; #8DA4 è¶¥ > qÄ«u; #8DA5 趦 > zÄ«; #8DA6 è¶§ > tí; #8DA7 趨 > qÅ«; #8DA8 è¶© > chì; #8DA9 趪 > huáng; #8DAA è¶« > qiáo; #8DAB 趬 > qiáo; #8DAC è¶­ > yào; #8DAD è¶® > zào; #8DAE 趯 > tì; #8DAF è¶± > zăn; #8DB1 è¶² > zăn; #8DB2 è¶³ > zú; #8DB3 è¶´ > pÄ; #8DB4 è¶µ > bào; #8DB5 è¶¶ > kù; #8DB6 è¶· > kÄ“; #8DB7 趸 > dÅ­n; #8DB8 è¶¹ > jué; #8DB9 趺 > fÅ«; #8DBA è¶» > chÄ•n; #8DBB è¶¼ > jiăn; #8DBC è¶½ > fàng; #8DBD è¶¾ > zhÄ­; #8DBE è¶¿ > sà; #8DBF è·€ > yuè; #8DC0 è· > pá; #8DC1 è·‚ > qí; #8DC2 è·ƒ > yuè; #8DC3 è·„ > qiÄng; #8DC4 è·… > tùo; #8DC5 è·† > tái; #8DC6 è·‡ > yì; #8DC7 è·ˆ > niăn; #8DC8 è·‰ > líng; #8DC9 è·Š > mèi; #8DCA è·‹ > bá; #8DCB è·Œ > diÄ“; #8DCC è· > kÅ«; #8DCD è·Ž > túo; #8DCE è· > jiÄ; #8DCF è· > cÄ­; #8DD0 è·‘ > păo; #8DD1 è·’ > qiă; #8DD2 è·“ > zhù; #8DD3 è·” > jÅ«; #8DD4 è·• > dié; #8DD5 è·– > zhÄ«; #8DD6 è·— > fÅ«; #8DD7 è·˜ > pán; #8DD8 è·™ > jÅ­; #8DD9 è·š > shÄn; #8DDA è·› > bÅ; #8DDB è·œ > ní; #8DDC è· > jù; #8DDD è·ž > lì; #8DDE è·Ÿ > gÄ“n; #8DDF è·  > yí; #8DE0 è·¡ > jÄ«; #8DE1 è·¢ > dài; #8DE2 è·£ > xiăn; #8DE3 è·¤ > jiÄo; #8DE4 è·¥ > dùo; #8DE5 è·¦ > zhÅ«; #8DE6 è·§ > zhuÄn; #8DE7 è·¨ > kuà; #8DE8 è·© > zhuăi; #8DE9 è·ª > gùi; #8DEA è·« > qíong; #8DEB è·¬ > kÅ­i; #8DEC è·­ > xiáng; #8DED è·® > chì; #8DEE è·¯ > lù; #8DEF è·° > bèng; #8DF0 è·± > zhì; #8DF1 è·² > jiá; #8DF2 è·³ > tiào; #8DF3 è·´ > căi; #8DF4 è·µ > jiàn; #8DF5 è·¶ > tà; #8DF6 è·· > qiÄo; #8DF7 è·¸ > bì; #8DF8 è·¹ > xiÄn; #8DF9 è·º > dùo; #8DFA è·» > jÄ«; #8DFB è·¼ > jú; #8DFC è·½ > jì; #8DFD è·¾ > shú; #8DFE è·¿ > tú; #8DFF 踀 > chù; #8E00 è¸ > jìng; #8E01 踂 > niè; #8E02 踃 > xiÄo; #8E03 踄 > bó; #8E04 踅 > chì; #8E05 踆 > qÅ«n; #8E06 踇 > mÅu; #8E07 踈 > shÅ«; #8E08 踉 > láng; #8E09 踊 > yÅng; #8E0A 踋 > jiăo; #8E0B 踌 > chóu; #8E0C è¸ > qiÄo; #8E0D è¸ > tà; #8E0F è¸ > jiàn; #8E10 踑 > qí; #8E11 踒 > wÅ; #8E12 踓 > wÄ•i; #8E13 踔 > zhúo; #8E14 踕 > jié; #8E15 踖 > jí; #8E16 踗 > niÄ“; #8E17 踘 > jú; #8E18 踙 > jÅ«; #8E19 踚 > lún; #8E1A 踛 > lù; #8E1B 踜 > lèng; #8E1C è¸ > huái; #8E1D 踞 > jù; #8E1E 踟 > chí; #8E1F 踠 > wăn; #8E20 踡 > quán; #8E21 踢 > tÄ«; #8E22 踣 > bó; #8E23 踤 > zú; #8E24 踥 > qiè; #8E25 踦 > jÄ­; #8E26 踧 > cù; #8E27 踨 > zÅng; #8E28 踩 > căi; #8E29 踪 > zÅng; #8E2A 踫 > pèng; #8E2B 踬 > zhì; #8E2C 踭 > zhÄ“ng; #8E2D 踮 > diăn; #8E2E 踯 > zhí; #8E2F 踰 > yú; #8E30 踱 > dùo; #8E31 踲 > dùn; #8E32 踳 > chÅ­n; #8E33 踴 > yÅng; #8E34 踵 > zhÅng; #8E35 踶 > dì; #8E36 踷 > zhÄ•; #8E37 踸 > chÄ•n; #8E38 踹 > chuài; #8E39 踺 > jiàn; #8E3A 踻 > guÄ; #8E3B 踼 > táng; #8E3C 踽 > jÅ­; #8E3D 踾 > fú; #8E3E 踿 > zú; #8E3F è¹€ > dié; #8E40 è¹ > pián; #8E41 蹂 > róu; #8E42 蹃 > nùo; #8E43 蹄 > tí; #8E44 è¹… > chă; #8E45 蹆 > tÅ­i; #8E46 蹇 > jiăn; #8E47 蹈 > dào; #8E48 蹉 > cÅ«o; #8E49 蹊 > xÄ«; #8E4A 蹋 > tà; #8E4B 蹌 > qiÄng; #8E4C è¹ > zhăn; #8E4D 蹎 > diÄn; #8E4E è¹ > tí; #8E4F è¹ > jí; #8E50 蹑 > niè; #8E51 è¹’ > mán; #8E52 蹓 > lÄ«u; #8E53 è¹” > zhàn; #8E54 蹕 > bì; #8E55 è¹– > chÅng; #8E56 è¹— > lù; #8E57 蹘 > liáo; #8E58 è¹™ > cù; #8E59 蹚 > tÄng; #8E5A è¹› > dài; #8E5B 蹜 > sÅ«o; #8E5C è¹ > xÄ­; #8E5D 蹞 > kÅ­i; #8E5E 蹟 > jÄ«; #8E5F è¹  > zhí; #8E60 蹡 > qiÄng; #8E61 è¹¢ > dí; #8E62 è¹£ > mán; #8E63 蹤 > zÅng; #8E64 è¹¥ > lián; #8E65 蹦 > bèng; #8E66 è¹§ > zÄo; #8E67 蹨 > niăn; #8E68 蹩 > bié; #8E69 蹪 > túi; #8E6A 蹫 > jú; #8E6B 蹬 > dèng; #8E6C è¹­ > cèng; #8E6D è¹® > xiÄn; #8E6E 蹯 > fán; #8E6F è¹° > chú; #8E70 è¹± > zhÅng; #8E71 è¹² > dÅ«n; #8E72 è¹³ > bÅ; #8E73 è¹´ > cù; #8E74 è¹µ > zú; #8E75 è¹¶ > jué; #8E76 è¹· > jué; #8E77 蹸 > lìn; #8E78 è¹¹ > tà; #8E79 蹺 > qiÄo; #8E7A è¹» > qiÄo; #8E7B è¹¼ > pú; #8E7C è¹½ > liÄo; #8E7D è¹¾ > dÅ«n; #8E7E 蹿 > cuÄn; #8E7F 躀 > kuàng; #8E80 èº > zào; #8E81 躂 > tà; #8E82 躃 > bì; #8E83 躄 > bì; #8E84 躅 > zhú; #8E85 躆 > jù; #8E86 躇 > chú; #8E87 躈 > qiào; #8E88 躉 > dÅ­n; #8E89 躊 > chóu; #8E8A 躋 > jÄ«; #8E8B 躌 > wÅ­; #8E8C èº > yuè; #8E8D 躎 > niăn; #8E8E èº > lìn; #8E8F èº > liè; #8E90 躑 > zhí; #8E91 躒 > lì; #8E92 躓 > zhì; #8E93 躔 > chán; #8E94 躕 > chú; #8E95 躖 > duàn; #8E96 躗 > wèi; #8E97 躘 > lóng; #8E98 躙 > lìn; #8E99 躚 > xiÄn; #8E9A 躛 > wèi; #8E9B 躜 > zuÄn; #8E9C èº > lán; #8E9D 躞 > xiè; #8E9E 躟 > ráng; #8E9F 躠 > xiÄ•; #8EA0 躡 > niè; #8EA1 躢 > tà; #8EA2 躣 > qú; #8EA3 躤 > jiè; #8EA4 躥 > cuÄn; #8EA5 躦 > zuÄn; #8EA6 躧 > xÄ­; #8EA7 躨 > kúi; #8EA8 躩 > jué; #8EA9 躪 > lìn; #8EAA 身 > shÄ“n; #8EAB 躬 > gÅng; #8EAC 躭 > dÄn; #8EAD 躯 > qÅ«; #8EAF 躰 > tÄ­; #8EB0 躱 > dÅ­o; #8EB1 躲 > dÅ­o; #8EB2 躳 > gÅng; #8EB3 躴 > láng; #8EB4 躶 > lÅ­o; #8EB6 躷 > ăi; #8EB7 躸 > jÄ«; #8EB8 躹 > jú; #8EB9 躺 > tăng; #8EBA 躽 > yăn; #8EBD 躿 > kÄng; #8EBF 軀 > qÅ«; #8EC0 è» > lóu; #8EC1 軂 > lào; #8EC2 軃 > tÅ­o; #8EC3 軄 > zhí; #8EC4 軆 > tÄ­; #8EC6 軇 > dào; #8EC7 軉 > yù; #8EC9 車 > chÄ“; #8ECA 軋 > yà; #8ECB 軌 > gÅ­i; #8ECC è» > jÅ«n; #8ECD 軎 > wèi; #8ECE è» > yuè; #8ECF è» > xìn; #8ED0 軑 > dì; #8ED1 è»’ > xuÄn; #8ED2 軓 > fàn; #8ED3 è»” > rèn; #8ED4 軕 > shÄn; #8ED5 è»– > qiáng; #8ED6 è»— > shÅ«; #8ED7 軘 > tún; #8ED8 è»™ > chén; #8ED9 軚 > dài; #8EDA è»› > è; #8EDB 軜 > nà; #8EDC è» > qí; #8EDD 軞 > máo; #8EDE 軟 > ruăn; #8EDF è»  > rèn; #8EE0 軡 > făn; #8EE1 転 > zhuăn; #8EE2 軣 > hÅng; #8EE3 軤 > hÅ«; #8EE4 軥 > qú; #8EE5 軦 > huàng; #8EE6 è»§ > dÄ­; #8EE7 軨 > líng; #8EE8 軩 > dài; #8EE9 軪 > Äo; #8EEA 軫 > zhÄ•n; #8EEB 軬 > fàn; #8EEC è»­ > kuÄng; #8EED è»® > ăng; #8EEE 軯 > pÄ“ng; #8EEF è»° > bèi; #8EF0 è»± > gÅ«; #8EF1 軲 > kÅ«; #8EF2 軳 > páo; #8EF3 è»´ > zhù; #8EF4 軵 > rÅng; #8EF5 è»¶ > è; #8EF6 è»· > bá; #8EF7 軸 > zhóu; #8EF8 軹 > zhÄ­; #8EF9 軺 > yáo; #8EFA è»» > kÄ“; #8EFB 軼 > yì; #8EFC 軽 > qÄ«ng; #8EFD 軾 > shì; #8EFE 軿 > píng; #8EFF è¼€ > ér; #8F00 è¼ > qíong; #8F01 輂 > jú; #8F02 較 > jiào; #8F03 輄 > guÄng; #8F04 è¼… > lù; #8F05 輆 > kăi; #8F06 輇 > quán; #8F07 輈 > zhÅu; #8F08 載 > zài; #8F09 輊 > zhì; #8F0A 輋 > shÄ“; #8F0B 輌 > liàng; #8F0C è¼ > yù; #8F0D 輎 > shÄo; #8F0E è¼ > yóu; #8F0F è¼ > huăn; #8F10 輑 > yÅ­n; #8F11 è¼’ > zhé; #8F12 輓 > wăn; #8F13 è¼” > fÅ­; #8F14 輕 > qÄ«ng; #8F15 è¼– > zhÅu; #8F16 è¼— > ní; #8F17 輘 > líng; #8F18 è¼™ > zhé; #8F19 輚 > zhàn; #8F1A è¼› > liàng; #8F1B 輜 > zÄ«; #8F1C è¼ > hÅ«i; #8F1D 輞 > wăng; #8F1E 輟 > chùo; #8F1F è¼  > gÅ­o; #8F20 輡 > kăn; #8F21 è¼¢ > yÄ­; #8F22 è¼£ > péng; #8F23 輤 > qiàn; #8F24 è¼¥ > gÅ­n; #8F25 輦 > niăn; #8F26 è¼§ > pián; #8F27 輨 > guăn; #8F28 輩 > bèi; #8F29 輪 > lún; #8F2A 輫 > pái; #8F2B 輬 > liáng; #8F2C è¼­ > ruăn; #8F2D è¼® > róu; #8F2E 輯 > jí; #8F2F è¼° > yáng; #8F30 è¼± > xián; #8F31 è¼² > chuán; #8F32 è¼³ > còu; #8F33 è¼´ > qÅ«n; #8F34 è¼µ > gé; #8F35 è¼¶ > yóu; #8F36 è¼· > hÅng; #8F37 輸 > shÅ«; #8F38 è¼¹ > fù; #8F39 輺 > zÄ«; #8F3A è¼» > fú; #8F3B è¼¼ > wÄ“n; #8F3C è¼½ > bèn; #8F3D è¼¾ > zhăn; #8F3E 輿 > yú; #8F3F è½€ > wÄ“n; #8F40 è½ > tÄo; #8F41 轂 > gÅ­; #8F42 轃 > zhÄ“n; #8F43 轄 > xiá; #8F44 è½… > yuán; #8F45 轆 > lù; #8F46 轇 > jÄ«u; #8F47 轈 > cháo; #8F48 轉 > zhuăn; #8F49 轊 > wèi; #8F4A 轋 > hún; #8F4B è½ > chè; #8F4D 轎 > jiào; #8F4E è½ > zhàn; #8F4F è½ > pú; #8F50 轑 > lăo; #8F51 è½’ > fén; #8F52 轓 > fÄn; #8F53 è½” > lín; #8F54 轕 > gé; #8F55 è½– > sè; #8F56 è½— > kăn; #8F57 轘 > huàn; #8F58 è½™ > yÄ­; #8F59 轚 > jí; #8F5A è½› > dùi; #8F5B 轜 > ér; #8F5C è½ > yú; #8F5D 轞 > xiàn; #8F5E 轟 > hÅng; #8F5F è½  > lÄ•i; #8F60 轡 > pèi; #8F61 è½¢ > lì; #8F62 è½£ > lì; #8F63 轤 > lú; #8F64 è½¥ > lìn; #8F65 车 > chÄ“; #8F66 è½§ > yà; #8F67 轨 > gÅ­i; #8F68 轩 > xuÄn; #8F69 轪 > dì; #8F6A 轫 > rèn; #8F6B 转 > zhuăn; #8F6C è½­ > è; #8F6D è½® > lún; #8F6E 软 > ruăn; #8F6F è½° > hÅng; #8F70 è½± > kÅ«; #8F71 è½² > kÄ“; #8F72 è½³ > lú; #8F73 è½´ > zhóu; #8F74 è½µ > zhÄ­; #8F75 è½¶ > yì; #8F76 è½· > hÅ«; #8F77 轸 > zhÄ•n; #8F78 è½¹ > lì; #8F79 轺 > yáo; #8F7A è½» > qÄ«ng; #8F7B è½¼ > shì; #8F7C è½½ > zài; #8F7D è½¾ > zhì; #8F7E 轿 > jiào; #8F7F è¾€ > zhÅu; #8F80 è¾ > quán; #8F81 辂 > lù; #8F82 较 > jiào; #8F83 辄 > zhé; #8F84 è¾… > fÅ­; #8F85 辆 > liàng; #8F86 辇 > niăn; #8F87 辈 > bèi; #8F88 辉 > hÅ«i; #8F89 辊 > gÅ­n; #8F8A 辋 > wăng; #8F8B 辌 > liáng; #8F8C è¾ > chùo; #8F8D 辎 > zÄ«; #8F8E è¾ > còu; #8F8F è¾ > fú; #8F90 辑 > jí; #8F91 è¾’ > wÄ“n; #8F92 输 > shÅ«; #8F93 è¾” > pèi; #8F94 辕 > yuán; #8F95 è¾– > xiá; #8F96 è¾— > zhăn; #8F97 辘 > lù; #8F98 è¾™ > chè; #8F99 辚 > lín; #8F9A è¾› > xÄ«n; #8F9B 辜 > gÅ«; #8F9C è¾ > cí; #8F9D 辞 > cí; #8F9E 辟 > pì; #8F9F è¾  > zùi; #8FA0 辡 > biàn; #8FA1 è¾¢ > là; #8FA2 è¾£ > là; #8FA3 辤 > cí; #8FA4 è¾¥ > xuÄ“; #8FA5 辦 > bàn; #8FA6 è¾§ > biàn; #8FA7 辨 > biàn; #8FA8 辩 > biàn; #8FA9 辫 > biàn; #8FAB 辬 > bÄn; #8FAC è¾­ > cí; #8FAD è¾® > biàn; #8FAE 辯 > biàn; #8FAF è¾° > chén; #8FB0 è¾± > rù; #8FB1 è¾² > nóng; #8FB2 è¾³ > nóng; #8FB3 è¾´ > zhÄ•n; #8FB4 è¾µ > chùo; #8FB5 è¾¶ > chùo; #8FB6 辸 > réng; #8FB8 è¾¹ > biÄn; #8FB9 辺 > biÄn; #8FBA è¾½ > liáo; #8FBD è¾¾ > dá; #8FBE 辿 > chÄn; #8FBF è¿€ > gÄn; #8FC0 è¿ > qiÄn; #8FC1 è¿‚ > yÅ«; #8FC2 迃 > yÅ«; #8FC3 è¿„ > qì; #8FC4 è¿… > xùn; #8FC5 迆 > yÄ­; #8FC6 过 > gùo; #8FC7 迈 > mài; #8FC8 迉 > qí; #8FC9 迊 > zÄ; #8FCA è¿‹ > wàng; #8FCB 迌 > jia; #8FCC è¿ > zhÅ«n; #8FCD 迎 > yíng; #8FCE è¿ > tì; #8FCF è¿ > yùn; #8FD0 è¿‘ > jìn; #8FD1 è¿’ > háng; #8FD2 è¿“ > yà; #8FD3 è¿” > făn; #8FD4 è¿• > wù; #8FD5 è¿– > dá; #8FD6 è¿— > é; #8FD7 还 > huán; #8FD8 è¿™ > zhè; #8FD9 è¿› > jìn; #8FDB 远 > yuăn; #8FDC è¿ > wéi; #8FDD 连 > lián; #8FDE 迟 > chí; #8FDF è¿  > chè; #8FE0 è¿¡ > nì; #8FE1 è¿¢ > tiáo; #8FE2 è¿£ > zhì; #8FE3 迤 > yÄ­; #8FE4 è¿¥ > jÄ­ong; #8FE5 迦 > jiÄ; #8FE6 è¿§ > chén; #8FE7 迨 > dài; #8FE8 è¿© > Ä•r; #8FE9 迪 > dí; #8FEA è¿« > pò; #8FEB 迬 > wăng; #8FEC è¿­ > dié; #8FED è¿® > zé; #8FEE 迯 > táo; #8FEF è¿° > shù; #8FF0 迱 > túo; #8FF1 迳 > jìng; #8FF3 è¿´ > húi; #8FF4 迵 > tóng; #8FF5 è¿¶ > yòu; #8FF6 è¿· > mí; #8FF7 迸 > bèng; #8FF8 迹 > jÄ«; #8FF9 迺 > năi; #8FFA è¿» > yí; #8FFB 迼 > jié; #8FFC 追 > zhÅ«i; #8FFD 迾 > liè; #8FFE è¿¿ > xùn; #8FFF 退 > tùi; #9000 é€ > sòng; #9001 适 > guÄ; #9002 逃 > táo; #9003 逄 > páng; #9004 逅 > hòu; #9005 逆 > nì; #9006 逇 > dùn; #9007 逈 > jÄ­ong; #9008 选 > xuăn; #9009 逊 > xùn; #900A 逋 > bÅ«; #900B 逌 > yóu; #900C é€ > xiÄo; #900D 逎 > qíu; #900E é€ > tòu; #900F é€ > zhú; #9010 逑 > qíu; #9011 递 > dì; #9012 逓 > dì; #9013 途 > tú; #9014 逕 > jìng; #9015 逖 > tì; #9016 逗 > dòu; #9017 逘 > yÄ­; #9018 這 > zhè; #9019 通 > tÅng; #901A 逛 > guàng; #901B 逜 > wù; #901C é€ > shì; #901D 逞 > chÄ•ng; #901E 速 > sù; #901F 造 > zào; #9020 逡 > qÅ«n; #9021 逢 > féng; #9022 連 > lián; #9023 逤 > sùo; #9024 逥 > húi; #9025 逦 > lÄ­; #9026 逨 > lái; #9028 逩 > bèn; #9029 逪 > cùo; #902A 逫 > jué; #902B 逬 > bèng; #902C 逭 > huàn; #902D 逮 > dài; #902E 逯 > lù; #902F 逰 > yóu; #9030 週 > zhÅu; #9031 進 > jìn; #9032 逳 > yù; #9033 逴 > chùo; #9034 逵 > kúi; #9035 逶 > wÄ“i; #9036 逷 > tì; #9037 逸 > yì; #9038 逹 > dá; #9039 逺 > yuăn; #903A 逻 > lúo; #903B 逼 > bÄ«; #903C 逽 > nùo; #903D 逾 > yú; #903E 逿 > dàng; #903F é€ > súi; #9040 é > dùn; #9041 é‚ > sùi; #9042 éƒ > yăn; #9043 é„ > chuán; #9044 é… > chí; #9045 é† > tí; #9046 é‡ > yù; #9047 éˆ > shí; #9048 é‰ > zhÄ“n; #9049 éŠ > yóu; #904A é‹ > yùn; #904B éŒ > è; #904C é > biàn; #904D éŽ > gùo; #904E é > è; #904F é > xiá; #9050 é‘ > huáng; #9051 é’ > qíu; #9052 é“ > dào; #9053 é” > dá; #9054 é• > wéi; #9055 é— > yí; #9057 é˜ > gòu; #9058 é™ > yáo; #9059 éš > chù; #905A é› > líu; #905B éœ > xùn; #905C é > tà; #905D éž > dì; #905E éŸ > chí; #905F é  > yuăn; #9060 é¡ > sù; #9061 é¢ > tà; #9062 é£ > qiăn; #9063 é¥ > yáo; #9065 é¦ > guàn; #9066 é§ > zhÄng; #9067 é¨ > áo; #9068 é© > shì; #9069 éª > cè; #906A é« > chì; #906B é¬ > sù; #906C é­ > zÄo; #906D é® > zhÄ“; #906E é¯ > dùn; #906F é° > dì; #9070 é± > lóu; #9071 é² > chí; #9072 é³ > cÅ«o; #9073 é´ > lín; #9074 éµ > zÅ«n; #9075 é¶ > rào; #9076 é· > qiÄn; #9077 é¸ > xuăn; #9078 é¹ > yù; #9079 éº > yí; #907A é» > wù; #907B é¼ > liáo; #907C é½ > jù; #907D é¾ > shì; #907E é¿ > bì; #907F é‚€ > yÄo; #9080 é‚ > mài; #9081 é‚‚ > xiè; #9082 邃 > sùi; #9083 é‚„ > huán; #9084 é‚… > zhÄn; #9085 邆 > téng; #9086 邇 > Ä•r; #9087 邈 > miăo; #9088 邉 > biÄn; #9089 邊 > biÄn; #908A é‚‹ > lá; #908B 邌 > lí; #908C é‚ > yuán; #908D 邎 > yáo; #908E é‚ > lúo; #908F é‚ > lÄ­; #9090 é‚‘ > yì; #9091 é‚’ > tíng; #9092 é‚“ > dèng; #9093 é‚” > qÄ­; #9094 é‚• > yÅng; #9095 é‚– > shÄn; #9096 é‚— > hán; #9097 邘 > yú; #9098 é‚™ > máng; #9099 邚 > rú; #909A é‚› > qíong; #909B é‚ > kuàng; #909D 邞 > fÅ«; #909E 邟 > kàng; #909F é‚  > bÄ«n; #90A0 é‚¡ > fÄng; #90A1 é‚¢ > xíng; #90A2 é‚£ > nà; #90A3 邤 > xin; #90A4 é‚¥ > shÄ•n; #90A5 邦 > bÄng; #90A6 é‚§ > yuán; #90A7 邨 > cÅ«n; #90A8 é‚© > hÅ­o; #90A9 邪 > xié; #90AA é‚« > bÄng; #90AB 邬 > wÅ«; #90AC é‚­ > jù; #90AD é‚® > yóu; #90AE 邯 > hán; #90AF é‚° > tái; #90B0 邱 > qÄ«u; #90B1 邲 > bì; #90B2 邳 > péi; #90B3 é‚´ > bÄ­ng; #90B4 邵 > shào; #90B5 é‚¶ > bèi; #90B6 é‚· > wă; #90B7 邸 > dÄ­; #90B8 邹 > zÅu; #90B9 邺 > yè; #90BA é‚» > lín; #90BB 邼 > kuÄng; #90BC 邽 > gÅ«i; #90BD 邾 > zhÅ«; #90BE é‚¿ > shÄ«; #90BF 郀 > kÅ«; #90C0 éƒ > yù; #90C1 郂 > gÄi; #90C2 郃 > gé; #90C3 郄 > xì; #90C4 郅 > zhì; #90C5 郆 > jí; #90C6 郇 > xún; #90C7 郈 > hòu; #90C8 郉 > xíng; #90C9 郊 > jiÄo; #90CA 郋 > xí; #90CB 郌 > gÅ«i; #90CC éƒ > núo; #90CD 郎 > láng; #90CE éƒ > jiá; #90CF éƒ > kuài; #90D0 郑 > zhèng; #90D1 郓 > yùn; #90D3 郔 > yán; #90D4 郕 > chéng; #90D5 郖 > dÅu; #90D6 郗 > chÄ«; #90D7 郘 > lÇš; #90D8 郙 > fÅ­; #90D9 郚 > wú; #90DA 郛 > fú; #90DB 郜 > gào; #90DC éƒ > hăo; #90DD 郞 > láng; #90DE 郟 > jiá; #90DF 郠 > gÄ•ng; #90E0 郡 > jùn; #90E1 郢 > yÄ­ng; #90E2 郣 > bó; #90E3 郤 > xì; #90E4 郥 > bèi; #90E5 郦 > lì; #90E6 郧 > yún; #90E7 部 > bù; #90E8 郩 > xiáo; #90E9 郪 > qÄ«; #90EA 郫 > pí; #90EB 郬 > qÄ«ng; #90EC 郭 > gÅ«o; #90ED 郮 > zhou; #90EE 郯 > tán; #90EF 郰 > zÅu; #90F0 郱 > píng; #90F1 郲 > lái; #90F2 郳 > ní; #90F3 郴 > chÄ“n; #90F4 郵 > yóu; #90F5 郶 > bù; #90F6 郷 > xiÄng; #90F7 郸 > dÄn; #90F8 郹 > jú; #90F9 郺 > yÅng; #90FA 郻 > qiÄo; #90FB 郼 > yÄ«; #90FC 都 > dÅ«; #90FD 郾 > yăn; #90FE 郿 > méi; #90FF é„€ > rùo; #9100 é„ > bèi; #9101 é„‚ > è; #9102 鄃 > yú; #9103 é„„ > juàn; #9104 é„… > yÅ­; #9105 鄆 > yùn; #9106 鄇 > hòu; #9107 鄈 > kúi; #9108 鄉 > xiÄng; #9109 鄊 > xiÄng; #910A é„‹ > sÅu; #910B 鄌 > táng; #910C é„ > míng; #910D 鄎 > xì; #910E é„ > rù; #910F é„ > chù; #9110 é„‘ > zÄ«; #9111 é„’ > zÅu; #9112 é„“ > jú; #9113 é„” > wÅ«; #9114 é„• > xiÄng; #9115 é„– > yún; #9116 é„— > hào; #9117 鄘 > yÅng; #9118 é„™ > bÄ­; #9119 鄚 > mò; #911A é„› > cháo; #911B 鄜 > fÅ«; #911C é„ > liăo; #911D 鄞 > yín; #911E 鄟 > zhuÄn; #911F é„  > hù; #9120 é„¡ > qiÄo; #9121 é„¢ > yÄn; #9122 é„£ > zhÄng; #9123 鄤 > fàn; #9124 é„¥ > qiÄo; #9125 鄦 > xÅ­; #9126 é„§ > dèng; #9127 鄨 > bì; #9128 é„© > xín; #9129 鄪 > bì; #912A é„« > céng; #912B 鄬 > wéi; #912C é„­ > zhèng; #912D é„® > mào; #912E 鄯 > shàn; #912F é„° > lín; #9130 鄱 > pó; #9131 鄲 > dÄn; #9132 鄳 > méng; #9133 é„´ > yè; #9134 鄵 > cÄo; #9135 é„¶ > kuài; #9136 é„· > fÄ“ng; #9137 鄸 > méng; #9138 鄹 > zÅu; #9139 鄺 > kuàng; #913A é„» > lián; #913B 鄼 > zàn; #913C 鄽 > chán; #913D 鄾 > yÅu; #913E é„¿ > qí; #913F é…€ > yÄn; #9140 é… > chán; #9141 é…‚ > zàn; #9142 é…ƒ > líng; #9143 é…„ > huÄn; #9144 é…… > xÄ«; #9145 é…† > fÄ“ng; #9146 é…‡ > zàn; #9147 é…ˆ > lì; #9148 é…‰ > yÅu; #9149 é…Š > dÄ­ng; #914A é…‹ > qíu; #914B é…Œ > zhúo; #914C é… > pèi; #914D é…Ž > zhòu; #914E é… > yí; #914F é… > hăng; #9150 é…‘ > yÅ­; #9151 é…’ > jÄ­u; #9152 é…“ > yăn; #9153 é…” > zùi; #9154 é…• > máo; #9155 é…– > dÄn; #9156 é…— > xù; #9157 é…˜ > tóu; #9158 é…™ > zhÄ“n; #9159 é…š > fÄ“n; #915A é… > yùn; #915D é…ž > tài; #915E é…Ÿ > tiÄn; #915F é…  > qiă; #9160 é…¡ > túo; #9161 é…¢ > zùo; #9162 é…£ > hÄn; #9163 é…¤ > gÅ«; #9164 é…¥ > sÅ«; #9165 é…¦ > pò; #9166 é…§ > chóu; #9167 é…¨ > zài; #9168 é…© > míng; #9169 é…ª > lùo; #916A é…« > chùo; #916B é…¬ > chóu; #916C é…­ > yòu; #916D é…® > tóng; #916E é…¯ > zhÄ­; #916F é…° > xiÄn; #9170 é…± > jiàng; #9171 é…² > chéng; #9172 é…³ > yìn; #9173 é…´ > tú; #9174 é…µ > xiào; #9175 é…¶ > méi; #9176 é…· > kù; #9177 é…¸ > suÄn; #9178 é…¹ > lèi; #9179 é…º > pú; #917A é…» > zùi; #917B é…¼ > hăi; #917C é…½ > yàn; #917D é…¾ > xÄ­; #917E é…¿ > niàng; #917F 醀 > wéi; #9180 é† > lù; #9181 醂 > lăn; #9182 醃 > yÄn; #9183 醄 > táo; #9184 醅 > pÄ“i; #9185 醆 > zhăn; #9186 醇 > chún; #9187 醈 > tán; #9188 醉 > zùi; #9189 醊 > chùo; #918A 醋 > cù; #918B 醌 > kÅ«n; #918C é† > tí; #918D 醎 > mián; #918E é† > dÅ«; #918F é† > hú; #9190 醑 > xÅ­; #9191 醒 > xÄ­ng; #9192 醓 > tăn; #9193 醔 > jÄ«u; #9194 醕 > chún; #9195 醖 > yùn; #9196 醗 > pò; #9197 醘 > kè; #9198 醙 > sÅu; #9199 醚 > mí; #919A 醛 > quán; #919B 醜 > chÅu; #919C é† > cúo; #919D 醞 > yùn; #919E 醟 > yòng; #919F 醠 > àng; #91A0 醡 > zhà; #91A1 醢 > hăi; #91A2 醣 > táng; #91A3 醤 > jiàng; #91A4 醥 > piăo; #91A5 醦 > shăn; #91A6 醧 > yù; #91A7 醨 > lí; #91A8 醩 > záo; #91A9 醪 > láo; #91AA 醫 > yÄ«; #91AB 醬 > jiàng; #91AC 醭 > pÅ«; #91AD 醮 > jiào; #91AE 醯 > xÄ«; #91AF 醰 > tán; #91B0 醱 > pò; #91B1 醲 > nóng; #91B2 醳 > yì; #91B3 醴 > lÄ­; #91B4 醵 > jù; #91B5 醶 > jiào; #91B6 醷 > yì; #91B7 醸 > niàng; #91B8 醹 > rú; #91B9 醺 > xÅ«n; #91BA 醻 > chóu; #91BB 醼 > yàn; #91BC 醽 > líng; #91BD 醾 > mí; #91BE 醿 > mí; #91BF 釀 > niàng; #91C0 é‡ > xìn; #91C1 釂 > jiào; #91C2 釃 > xÄ­; #91C3 釄 > mí; #91C4 釅 > yàn; #91C5 釆 > biàn; #91C6 采 > căi; #91C7 釈 > shì; #91C8 釉 > yòu; #91C9 释 > shì; #91CA 釋 > shì; #91CB 里 > lÄ­; #91CC é‡ > zhòng; #91CD 野 > yÄ•; #91CE é‡ > liàng; #91CF é‡ > lí; #91D0 金 > jÄ«n; #91D1 釒 > jÄ«n' 'zì' 'páng; #91D2 釓 > qíu; #91D3 釔 > yÄ­; #91D4 釕 > diăo; #91D5 釖 > dÄo; #91D6 釗 > zhÄo; #91D7 釘 > dÄ«ng; #91D8 釙 > pò; #91D9 釚 > qíu; #91DA 釛 > hé; #91DB 釜 > fÅ­; #91DC é‡ > zhÄ“n; #91DD 釞 > zhí; #91DE 釟 > bÄ; #91DF 釠 > luàn; #91E0 釡 > fÅ­; #91E1 釢 > nái; #91E2 釣 > diào; #91E3 釤 > shàn; #91E4 釥 > qiăo; #91E5 釦 > kòu; #91E6 釧 > chuàn; #91E7 釨 > zÄ­; #91E8 釩 > fán; #91E9 釪 > yú; #91EA 釫 > huá; #91EB 釬 > hàn; #91EC 釭 > gÅng; #91ED 釮 > qí; #91EE 釯 > máng; #91EF 釰 > rì; #91F0 釱 > dì; #91F1 釲 > sì; #91F2 釳 > xì; #91F3 釴 > yì; #91F4 釵 > chÄi; #91F5 釶 > shÄ«; #91F6 釷 > tÅ­; #91F7 釸 > xì; #91F8 釹 > nÇš; #91F9 釺 > qiÄn; #91FA 釼 > jiàn; #91FC 釽 > pÄ«; #91FD 釾 > yé; #91FE 釿 > yín; #91FF 鈀 > bă; #9200 éˆ > fÄng; #9201 鈂 > chén; #9202 鈃 > xíng; #9203 鈄 > tÅu; #9204 鈅 > yuè; #9205 鈆 > yán; #9206 鈇 > fÅ«; #9207 鈈 > pÄ«; #9208 鈉 > nà; #9209 鈊 > xÄ«n; #920A 鈋 > é; #920B 鈌 > jué; #920C éˆ > dùn; #920D 鈎 > gÅu; #920E éˆ > yÄ­n; #920F éˆ > qián; #9210 鈑 > băn; #9211 鈒 > jí; #9212 鈓 > rén; #9213 鈔 > chÄo; #9214 鈕 > nÄ­u; #9215 鈖 > fÄ“n; #9216 鈗 > yÅ­n; #9217 鈘 > jÄ­; #9218 鈙 > qín; #9219 鈚 > pí; #921A 鈛 > gÅ«o; #921B 鈜 > hóng; #921C éˆ > yín; #921D 鈞 > jÅ«n; #921E 鈟 > shÄ«; #921F 鈠 > yì; #9220 鈡 > zhÅng; #9221 鈢 > niÄ“; #9222 鈣 > gài; #9223 鈤 > rì; #9224 鈥 > húo; #9225 鈦 > tài; #9226 鈧 > kàng; #9227 鈬 > dúo; #922C 鈭 > zÄ«; #922D 鈮 > nÄ­; #922E 鈯 > tú; #922F 鈰 > shì; #9230 鈱 > mín; #9231 鈲 > gÅ«; #9232 鈳 > Ä“; #9233 鈴 > líng; #9234 鈵 > bìng; #9235 鈶 > yí; #9236 鈷 > gÅ«; #9237 鈸 > bá; #9238 鈹 > pÄ«; #9239 鈺 > yù; #923A 鈻 > sì; #923B 鈼 > zúo; #923C 鈽 > bù; #923D 鈾 > yóu; #923E 鈿 > diàn; #923F 鉀 > jiă; #9240 é‰ > zhÄ“n; #9241 鉂 > shÄ­; #9242 鉃 > shì; #9243 鉄 > tiÄ•; #9244 鉅 > jù; #9245 鉆 > zhÄn; #9246 鉇 > shÄ«; #9247 鉈 > shé; #9248 鉉 > xuàn; #9249 鉊 > zhÄo; #924A 鉋 > bào; #924B 鉌 > hé; #924C é‰ > bì; #924D 鉎 > shÄ“ng; #924E é‰ > chú; #924F é‰ > shí; #9250 鉑 > bó; #9251 鉒 > zhù; #9252 鉓 > chì; #9253 鉔 > zÄ; #9254 鉕 > pÅ; #9255 鉖 > tóng; #9256 鉗 > qián; #9257 鉘 > fú; #9258 鉙 > zhăi; #9259 鉚 > lÄ­u; #925A 鉛 > qiÄn; #925B 鉜 > fú; #925C é‰ > lì; #925D 鉞 > yuè; #925E 鉟 > pÄ«; #925F 鉠 > yÄng; #9260 鉡 > bàn; #9261 鉢 > bÅ; #9262 鉣 > jié; #9263 鉤 > gÅu; #9264 鉥 > shù; #9265 鉦 > zhÄ“ng; #9266 鉧 > mÅ­; #9267 鉨 > nÄ­; #9268 鉩 > niÄ“; #9269 鉪 > dì; #926A 鉫 > jiÄ; #926B 鉬 > mù; #926C 鉭 > dàn; #926D 鉮 > shÄ“n; #926E 鉯 > yÄ­; #926F 鉰 > sÄ«; #9270 鉱 > kuàng; #9271 鉲 > kă; #9272 鉳 > bÄ•i; #9273 鉴 > jiàn; #9274 鉵 > tóng; #9275 鉶 > xíng; #9276 鉷 > hóng; #9277 鉸 > jiăo; #9278 鉹 > chÄ­; #9279 鉺 > èr; #927A 鉻 > gè; #927B 鉼 > bÄ­ng; #927C 鉽 > shì; #927D 鉾 > móu; #927E 鉿 > jiá; #927F 銀 > yín; #9280 éŠ > jÅ«n; #9281 銂 > zhÅu; #9282 銃 > chòng; #9283 銄 > shàng; #9284 銅 > tóng; #9285 銆 > mò; #9286 銇 > lèi; #9287 銈 > jÄ«; #9288 銉 > yù; #9289 銊 > xù; #928A 銋 > rén; #928B 銌 > zùn; #928C éŠ > zhì; #928D 銎 > qÄ«ong; #928E éŠ > shàn; #928F éŠ > chì; #9290 銑 > xiăn; #9291 銒 > xíng; #9292 銓 > quán; #9293 銔 > pÄ«; #9294 銕 > tiÄ•; #9295 銖 > zhÅ«; #9296 銗 > hóu; #9297 銘 > míng; #9298 銙 > kuă; #9299 銚 > yáo; #929A 銛 > xiÄn; #929B 銜 > xián; #929C éŠ > xÄ«u; #929D 銞 > jÅ«n; #929E 銟 > chÄ; #929F 銠 > lăo; #92A0 銡 > jí; #92A1 銢 > pÄ­; #92A2 銣 > rÅ­; #92A3 銤 > mÄ­; #92A4 銥 > yÄ­; #92A5 銦 > yÄ«n; #92A6 銧 > guÄng; #92A7 銨 > Än; #92A8 銩 > diÅu; #92A9 銪 > yÅu; #92AA 銫 > sè; #92AB 銬 > kào; #92AC 銭 > qián; #92AD 銮 > luán; #92AE 銰 > Äi; #92B0 銱 > diào; #92B1 銲 > hàn; #92B2 銳 > rùi; #92B3 銴 > shì; #92B4 銵 > kÄ“ng; #92B5 銶 > qíu; #92B6 銷 > xiÄo; #92B7 銸 > zhé; #92B8 銹 > xìu; #92B9 銺 > zàng; #92BA 銻 > tì; #92BB 銼 > cùo; #92BC 銽 > guÄ; #92BD 銾 > gÅng; #92BE 銿 > zhÅng; #92BF é‹€ > dòu; #92C0 é‹ > lÇš; #92C1 é‹‚ > méi; #92C2 鋃 > láng; #92C3 é‹„ > wăn; #92C4 é‹… > xÄ«n; #92C5 鋆 > yún; #92C6 鋇 > bèi; #92C7 鋈 > wù; #92C8 鋉 > sù; #92C9 鋊 > yù; #92CA é‹‹ > chán; #92CB 鋌 > tÄ­ng; #92CC é‹ > bó; #92CD 鋎 > hàn; #92CE é‹ > jiá; #92CF é‹ > hóng; #92D0 é‹‘ > cuÄn; #92D1 é‹’ > fÄ“ng; #92D2 é‹“ > chÄn; #92D3 é‹” > wăn; #92D4 é‹• > zhì; #92D5 é‹– > sÄ«; #92D6 é‹— > xuÄn; #92D7 鋘 > wú; #92D8 é‹™ > wú; #92D9 鋚 > tiáo; #92DA é‹› > gÅng; #92DB 鋜 > zhúo; #92DC é‹ > lÇœe; #92DD 鋞 > xíng; #92DE 鋟 > qiÄn; #92DF é‹  > shèn; #92E0 é‹¡ > hán; #92E1 é‹¢ > lÇœe; #92E2 é‹£ > xié; #92E3 鋤 > chú; #92E4 é‹¥ > zhèng; #92E5 鋦 > jú; #92E6 é‹§ > xiàn; #92E7 鋨 > tiÄ•; #92E8 é‹© > máng; #92E9 鋪 > pÅ«; #92EA é‹« > lí; #92EB 鋬 > pàn; #92EC é‹­ > rùi; #92ED é‹® > chéng; #92EE 鋯 > gào; #92EF é‹° > lÄ­; #92F0 鋱 > tè; #92F1 鋳 > zhù; #92F3 鋵 > tÅ«; #92F5 é‹¶ > lÄ­u; #92F6 é‹· > zùi; #92F7 鋸 > jù; #92F8 鋹 > chăng; #92F9 鋺 > yuÄn; #92FA é‹» > jiàn; #92FB 鋼 > gÄng; #92FC 鋽 > diào; #92FD 鋾 > táo; #92FE é‹¿ > cháng; #92FF 錀 > lún; #9300 éŒ > kuă; #9301 錂 > líng; #9302 錃 > bÄ“i; #9303 錄 > lù; #9304 錅 > lí; #9305 錆 > qiÄng; #9306 錇 > póu; #9307 錈 > juàn; #9308 錉 > mín; #9309 錊 > zùi; #930A 錋 > péng; #930B 錌 > àn; #930C éŒ > pí; #930D 錎 > xiàn; #930E éŒ > yà; #930F éŒ > zhÅ«i; #9310 錑 > lèi; #9311 錒 > Ä; #9312 錓 > kÅng; #9313 錔 > tà; #9314 錕 > kÅ«n; #9315 錖 > dÅ­; #9316 錗 > wèi; #9317 錘 > chúi; #9318 錙 > zÄ«; #9319 錚 > zhÄ“ng; #931A 錛 > bÄ“n; #931B 錜 > niÄ“; #931C éŒ > cóng; #931D 錞 > qún; #931E 錟 > tán; #931F 錠 > dìng; #9320 錡 > qí; #9321 錢 > qián; #9322 錣 > zhúo; #9323 錤 > qí; #9324 錥 > yù; #9325 錦 > jÄ­n; #9326 錧 > guăn; #9327 錨 > máo; #9328 錩 > chÄng; #9329 錪 > tiăn; #932A 錫 > xí; #932B 錬 > liàn; #932C 錭 > táo; #932D 錮 > gù; #932E 錯 > cùo; #932F 錰 > shù; #9330 錱 > zhÄ“n; #9331 録 > lù; #9332 錳 > mÄ•ng; #9333 錴 > lù; #9334 錵 > huÄ; #9335 錶 > biăo; #9336 錷 > gá; #9337 錸 > lái; #9338 錹 > kÄ•n; #9339 錼 > nài; #933C 錽 > wăn; #933D 錾 > zàn; #933E é€ > dé; #9340 é > xiÄn; #9341 éƒ > hÅ«o; #9343 é„ > liàng; #9344 é† > mén; #9346 é‡ > kăi; #9347 éˆ > yÄ«ng; #9348 é‰ > dÄ«; #9349 éŠ > liàn; #934A é‹ > gÅ«o; #934B éŒ > xiăn; #934C é > dù; #934D éŽ > tú; #934E é > wéi; #934F é > cÅng; #9350 é‘ > fù; #9351 é’ > róu; #9352 é“ > jí; #9353 é” > è; #9354 é• > róu; #9355 é– > chÄ•n; #9356 é— > tí; #9357 é˜ > zhá; #9358 é™ > hòng; #9359 éš > yáng; #935A é› > duàn; #935B éœ > xiÄ; #935C é > yú; #935D éž > kÄ“ng; #935E éŸ > xÄ«ng; #935F é  > huáng; #9360 é¡ > wÄ•i; #9361 é¢ > fù; #9362 é£ > zhÄo; #9363 é¤ > chá; #9364 é¥ > qiè; #9365 é¦ > shé; #9366 é§ > hÅng; #9367 é¨ > kúi; #9368 é© > tiăn; #9369 éª > móu; #936A é« > qiÄo; #936B é¬ > qiÄo; #936C é­ > hóu; #936D é® > tÅu; #936E é¯ > cÅng; #936F é° > huán; #9370 é± > yè; #9371 é² > mín; #9372 é³ > jiàn; #9373 é´ > duÄn; #9374 éµ > jiàn; #9375 é¶ > sÅng; #9376 é· > kÅ«i; #9377 é¸ > hú; #9378 é¹ > xuÄn; #9379 éº > dÅ­o; #937A é» > jié; #937B é¼ > zhÄ“n; #937C é½ > biÄn; #937D é¾ > zhÅng; #937E é¿ > zÄ«; #937F 鎀 > xÄ«u; #9380 éŽ > yé; #9381 鎂 > mÄ•i; #9382 鎃 > pài; #9383 鎄 > Äi; #9384 鎅 > jiè; #9385 鎇 > méi; #9387 鎈 > chÅ«o; #9388 鎉 > tà; #9389 鎊 > bàng; #938A 鎋 > xiá; #938B 鎌 > lián; #938C éŽ > sÅ­o; #938D 鎎 > xì; #938E éŽ > líu; #938F éŽ > zú; #9390 鎑 > yè; #9391 鎒 > nòu; #9392 鎓 > wÄ“ng; #9393 鎔 > róng; #9394 鎕 > táng; #9395 鎖 > sÅ­o; #9396 鎗 > qiÄng; #9397 鎘 > gé; #9398 鎙 > shùo; #9399 鎚 > chúi; #939A 鎛 > bó; #939B 鎜 > pán; #939C éŽ > sà; #939D 鎞 > bì; #939E 鎟 > săng; #939F 鎠 > gÄng; #93A0 鎡 > zÄ«; #93A1 鎢 > wù; #93A2 鎣 > yìng; #93A3 鎤 > huăng; #93A4 鎥 > tiáo; #93A5 鎦 > líu; #93A6 鎧 > kăi; #93A7 鎨 > sÅ­n; #93A8 鎩 > shÄ; #93A9 鎪 > sÅu; #93AA 鎫 > wàn; #93AB 鎬 > hào; #93AC 鎭 > zhèn; #93AD 鎮 > zhèn; #93AE 鎯 > lÅ­o; #93AF 鎰 > yì; #93B0 鎱 > yuán; #93B1 鎲 > tăng; #93B2 鎳 > niè; #93B3 鎴 > xí; #93B4 鎵 > jiÄ; #93B5 鎶 > gÄ“; #93B6 鎷 > mă; #93B7 鎸 > juÄn; #93B8 鎻 > sÅ­o; #93BB 鎿 > ná; #93BF é€ > lÅ­; #93C0 é > sÅ­o; #93C1 é‚ > Åu; #93C2 éƒ > zú; #93C3 é„ > tuán; #93C4 é… > xÄ«u; #93C5 é† > guàn; #93C6 é‡ > xuàn; #93C7 éˆ > liàn; #93C8 é‰ > shòu; #93C9 éŠ > áo; #93CA é‹ > măn; #93CB éŒ > mò; #93CC é > lúo; #93CD éŽ > bì; #93CE é > wèi; #93CF é > líu; #93D0 é‘ > dí; #93D1 é’ > qiÄo; #93D2 é“ > cÅng; #93D3 é” > yí; #93D4 é• > lù; #93D5 é– > áo; #93D6 é— > kÄ“ng; #93D7 é˜ > qiÄng; #93D8 é™ > cÅ«i; #93D9 éš > qì; #93DA é› > cháng; #93DB éœ > tÄng; #93DC é > màn; #93DD éž > yÅng; #93DE éŸ > chăn; #93DF é  > fÄ“ng; #93E0 é¡ > jìng; #93E1 é¢ > biÄo; #93E2 é£ > shù; #93E3 é¤ > lòu; #93E4 é¥ > xìu; #93E5 é¦ > cÅng; #93E6 é§ > lóng; #93E7 é¨ > zàn; #93E8 é© > jiàn; #93E9 éª > cáo; #93EA é« > lí; #93EB é¬ > xià; #93EC é­ > xÄ«; #93ED é® > kÄng; #93EE é° > bèng; #93F0 é³ > zhÄ“ng; #93F3 é´ > lù; #93F4 éµ > huá; #93F5 é¶ > jí; #93F6 é· > pú; #93F7 é¸ > hùi; #93F8 é¹ > qiÄng; #93F9 éº > pÅ; #93FA é» > lín; #93FB é¼ > sÅ­o; #93FC é½ > xìu; #93FD é¾ > săn; #93FE é¿ > chÄ“ng; #93FF é€ > kùi; #9400 é > sÄ«; #9401 é‚ > lìu; #9402 éƒ > náo; #9403 é„ > héng; #9404 é… > piÄ•; #9405 é† > sùi; #9406 é‡ > fán; #9407 éˆ > qiáo; #9408 é‰ > quÄn; #9409 éŠ > yáng; #940A é‹ > tàng; #940B éŒ > xiàng; #940C é > jué; #940D éŽ > jiÄo; #940E é > zÅ«n; #940F é > liáo; #9410 é‘ > jié; #9411 é’ > láo; #9412 é“ > dùi; #9413 é” > tán; #9414 é• > zÄn; #9415 é– > jÄ«; #9416 é— > jiăn; #9417 é˜ > zhÅng; #9418 é™ > dÄ“ng; #9419 éš > yà; #941A é› > yìng; #941B éœ > dùi; #941C é > jué; #941D éž > nòu; #941E éŸ > tì; #941F é  > pÅ­; #9420 é¡ > tiÄ•; #9421 é¤ > dÄ­ng; #9424 é¥ > shàn; #9425 é¦ > kÄi; #9426 é§ > jiăn; #9427 é¨ > fèi; #9428 é© > sùi; #9429 éª > lÅ­; #942A é« > juÄn; #942B é¬ > hùi; #942C é­ > yù; #942D é® > lián; #942E é¯ > zhúo; #942F é° > qiÄo; #9430 é± > qiÄn; #9431 é² > zhúo; #9432 é³ > léi; #9433 é´ > bì; #9434 éµ > tiÄ•; #9435 é¶ > huán; #9436 é· > yè; #9437 é¸ > dúo; #9438 é¹ > gÅ­o; #9439 éº > dÄng; #943A é» > jù; #943B é¼ > fén; #943C é½ > dá; #943D é¾ > bèi; #943E é¿ > yì; #943F é‘€ > ài; #9440 é‘ > zÅng; #9441 é‘‚ > xùn; #9442 鑃 > diào; #9443 é‘„ > zhù; #9444 é‘… > héng; #9445 鑆 > zhùi; #9446 鑇 > jÄ«; #9447 鑈 > niÄ“; #9448 鑉 > tà; #9449 鑊 > hùo; #944A é‘‹ > qìng; #944B 鑌 > bÄ«n; #944C é‘ > yÄ«ng; #944D 鑎 > kùi; #944E é‘ > níng; #944F é‘ > xÅ«; #9450 é‘‘ > jiàn; #9451 é‘’ > jiàn; #9452 é‘” > chă; #9454 é‘• > zhì; #9455 é‘– > miè; #9456 é‘— > lí; #9457 鑘 > léi; #9458 é‘™ > jÄ«; #9459 鑚 > zuàn; #945A é‘› > kuàng; #945B 鑜 > shàng; #945C é‘ > péng; #945D 鑞 > là; #945E 鑟 > dú; #945F é‘  > shùo; #9460 é‘¡ > chùo; #9461 é‘¢ > lÇœ; #9462 é‘£ > biÄo; #9463 鑤 > bào; #9464 é‘¥ > lÅ­; #9465 鑨 > lóng; #9468 é‘© > è; #9469 鑪 > lú; #946A é‘« > xÄ«n; #946B 鑬 > jiàn; #946C é‘­ > làn; #946D é‘® > bó; #946E 鑯 > jiÄn; #946F é‘° > yào; #9470 鑱 > chán; #9471 鑲 > xiÄng; #9472 鑳 > jiàn; #9473 é‘´ > xÄ«; #9474 鑵 > guàn; #9475 é‘¶ > cáng; #9476 é‘· > niè; #9477 鑸 > lÄ•i; #9478 鑹 > cuàn; #9479 鑺 > qú; #947A é‘» > pàn; #947B 鑼 > lúo; #947C 鑽 > zuàn; #947D 鑾 > luán; #947E é‘¿ > záo; #947F é’€ > niè; #9480 é’ > jué; #9481 é’‚ > tăng; #9482 é’ƒ > shÅ­; #9483 é’„ > lán; #9484 é’… > jÄ«n; #9485 é’† > qíu; #9486 é’‡ > yÄ­; #9487 é’ˆ > zhÄ“n; #9488 é’‰ > dÄ«ng; #9489 é’Š > zhÄo; #948A é’‹ > pò; #948B é’Œ > diăo; #948C é’ > tÅ­; #948D é’Ž > qiÄn; #948E é’ > chuàn; #948F é’ > shàn; #9490 é’‘ > jí; #9491 é’’ > fán; #9492 é’“ > diào; #9493 é’” > mén; #9494 é’• > nÇš; #9495 é’– > xí; #9496 é’— > chÄi; #9497 é’˜ > xíng; #9498 é’™ > gài; #9499 é’š > bù; #949A é’› > tài; #949B é’œ > jù; #949C é’ > dùn; #949D é’ž > chÄo; #949E é’Ÿ > zhÅng; #949F é’  > nà; #94A0 é’¡ > bèi; #94A1 é’¢ > gÄng; #94A2 é’£ > băn; #94A3 é’¤ > qián; #94A4 é’¥ > yào; #94A5 é’¦ > qÄ«n; #94A6 é’§ > jÅ«n; #94A7 é’¨ > wù; #94A8 é’© > gÅu; #94A9 é’ª > kàng; #94AA é’« > fÄng; #94AB é’¬ > húo; #94AC é’­ > tÅu; #94AD é’® > nÄ­u; #94AE é’¯ > bă; #94AF é’° > yù; #94B0 é’± > qián; #94B1 é’² > zhÄ“ng; #94B2 é’³ > qián; #94B3 é’´ > gÅ«; #94B4 é’µ > bÅ; #94B5 é’¶ > Ä“; #94B6 é’· > pÅ; #94B7 é’¸ > bù; #94B8 é’¹ > bá; #94B9 é’º > yuè; #94BA é’» > zuàn; #94BB é’¼ > mù; #94BC é’½ > dàn; #94BD é’¾ > jiă; #94BE é’¿ > diàn; #94BF é“€ > yóu; #94C0 é“ > tiÄ•; #94C1 é“‚ > bó; #94C2 铃 > líng; #94C3 é“„ > shùo; #94C4 é“… > qiÄn; #94C5 铆 > lÄ­u; #94C6 铇 > bào; #94C7 铈 > shì; #94C8 铉 > xuàn; #94C9 铊 > shé; #94CA é“‹ > bì; #94CB 铌 > nÄ­; #94CC é“ > pÄ«; #94CD 铎 > dúo; #94CE é“ > xíng; #94CF é“ > kào; #94D0 é“‘ > lăo; #94D1 é“’ > èr; #94D2 é““ > máng; #94D3 é“” > yà; #94D4 é“• > yÅu; #94D5 é“– > chéng; #94D6 é“— > jiá; #94D7 铘 > yé; #94D8 é“™ > náo; #94D9 铚 > zhì; #94DA é“› > dÄng; #94DB 铜 > tóng; #94DC é“ > lÇš; #94DD 铞 > diào; #94DE 铟 > yÄ«n; #94DF é“  > kăi; #94E0 é“¡ > zhá; #94E1 é“¢ > zhÅ«; #94E2 é“£ > xiăn; #94E3 铤 > tÄ­ng; #94E4 é“¥ > dÄ«u; #94E5 铦 > xiÄn; #94E6 é“§ > huá; #94E7 铨 > quán; #94E8 é“© > shÄ; #94E9 铪 > jiá; #94EA é“« > yáo; #94EB 铬 > gè; #94EC é“­ > míng; #94ED é“® > zhÄ“ng; #94EE 铯 > sè; #94EF é“° > jiăo; #94F0 铱 > yÄ­; #94F1 铲 > chăn; #94F2 铳 > chòng; #94F3 é“´ > tàng; #94F4 铵 > Än; #94F5 é“¶ > yín; #94F6 é“· > rÅ­; #94F7 铸 > zhù; #94F8 铹 > láo; #94F9 铺 > pÅ«; #94FA é“» > wú; #94FB 铼 > lái; #94FC 铽 > tè; #94FD 链 > liàn; #94FE é“¿ > kÄ“ng; #94FF 销 > xiÄo; #9500 é” > sÅ­o; #9501 锂 > lÄ­; #9502 锃 > zhèng; #9503 锄 > chú; #9504 é”… > gÅ«o; #9505 锆 > gào; #9506 锇 > tiÄ•; #9507 锈 > xìu; #9508 锉 > cùo; #9509 锊 > lÇœe; #950A 锋 > fÄ“ng; #950B 锌 > xÄ«n; #950C é” > lÄ­u; #950D 锎 > kÄi; #950E é” > jiăn; #950F é” > rùi; #9510 锑 > tì; #9511 é”’ > láng; #9512 锓 > qiÄn; #9513 é”” > jú; #9514 锕 > Ä; #9515 é”– > qiÄng; #9516 é”— > dÅ­o; #9517 锘 > tiăn; #9518 é”™ > cùo; #9519 锚 > máo; #951A é”› > bÄ“n; #951B 锜 > qí; #951C é” > dé; #951D 锞 > kuă; #951E 锟 > kÅ«n; #951F é”  > chÄng; #9520 锡 > xí; #9521 锢 > gù; #9522 锣 > lúo; #9523 锤 > chúi; #9524 锥 > zhÅ«i; #9525 锦 > jÄ­n; #9526 é”§ > zhì; #9527 锨 > xiÄn; #9528 锩 > juàn; #9529 锪 > hÅ«o; #952A 锫 > póu; #952B 锬 > tán; #952C é”­ > dìng; #952D é”® > jiàn; #952E 锯 > jù; #952F é”° > mÄ•ng; #9530 é”± > zÄ«; #9531 锲 > qiè; #9532 锳 > yÄ«ng; #9533 é”´ > kăi; #9534 锵 > qiÄng; #9535 é”¶ > sÅng; #9536 é”· > è; #9537 锸 > chá; #9538 锹 > qiÄo; #9539 锺 > zhÅng; #953A é”» > duàn; #953B 锼 > sÅu; #953C 锽 > huáng; #953D 锾 > huán; #953E 锿 > Äi; #953F é•€ > dù; #9540 é• > mÄ•i; #9541 é•‚ > lòu; #9542 镃 > zÄ«; #9543 é•„ > fèi; #9544 é•… > méi; #9545 镆 > mò; #9546 镇 > zhèn; #9547 镈 > bó; #9548 镉 > gé; #9549 镊 > niè; #954A é•‹ > tăng; #954B 镌 > juÄn; #954C é• > niè; #954D 镎 > ná; #954E é• > líu; #954F é• > hào; #9550 é•‘ > bàng; #9551 é•’ > yì; #9552 é•“ > jiÄ; #9553 é•” > bÄ«n; #9554 é•• > róng; #9555 é•– > biÄo; #9556 é•— > tÄng; #9557 镘 > màn; #9558 é•™ > lúo; #9559 镚 > bèng; #955A é•› > yÅng; #955B 镜 > jìng; #955C é• > dí; #955D 镞 > zú; #955E 镟 > xuàn; #955F é•  > líu; #9560 é•¡ > tán; #9561 é•¢ > jué; #9562 é•£ > liáo; #9563 镤 > pú; #9564 é•¥ > lÅ­; #9565 镦 > dùi; #9566 é•§ > làn; #9567 镨 > pÅ­; #9568 é•© > cuàn; #9569 镪 > qiÄng; #956A é•« > dÄ“ng; #956B 镬 > hùo; #956C é•­ > léi; #956D é•® > huán; #956E 镯 > zhúo; #956F é•° > lián; #9570 镱 > yì; #9571 镲 > chă; #9572 镳 > biÄo; #9573 é•´ > là; #9574 镵 > chán; #9575 é•¶ > xiÄng; #9576 é•· > cháng; #9577 镸 > cháng; #9578 镹 > jÄ­u; #9579 镺 > ăo; #957A é•» > dié; #957B 镼 > qÅ«; #957C 镽 > liăo; #957D 镾 > mí; #957E é•¿ > cháng; #957F é–€ > mén; #9580 é– > mà; #9581 é–‚ > shuÄn; #9582 é–ƒ > shăn; #9583 é–„ > hùo; #9584 é–… > mén; #9585 é–† > yàn; #9586 é–‡ > bì; #9587 é–ˆ > hàn; #9588 é–‰ > bì; #9589 é–‹ > kÄi; #958B é–Œ > kàng; #958C é– > bÄ“ng; #958D é–Ž > hóng; #958E é– > rùn; #958F é– > sàn; #9590 é–‘ > xián; #9591 é–’ > xián; #9592 é–“ > jiÄn; #9593 é–” > mÄ­n; #9594 é–• > xiÄ; #9595 é–— > dòu; #9597 é–˜ > zhá; #9598 é–™ > nào; #9599 é–š > jian; #959A é–› > pÄ“ng; #959B é–œ > xiă; #959C é– > líng; #959D é–ž > biàn; #959E é–Ÿ > bì; #959F é–  > rùn; #95A0 é–¡ > hé; #95A1 é–¢ > guÄn; #95A2 é–£ > gé; #95A3 é–¤ > gé; #95A4 é–¥ > fá; #95A5 é–¦ > chù; #95A6 é–§ > hòng; #95A7 é–¨ > gÅ«i; #95A8 é–© > mÄ­n; #95A9 é–« > kÅ­n; #95AB é–¬ > lăng; #95AC é–­ > lǘ; #95AD é–® > tíng; #95AE é–¯ > shà; #95AF é–° > jú; #95B0 é–± > yuè; #95B1 é–² > yuè; #95B2 é–³ > chăn; #95B3 é–´ > qù; #95B4 é–µ > lìn; #95B5 é–¶ > chÄng; #95B6 é–· > shài; #95B7 é–¸ > kÅ­n; #95B8 é–¹ > yÄn; #95B9 é–º > mín; #95BA é–» > yán; #95BB é–¼ > è; #95BC é–½ > hÅ«n; #95BD é–¾ > yù; #95BE é–¿ > wén; #95BF é—€ > xiàng; #95C0 é— > bao; #95C1 é—‚ > xiàng; #95C2 é—ƒ > qù; #95C3 é—„ > yăo; #95C4 é—… > wén; #95C5 é—† > băn; #95C6 é—‡ > àn; #95C7 é—ˆ > wéi; #95C8 é—‰ > yÄ«n; #95C9 é—Š > kùo; #95CA é—‹ > què; #95CB é—Œ > lán; #95CC é— > dÅ«; #95CD é— > tián; #95D0 é—‘ > niè; #95D1 é—’ > tà; #95D2 é—“ > kăi; #95D3 é—” > hé; #95D4 é—• > què; #95D5 é—– > chuăng; #95D6 é—— > guÄn; #95D7 é—˜ > dòu; #95D8 é—™ > qÄ­; #95D9 é—š > kÅ«i; #95DA é—› > táng; #95DB é—œ > guÄn; #95DC é— > piáo; #95DD é—ž > kàn; #95DE é—Ÿ > xì; #95DF é—  > hùi; #95E0 é—¡ > chăn; #95E1 é—¢ > pì; #95E2 é—£ > dàng; #95E3 é—¤ > huán; #95E4 é—¥ > tà; #95E5 é—¦ > wén; #95E6 é—¨ > mén; #95E8 é—© > shuÄn; #95E9 é—ª > shăn; #95EA é—« > yàn; #95EB é—¬ > hàn; #95EC é—­ > bì; #95ED é—® > wèn; #95EE é—¯ > chuăng; #95EF é—° > rùn; #95F0 é—± > wéi; #95F1 é—² > xián; #95F2 é—³ > hóng; #95F3 é—´ > jiÄn; #95F4 é—µ > mÄ­n; #95F5 é—¶ > kàng; #95F6 é—· > mèn; #95F7 é—¸ > zhá; #95F8 é—¹ > nào; #95F9 é—º > gÅ«i; #95FA é—» > wén; #95FB é—¼ > tà; #95FC é—½ > mÄ­n; #95FD é—¾ > lǘ; #95FE é—¿ > kăi; #95FF 阀 > fá; #9600 é˜ > gé; #9601 阂 > hé; #9602 阃 > kÅ­n; #9603 阄 > jÄ«u; #9604 阅 > yuè; #9605 阆 > lăng; #9606 阇 > dÅ«; #9607 阈 > yù; #9608 阉 > yÄn; #9609 阊 > chÄng; #960A 阋 > xì; #960B 阌 > wén; #960C é˜ > hÅ«n; #960D 阎 > yán; #960E é˜ > è; #960F é˜ > chăn; #9610 阑 > lán; #9611 阒 > qù; #9612 阓 > hùi; #9613 阔 > kùo; #9614 阕 > què; #9615 阖 > gé; #9616 阗 > tián; #9617 阘 > tà; #9618 阙 > què; #9619 阚 > kàn; #961A 阛 > huán; #961B 阜 > fù; #961C é˜ > fù; #961D 阞 > lè; #961E 队 > dùi; #961F 阠 > xìn; #9620 阡 > qiÄn; #9621 阢 > wù; #9622 阣 > yì; #9623 阤 > túo; #9624 阥 > yÄ«n; #9625 阦 > yáng; #9626 阧 > dÅu; #9627 阨 > è; #9628 阩 > shÄ“ng; #9629 阪 > băn; #962A 阫 > péi; #962B 阬 > kÄ“ng; #962C 阭 > yÅ­n; #962D 阮 > ruăn; #962E 阯 > zhÄ­; #962F 阰 > pí; #9630 阱 > jÄ­ng; #9631 防 > fáng; #9632 阳 > yáng; #9633 阴 > yÄ«n; #9634 阵 > zhèn; #9635 阶 > jiÄ“; #9636 阷 > chÄ“ng; #9637 阸 > è; #9638 阹 > qÅ«; #9639 阺 > dÄ­; #963A 阻 > zÅ­; #963B 阼 > zùo; #963C 阽 > diàn; #963D 阾 > lÄ­ng; #963E 阿 > Ä; #963F 陀 > túo; #9640 é™ > túo; #9641 陂 > pÅ; #9642 陃 > bÄ­ng; #9643 附 > fù; #9644 é™… > jì; #9645 陆 > lù; #9646 陇 > lÅng; #9647 陈 > chén; #9648 陉 > xíng; #9649 陊 > dùo; #964A 陋 > lòu; #964B 陌 > mò; #964C é™ > jiàng; #964D 陎 > shÅ«; #964E é™ > dùo; #964F é™ > xiàn; #9650 陑 > ér; #9651 é™’ > gÅ­i; #9652 陓 > yÅ«; #9653 é™” > gÄi; #9654 陕 > shăn; #9655 é™– > xùn; #9656 é™— > qiào; #9657 陘 > xíng; #9658 é™™ > chún; #9659 陚 > fù; #965A é™› > bì; #965B 陜 > xiá; #965C é™ > shăn; #965D 陞 > shÄ“ng; #965E 陟 > zhì; #965F é™  > pÅ«; #9660 陡 > dÅu; #9661 院 > yuàn; #9662 陣 > zhèn; #9663 除 > chú; #9664 陥 > xiàn; #9665 é™§ > niè; #9667 陨 > yÅ­n; #9668 险 > xiăn; #9669 陪 > péi; #966A 陫 > péi; #966B 陬 > zÅu; #966C é™­ > yÄ«; #966D é™® > dÅ­i; #966E 陯 > lún; #966F é™° > yÄ«n; #9670 é™± > jÅ«; #9671 陲 > chúi; #9672 陳 > chén; #9673 é™´ > pí; #9674 陵 > líng; #9675 é™¶ > táo; #9676 é™· > xiàn; #9677 陸 > lù; #9678 陹 > sheng; #9679 険 > xiăn; #967A é™» > yÄ«n; #967B 陼 > zhÅ­; #967C 陽 > yáng; #967D 陾 > réng; #967E 陿 > shăn; #967F 隀 > chóng; #9680 éš > yàn; #9681 éš‚ > yÄ«n; #9682 隃 > yú; #9683 éš„ > tí; #9684 éš… > yú; #9685 隆 > lóng; #9686 隇 > wÄ“i; #9687 隈 > wÄ“i; #9688 隉 > niè; #9689 隊 > dùi; #968A éš‹ > súi; #968B 隌 > ăn; #968C éš > huáng; #968D 階 > jiÄ“; #968E éš > súi; #968F éš > yÄ­n; #9690 éš‘ > gÄi; #9691 éš’ > yăn; #9692 éš“ > hÅ«i; #9693 éš” > gé; #9694 éš• > yÅ­n; #9695 éš– > wù; #9696 éš— > wÄ•i; #9697 隘 > ài; #9698 éš™ > xì; #9699 éšš > táng; #969A éš› > jì; #969B éšœ > zhàng; #969C éš > dăo; #969D éšž > áo; #969E 隟 > xì; #969F éš  > yÄ­n; #96A0 隢 > rào; #96A2 隣 > lín; #96A3 隤 > túi; #96A4 隥 > dèng; #96A5 隦 > pÄ­; #96A6 éš§ > sùi; #96A7 隨 > súi; #96A8 éš© > yù; #96A9 險 > xiăn; #96AA éš« > fÄ“n; #96AB 隬 > nÄ­; #96AC éš­ > ér; #96AD éš® > jÄ«; #96AE 隯 > dăo; #96AF éš° > xí; #96B0 éš± > yÄ­n; #96B1 éš² > é; #96B2 éš³ > hÅ«i; #96B3 éš´ > lÅng; #96B4 éšµ > xÄ«; #96B5 éš¶ > lì; #96B6 éš· > lì; #96B7 隸 > lì; #96B8 éš¹ > zhÅ«i; #96B9 隺 > hè; #96BA éš» > zhÄ«; #96BB éš¼ > zhÅ­n; #96BC éš½ > jùn; #96BD éš¾ > nán; #96BE éš¿ > yì; #96BF 雀 > què; #96C0 é› > yàn; #96C1 雂 > qián; #96C2 雃 > yă; #96C3 雄 > xíong; #96C4 é›… > yă; #96C5 集 > jí; #96C6 雇 > gù; #96C7 雈 > huán; #96C8 雉 > zhì; #96C9 雊 > gòu; #96CA 雋 > jùn; #96CB 雌 > cí; #96CC é› > yÅng; #96CD 雎 > jÅ«; #96CE é› > chú; #96CF é› > hÅ«; #96D0 雑 > zá; #96D1 é›’ > lùo; #96D2 雓 > yú; #96D3 é›” > chóu; #96D4 雕 > diÄo; #96D5 é›– > sÅ«i; #96D6 é›— > hàn; #96D7 雘 > hùo; #96D8 é›™ > shuÄng; #96D9 雚 > guàn; #96DA é›› > chú; #96DB 雜 > zá; #96DC é› > yÅng; #96DD 雞 > jÄ«; #96DE 雟 > xÄ«; #96DF é›  > chóu; #96E0 雡 > lìu; #96E1 離 > lí; #96E2 難 > nán; #96E3 雤 > xué; #96E4 雥 > zá; #96E5 雦 > jí; #96E6 é›§ > jí; #96E7 雨 > yÅ­; #96E8 雩 > yú; #96E9 雪 > xuÄ•; #96EA 雫 > nă; #96EB 雬 > fÅu; #96EC é›­ > sè; #96ED é›® > mù; #96EE 雯 > wén; #96EF é›° > fÄ“n; #96F0 é›± > páng; #96F1 雲 > yún; #96F2 雳 > lì; #96F3 é›´ > lì; #96F4 雵 > ăng; #96F5 é›¶ > líng; #96F6 é›· > léi; #96F7 雸 > án; #96F8 雹 > báo; #96F9 雺 > méng; #96FA é›» > diàn; #96FB 雼 > dàng; #96FC 雽 > xíng; #96FD 雾 > wù; #96FE 雿 > zhào; #96FF 需 > xÅ«; #9700 éœ > jì; #9701 霂 > mù; #9702 霃 > chén; #9703 霄 > xiÄo; #9704 霅 > zhá; #9705 霆 > tíng; #9706 震 > zhèn; #9707 霈 > pèi; #9708 霉 > méi; #9709 霊 > líng; #970A 霋 > qÄ«; #970B 霌 > chÅu; #970C éœ > hùo; #970D 霎 > shà; #970E éœ > fÄ“i; #970F éœ > wÄ“ng; #9710 霑 > zhÄn; #9711 霒 > yÄ«n; #9712 霓 > ní; #9713 霔 > chòu; #9714 霕 > tún; #9715 霖 > lín; #9716 霘 > dòng; #9718 霙 > yÄ«ng; #9719 霚 > wù; #971A 霛 > líng; #971B 霜 > shuÄng; #971C éœ > líng; #971D 霞 > xiá; #971E 霟 > hóng; #971F 霠 > yÄ«n; #9720 霡 > mò; #9721 霢 > mài; #9722 霣 > yÅ­n; #9723 霤 > lìu; #9724 霥 > mèng; #9725 霦 > bÄ«n; #9726 霧 > wù; #9727 霨 > wèi; #9728 霩 > hùo; #9729 霪 > yín; #972A 霫 > xí; #972B 霬 > yì; #972C 霭 > ăi; #972D 霮 > dàn; #972E 霯 > dèng; #972F 霰 > xiàn; #9730 霱 > yù; #9731 露 > lù; #9732 霳 > lóng; #9733 霴 > dài; #9734 霵 > jí; #9735 霶 > páng; #9736 霷 > yáng; #9737 霸 > bà; #9738 霹 > pÄ«; #9739 霺 > wéi; #973A 霼 > xÄ­; #973C 霽 > jì; #973D 霾 > mái; #973E 霿 > mèng; #973F é€ > méng; #9740 é > léi; #9741 é‚ > lì; #9742 éƒ > hùo; #9743 é„ > ăi; #9744 é… > fèi; #9745 é† > dài; #9746 é‡ > lóng; #9747 éˆ > líng; #9748 é‰ > ài; #9749 éŠ > fÄ“ng; #974A é‹ > lì; #974B éŒ > băo; #974C éŽ > hè; #974E é > hè; #974F é > bìng; #9750 é‘ > qÄ«ng; #9751 é’ > qÄ«ng; #9752 é“ > jìng; #9753 é” > tiÄn; #9754 é• > zhÄ“n; #9755 é– > jìng; #9756 é— > chèng; #9757 é˜ > qìng; #9758 é™ > jìng; #9759 éš > jìng; #975A é› > diàn; #975B éœ > jìng; #975C é > tiÄn; #975D éž > fÄ“i; #975E éŸ > fÄ“i; #975F é  > kào; #9760 é¡ > mÄ­; #9761 é¢ > miàn; #9762 é£ > miàn; #9763 é¤ > pào; #9764 é¥ > yè; #9765 é¦ > tiăn; #9766 é§ > hùi; #9767 é¨ > yè; #9768 é© > gé; #9769 éª > dÄ«ng; #976A é« > chÄ; #976B é¬ > jiÄn; #976C é­ > rèn; #976D é® > dí; #976E é¯ > dù; #976F é° > wù; #9770 é± > rèn; #9771 é² > qín; #9772 é³ > jìn; #9773 é´ > xuÄ“; #9774 éµ > nÄ­u; #9775 é¶ > bă; #9776 é· > yÄ­n; #9777 é¸ > să; #9778 é¹ > nà; #9779 éº > mò; #977A é» > zÅ­; #977B é¼ > dá; #977C é½ > bàn; #977D é¾ > yì; #977E é¿ > yào; #977F 鞀 > táo; #9780 éž > túo; #9781 éž‚ > jiá; #9782 鞃 > hóng; #9783 éž„ > páo; #9784 éž… > yăng; #9785 鞇 > yÄ«n; #9787 鞈 > jiá; #9788 鞉 > táo; #9789 鞊 > jí; #978A éž‹ > xié; #978B 鞌 > Än; #978C éž > Än; #978D 鞎 > hén; #978E éž > gÅng; #978F éž‘ > dá; #9791 éž’ > qiÄo; #9792 éž“ > tÄ«ng; #9793 éž” > wăn; #9794 éž• > yìng; #9795 éž– > sÅ«i; #9796 éž— > tiáo; #9797 鞘 > qiào; #9798 éž™ > xuàn; #9799 éžš > kòng; #979A éž› > bÄ•ng; #979B éžœ > tà; #979C éž > zhăng; #979D éžž > bÄ­ng; #979E 鞟 > kùo; #979F éž  > jú; #97A0 éž¡ > la; #97A1 鞢 > xiè; #97A2 鞣 > róu; #97A3 鞤 > bÄng; #97A4 鞥 > yì; #97A5 鞦 > qÄ«u; #97A6 éž§ > qÄ«u; #97A7 鞨 > hé; #97A8 éž© > xiào; #97A9 鞪 > mù; #97AA éž« > jú; #97AB 鞬 > jiÄn; #97AC éž­ > biÄn; #97AD éž® > dÄ«; #97AE 鞯 > jiÄn; #97AF éž± > tÄo; #97B1 éž² > gÅu; #97B2 éž³ > tà; #97B3 éž´ > bèi; #97B4 éžµ > xié; #97B5 éž¶ > pán; #97B6 éž· > gé; #97B7 鞸 > bì; #97B8 éž¹ > kùo; #97B9 鞺 > tang; #97BA éž» > lóu; #97BB éž¼ > gùi; #97BC éž½ > qiáo; #97BD éž¾ > xuÄ“; #97BE éž¿ > jÄ«; #97BF 韀 > jiÄn; #97C0 éŸ > jiÄng; #97C1 韂 > chàn; #97C2 韃 > dá; #97C3 韄 > hùo; #97C4 韅 > xiăn; #97C5 韆 > qiÄn; #97C6 韇 > dú; #97C7 韈 > wà; #97C8 韉 > jiÄn; #97C9 韊 > lán; #97CA 韋 > wéi; #97CB 韌 > rèn; #97CC éŸ > fú; #97CD 韎 > mèi; #97CE éŸ > juàn; #97CF éŸ > gé; #97D0 韑 > wÄ•i; #97D1 韒 > qiào; #97D2 韓 > hán; #97D3 韔 > chàng; #97D4 韖 > róu; #97D6 韗 > xùn; #97D7 韘 > shè; #97D8 韙 > wÄ•i; #97D9 韚 > gé; #97DA 韛 > bèi; #97DB 韜 > tÄo; #97DC éŸ > gÅu; #97DD 韞 > yùn; #97DE 韠 > bì; #97E0 韡 > wÄ•i; #97E1 韢 > hùi; #97E2 韣 > dú; #97E3 韤 > wà; #97E4 韥 > dú; #97E5 韦 > wéi; #97E6 韧 > rèn; #97E7 韨 > fú; #97E8 韩 > hán; #97E9 韪 > wÄ•i; #97EA 韫 > yùn; #97EB 韬 > tÄo; #97EC 韭 > jÄ­u; #97ED 韮 > jÄ­u; #97EE 韯 > xiÄn; #97EF 韰 > xiè; #97F0 韱 > xiÄn; #97F1 韲 > jÄ«; #97F2 音 > yÄ«n; #97F3 韴 > zá; #97F4 韵 > yùn; #97F5 韶 > sháo; #97F6 韷 > lè; #97F7 韸 > péng; #97F8 韹 > héng; #97F9 韺 > yÄ«ng; #97FA 韻 > yùn; #97FB 韼 > péng; #97FC 韽 > yÄ«n; #97FD 韾 > yÄ«n; #97FE 響 > xiăng; #97FF é € > hù; #9800 é  > yè; #9801 é ‚ > dÄ­ng; #9802 é ƒ > qÄ­ng; #9803 é „ > pàn; #9804 é … > xiàng; #9805 é † > shùn; #9806 é ‡ > hÄn; #9807 é ˆ > xÅ«; #9808 é ‰ > yí; #9809 é Š > xù; #980A é ‹ > gù; #980B é Œ > sòng; #980C é  > kÅ­i; #980D é Ž > qí; #980E é  > háng; #980F é  > yù; #9810 é ‘ > wán; #9811 é ’ > bÄn; #9812 é “ > dùn; #9813 é ” > dí; #9814 é • > dÄn; #9815 é – > pàn; #9816 é — > pÅ; #9817 é ˜ > lÄ­ng; #9818 é ™ > cè; #9819 é š > jÄ­ng; #981A é › > lÄ•i; #981B é œ > hé; #981C é  > qiÄo; #981D é ž > è; #981E é Ÿ > é; #981F é   > wÄ•i; #9820 é ¡ > jié; #9821 é ¢ > guÄ; #9822 é £ > shÄ•n; #9823 é ¤ > yí; #9824 é ¥ > shÄ•n; #9825 é ¦ > hái; #9826 é § > dÅ«i; #9827 é ¨ > piÄn; #9828 é © > pÄ«ng; #9829 é ª > lèi; #982A é « > fÅ­; #982B é ¬ > jiá; #982C é ­ > tóu; #982D é ® > hùi; #982E é ¯ > kúi; #982F é ° > jiá; #9830 é ± > lè; #9831 é ² > tian; #9832 é ³ > chÄ“ng; #9833 é ´ > yÄ­ng; #9834 é µ > jÅ«n; #9835 é ¶ > hú; #9836 é · > hàn; #9837 é ¸ > jÄ­ng; #9838 é ¹ > túi; #9839 é º > túi; #983A é » > pín; #983B é ¼ > lài; #983C é ½ > túi; #983D é ¾ > zÄ«; #983E é ¿ > zÄ«; #983F é¡€ > chúi; #9840 é¡ > dìng; #9841 é¡‚ > lài; #9842 顃 > yán; #9843 é¡„ > hàn; #9844 é¡… > jiÄn; #9845 顆 > kÄ“; #9846 顇 > cùi; #9847 顈 > jÄ­ong; #9848 顉 > qÄ«n; #9849 顊 > yí; #984A é¡‹ > sÄi; #984B 題 > tí; #984C é¡ > é; #984D 顎 > è; #984E é¡ > yán; #984F é¡ > hún; #9850 é¡‘ > kăn; #9851 é¡’ > yóng; #9852 é¡“ > zhuÄn; #9853 é¡” > yán; #9854 é¡• > xiăn; #9855 é¡– > xìn; #9856 é¡— > yÄ­; #9857 願 > yuàn; #9858 é¡™ > săng; #9859 顚 > diÄn; #985A é¡› > diÄn; #985B 顜 > jiăng; #985C é¡ > kÅ«; #985D 類 > lèi; #985E 顟 > liáo; #985F é¡  > piào; #9860 é¡¡ > yì; #9861 é¡¢ > mán; #9862 é¡£ > qÄ«; #9863 顤 > rào; #9864 é¡¥ > hào; #9865 顦 > qiáo; #9866 é¡§ > gù; #9867 顨 > xùn; #9868 é¡© > qiÄn; #9869 顪 > hÅ«i; #986A é¡« > zhàn; #986B 顬 > rú; #986C é¡­ > hÅng; #986D é¡® > bÄ«n; #986E 顯 > xiăn; #986F é¡° > pín; #9870 顱 > lú; #9871 顲 > lăn; #9872 顳 > niè; #9873 é¡´ > quán; #9874 页 > yè; #9875 é¡¶ > dÄ­ng; #9876 é¡· > qÄ­ng; #9877 顸 > hÄn; #9878 项 > xiàng; #9879 顺 > shùn; #987A é¡» > xÅ«; #987B 顼 > xù; #987C 顽 > wán; #987D 顾 > gù; #987E é¡¿ > dùn; #987F 颀 > qí; #9880 é¢ > bÄn; #9881 颂 > sòng; #9882 颃 > háng; #9883 预 > yù; #9884 颅 > lú; #9885 领 > lÄ­ng; #9886 颇 > pÅ; #9887 颈 > jÄ­ng; #9888 颉 > jié; #9889 颊 > jiá; #988A 颋 > tian; #988B 颌 > hàn; #988C é¢ > yÄ­ng; #988D 颎 > jÄ­ong; #988E é¢ > hái; #988F é¢ > yí; #9890 频 > pín; #9891 颒 > hùi; #9892 颓 > túi; #9893 颔 > hàn; #9894 颕 > yÄ­ng; #9895 颖 > yÄ­ng; #9896 颗 > kÄ“; #9897 题 > tí; #9898 颙 > yóng; #9899 颚 > è; #989A 颛 > zhuÄn; #989B 颜 > yán; #989C é¢ > é; #989D 颞 > niè; #989E 颟 > mán; #989F 颠 > diÄn; #98A0 颡 > săng; #98A1 颢 > hào; #98A2 颣 > lèi; #98A3 颤 > zhàn; #98A4 颥 > rú; #98A5 颦 > pín; #98A6 颧 > quán; #98A7 風 > fÄ“ng; #98A8 颩 > biÄo; #98A9 颫 > fú; #98AB 颬 > xiÄ; #98AC 颭 > zhăn; #98AD 颮 > biÄo; #98AE 颯 > sà; #98AF 颰 > bá; #98B0 颱 > tái; #98B1 颲 > liè; #98B2 颳 > guÄ; #98B3 颴 > xuàn; #98B4 颵 > shào; #98B5 颶 > jù; #98B6 颷 > bÄ«; #98B7 颸 > sÄ«; #98B8 颹 > wÄ•i; #98B9 颺 > yáng; #98BA 颻 > yáo; #98BB 颼 > sÅu; #98BC 颽 > kăi; #98BD 颾 > sÄo; #98BE 颿 > fán; #98BF 飀 > líu; #98C0 é£ > xí; #98C1 飂 > liáo; #98C2 飃 > piÄo; #98C3 飄 > piÄo; #98C4 飅 > líu; #98C5 飆 > biÄo; #98C6 飇 > biÄo; #98C7 飈 > biăo; #98C8 飉 > liáo; #98C9 飋 > sè; #98CB 飌 > fÄ“ng; #98CC é£ > biÄo; #98CD 风 > fÄ“ng; #98CE é£ > yáng; #98CF é£ > zhăn; #98D0 飑 > biÄo; #98D1 飒 > sà; #98D2 飓 > jù; #98D3 飔 > sÄ«; #98D4 飕 > sÅu; #98D5 飖 > yáo; #98D6 飗 > líu; #98D7 飘 > piÄo; #98D8 飙 > biÄo; #98D9 飚 > biÄo; #98DA 飛 > fÄ“i; #98DB 飜 > fÄn; #98DC é£ > fÄ“i; #98DD 飞 > fÄ“i; #98DE 食 > shí; #98DF 飠 > shí; #98E0 飡 > cÄn; #98E1 飢 > jÄ«; #98E2 飣 > dìng; #98E3 飤 > sì; #98E4 飥 > tÅ«o; #98E5 飦 > zhÄn; #98E6 飧 > sÅ«n; #98E7 飨 > xiăng; #98E8 飩 > tún; #98E9 飪 > rèn; #98EA 飫 > yù; #98EB 飬 > juàn; #98EC 飭 > chì; #98ED 飮 > yÄ­n; #98EE 飯 > fàn; #98EF 飰 > fàn; #98F0 飱 > sÅ«n; #98F1 飲 > yÄ­n; #98F2 飳 > zhù; #98F3 飴 > yí; #98F4 飵 > zhăi; #98F5 飶 > bì; #98F6 飷 > jiÄ•; #98F7 飸 > tÄo; #98F8 飹 > lÄ­u; #98F9 飺 > cí; #98FA 飻 > tiè; #98FB 飼 > sì; #98FC 飽 > băo; #98FD 飾 > shì; #98FE 飿 > dùo; #98FF 餀 > hài; #9900 é¤ > rèn; #9901 餂 > tiăn; #9902 餃 > jiăo; #9903 餄 > jiá; #9904 餅 > bÄ­ng; #9905 餆 > yáo; #9906 餇 > tóng; #9907 餈 > cí; #9908 餉 > xiăng; #9909 養 > yăng; #990A 餋 > yăng; #990B 餌 > Ä•r; #990C é¤ > yàn; #990D 餎 > le; #990E é¤ > yÄ«; #990F é¤ > cÄn; #9910 餑 > bó; #9911 餒 > nÄ•i; #9912 餓 > è; #9913 餔 > bÅ«; #9914 餕 > jùn; #9915 餖 > dòu; #9916 餗 > sù; #9917 餘 > yú; #9918 餙 > shì; #9919 餚 > yáo; #991A 餛 > hún; #991B 餜 > gÅ­o; #991C é¤ > shì; #991D 餞 > jiàn; #991E 餟 > zhùi; #991F 餠 > bÄ­ng; #9920 餡 > xiàn; #9921 餢 > bù; #9922 餣 > yè; #9923 餤 > tán; #9924 餥 > fÄ•i; #9925 餦 > zhÄng; #9926 餧 > wèi; #9927 館 > guăn; #9928 餩 > è; #9929 餪 > nuăn; #992A 餫 > hún; #992B 餬 > hú; #992C 餭 > huáng; #992D 餮 > tiè; #992E 餯 > hùi; #992F 餰 > jiÄn; #9930 餱 > hóu; #9931 餲 > hé; #9932 餳 > xíng; #9933 餴 > fÄ“n; #9934 餵 > wèi; #9935 餶 > gÅ­; #9936 餷 > chÄ; #9937 餸 > sòng; #9938 餹 > táng; #9939 餺 > bó; #993A 餻 > gÄo; #993B 餼 > xì; #993C 餽 > kùi; #993D 餾 > lìu; #993E 餿 > sÅu; #993F 饀 > táo; #9940 é¥ > yè; #9941 饂 > yún; #9942 饃 > mó; #9943 饄 > táng; #9944 饅 > mán; #9945 饆 > bì; #9946 饇 > yù; #9947 饈 > xÄ«u; #9948 饉 > jÄ­n; #9949 饊 > săn; #994A 饋 > kùi; #994B 饌 > zhuàn; #994C é¥ > shàn; #994D 饎 > chì; #994E é¥ > dàn; #994F é¥ > yì; #9950 饑 > jÄ«; #9951 饒 > ráo; #9952 饓 > chÄ“ng; #9953 饔 > yÅng; #9954 饕 > tÄo; #9955 饖 > hùi; #9956 饗 > xiăng; #9957 饘 > zhÄn; #9958 饙 > fÄ“n; #9959 饚 > hài; #995A 饛 > méng; #995B 饜 > yàn; #995C é¥ > mó; #995D 饞 > chán; #995E 饟 > xiăng; #995F 饠 > lúo; #9960 饡 > zuàn; #9961 饢 > năng; #9962 饣 > shí; #9963 饤 > dìng; #9964 饥 > jÄ«; #9965 饦 > tÅ«o; #9966 饧 > xíng; #9967 饨 > tún; #9968 饩 > xì; #9969 饪 > rèn; #996A 饫 > yù; #996B 饬 > chì; #996C 饭 > fàn; #996D 饮 > yÄ­n; #996E 饯 > jiàn; #996F 饰 > shì; #9970 饱 > băo; #9971 饲 > sì; #9972 饳 > dùo; #9973 饴 > yí; #9974 饵 > Ä•r; #9975 饶 > ráo; #9976 饷 > xiăng; #9977 饸 > jiá; #9978 饹 > le; #9979 饺 > jiăo; #997A 饻 > yÄ«; #997B 饼 > bÄ­ng; #997C 饽 > bó; #997D 饾 > dòu; #997E 饿 > è; #997F 馀 > yú; #9980 é¦ > nÄ•i; #9981 馂 > jùn; #9982 馃 > gÅ­o; #9983 馄 > hún; #9984 馅 > xiàn; #9985 馆 > guăn; #9986 馇 > chÄ; #9987 馈 > kùi; #9988 馉 > gÅ­; #9989 馊 > sÅu; #998A 馋 > chán; #998B 馌 > yè; #998C é¦ > mó; #998D 馎 > bó; #998E é¦ > lìu; #998F é¦ > xÄ«u; #9990 馑 > jÄ­n; #9991 馒 > mán; #9992 馓 > săn; #9993 馔 > zhuàn; #9994 馕 > năng; #9995 首 > shÅu; #9996 馗 > kúi; #9997 馘 > gúo; #9998 香 > xiÄng; #9999 馚 > fén; #999A 馛 > bá; #999B 馜 > nÄ­; #999C é¦ > bì; #999D 馞 > bó; #999E 馟 > tú; #999F 馠 > hÄn; #99A0 馡 > fÄ“i; #99A1 馢 > jiÄn; #99A2 馣 > Än; #99A3 馤 > ăi; #99A4 馥 > fù; #99A5 馦 > xiÄn; #99A6 馧 > wÄ“n; #99A7 馨 > xÄ«n; #99A8 馩 > fén; #99A9 馪 > bÄ«n; #99AA 馫 > xÄ«ng; #99AB 馬 > mă; #99AC 馭 > yù; #99AD 馮 > féng; #99AE 馯 > hàn; #99AF 馰 > dì; #99B0 馱 > túo; #99B1 馲 > tÅ«o; #99B2 馳 > chí; #99B3 馴 > xún; #99B4 馵 > zhù; #99B5 馶 > zhÄ«; #99B6 馷 > pèi; #99B7 馸 > xìn; #99B8 馹 > rì; #99B9 馺 > sà; #99BA 馻 > yÄ­n; #99BB 馼 > wén; #99BC 馽 > zhí; #99BD 馾 > dàn; #99BE 馿 > lǘ; #99BF é§€ > yóu; #99C0 é§ > bó; #99C1 é§‚ > băo; #99C2 駃 > kuài; #99C3 é§„ > túo; #99C4 é§… > yì; #99C5 駆 > qÅ«; #99C6 駈 > qÅ«; #99C8 駉 > jÄ«ong; #99C9 é§Š > bÅ; #99CA é§‹ > zhÄo; #99CB é§Œ > yuÄn; #99CC é§ > pÄ“ng; #99CD é§Ž > zhòu; #99CE é§ > jù; #99CF é§ > zhù; #99D0 é§‘ > nú; #99D1 é§’ > jÅ«; #99D2 é§“ > pí; #99D3 é§” > zăng; #99D4 é§• > jià; #99D5 é§– > líng; #99D6 é§— > zhÄ“n; #99D7 駘 > tái; #99D8 é§™ > fù; #99D9 é§š > yăng; #99DA é§› > shÄ­; #99DB é§œ > bì; #99DC é§ > túo; #99DD é§ž > túo; #99DE é§Ÿ > sì; #99DF é§  > líu; #99E0 é§¡ > mà; #99E1 é§¢ > pián; #99E2 é§£ > táo; #99E3 駤 > zhì; #99E4 é§¥ > róng; #99E5 駦 > téng; #99E6 é§§ > dòng; #99E7 駨 > xún; #99E8 é§© > quán; #99E9 駪 > shÄ“n; #99EA é§« > jÄ«ong; #99EB 駬 > Ä•r; #99EC é§­ > hài; #99ED é§® > bó; #99EE 駯 > zhu; #99EF é§° > yÄ«n; #99F0 é§± > lùo; #99F1 é§³ > dàn; #99F3 é§´ > xiè; #99F4 é§µ > líu; #99F5 é§¶ > jú; #99F6 é§· > sÅng; #99F7 駸 > qÄ«n; #99F8 é§¹ > máng; #99F9 駺 > liáng; #99FA é§» > hàn; #99FB é§¼ > tú; #99FC é§½ > xuàn; #99FD é§¾ > tùi; #99FE é§¿ > jùn; #99FF 騀 > é; #9A00 é¨ > chÄ•ng; #9A01 騂 > xÄ«n; #9A02 騃 > ái; #9A03 騄 > lù; #9A04 騅 > zhÅ«i; #9A05 騆 > zhÅu; #9A06 騇 > shÄ•; #9A07 騈 > pián; #9A08 騉 > kÅ«n; #9A09 騊 > táo; #9A0A 騋 > lái; #9A0B 騌 > zÅng; #9A0C é¨ > kè; #9A0D 騎 > qí; #9A0E é¨ > qí; #9A0F é¨ > yàn; #9A10 騑 > fÄ“i; #9A11 騒 > sÄo; #9A12 験 > yăn; #9A13 騔 > jié; #9A14 騕 > yăo; #9A15 騖 > wù; #9A16 騗 > piàn; #9A17 騘 > cÅng; #9A18 騙 > piàn; #9A19 騚 > qián; #9A1A 騛 > fÄ“i; #9A1B 騜 > huáng; #9A1C é¨ > jiÄn; #9A1D 騞 > hùo; #9A1E 騟 > yù; #9A1F 騠 > tí; #9A20 騡 > quán; #9A21 騢 > xiá; #9A22 騣 > zÅng; #9A23 騤 > kúi; #9A24 騥 > róu; #9A25 騦 > sÄ«; #9A26 騧 > guÄ; #9A27 騨 > túo; #9A28 騩 > kùi; #9A29 騪 > sÅu; #9A2A 騫 > qiÄn; #9A2B 騬 > chéng; #9A2C 騭 > zhì; #9A2D 騮 > líu; #9A2E 騯 > páng; #9A2F 騰 > téng; #9A30 騱 > xÄ«; #9A31 騲 > căo; #9A32 騳 > dú; #9A33 騴 > yàn; #9A34 騵 > yuán; #9A35 騶 > zÅu; #9A36 騷 > sÄo; #9A37 騸 > shàn; #9A38 騹 > lí; #9A39 騺 > zhì; #9A3A 騻 > shuăng; #9A3B 騼 > lù; #9A3C 騽 > xí; #9A3D 騾 > lúo; #9A3E 騿 > zhÄng; #9A3F é©€ > mò; #9A40 é© > áo; #9A41 é©‚ > cÄn; #9A42 驃 > piào; #9A43 é©„ > cÅng; #9A44 é©… > qÅ«; #9A45 驆 > bì; #9A46 驇 > zhì; #9A47 驈 > yù; #9A48 驉 > xÅ«; #9A49 驊 > huá; #9A4A é©‹ > bÅ; #9A4B 驌 > sù; #9A4C é© > xiÄo; #9A4D 驎 > lín; #9A4E é© > chăn; #9A4F é© > dÅ«n; #9A50 é©‘ > líu; #9A51 é©’ > túo; #9A52 é©“ > zÄ“ng; #9A53 é©” > tán; #9A54 é©• > jiÄo; #9A55 é©– > tiÄ•; #9A56 é©— > yàn; #9A57 驘 > lúo; #9A58 é©™ > zhÄn; #9A59 驚 > jÄ«ng; #9A5A é©› > yì; #9A5B 驜 > yè; #9A5C é© > tÅ«o; #9A5D 驞 > bÄ«n; #9A5E 驟 > zòu; #9A5F é©  > yàn; #9A60 é©¡ > péng; #9A61 é©¢ > lǘ; #9A62 é©£ > téng; #9A63 驤 > xiÄng; #9A64 é©¥ > jì; #9A65 驦 > shuÄng; #9A66 é©§ > jú; #9A67 驨 > xÄ«; #9A68 é©© > huÄn; #9A69 驪 > lí; #9A6A é©« > biÄo; #9A6B 马 > mă; #9A6C é©­ > yù; #9A6D é©® > túo; #9A6E 驯 > xún; #9A6F é©° > chí; #9A70 驱 > qÅ«; #9A71 驲 > rì; #9A72 驳 > bó; #9A73 é©´ > lǘ; #9A74 驵 > zăng; #9A75 é©¶ > shÄ­; #9A76 é©· > sì; #9A77 驸 > fù; #9A78 驹 > jÅ«; #9A79 驺 > zÅu; #9A7A é©» > zhù; #9A7B 驼 > túo; #9A7C 驽 > nú; #9A7D 驾 > jià; #9A7E é©¿ > yì; #9A7F 骀 > tái; #9A80 éª > xiÄo; #9A81 骂 > mà; #9A82 骃 > yÄ«n; #9A83 骄 > jiÄo; #9A84 骅 > huá; #9A85 骆 > lùo; #9A86 骇 > hài; #9A87 骈 > pián; #9A88 骉 > biÄo; #9A89 骊 > lí; #9A8A 骋 > chÄ•ng; #9A8B 验 > yàn; #9A8C éª > xÄ«n; #9A8D 骎 > qÄ«n; #9A8E éª > jùn; #9A8F éª > qí; #9A90 骑 > qí; #9A91 骒 > kè; #9A92 骓 > zhÅ«i; #9A93 骔 > zÅng; #9A94 骕 > sù; #9A95 骖 > cÄn; #9A96 骗 > piàn; #9A97 骘 > zhì; #9A98 骙 > kúi; #9A99 骚 > sÄo; #9A9A 骛 > wù; #9A9B 骜 > áo; #9A9C éª > líu; #9A9D 骞 > qiÄn; #9A9E 骟 > shàn; #9A9F 骠 > piào; #9AA0 骡 > lúo; #9AA1 骢 > cÅng; #9AA2 骣 > chăn; #9AA3 骤 > zòu; #9AA4 骥 > jì; #9AA5 骦 > shuÄng; #9AA6 骧 > xiÄng; #9AA7 骨 > gÅ­; #9AA8 骩 > wÄ•i; #9AA9 骪 > wÄ•i; #9AAA 骫 > wÄ•i; #9AAB 骬 > yú; #9AAC 骭 > gàn; #9AAD 骮 > yì; #9AAE 骯 > Äng; #9AAF 骰 > tóu; #9AB0 骱 > xiè; #9AB1 骲 > bÄo; #9AB2 骳 > bì; #9AB3 骴 > chÄ«; #9AB4 骵 > tÄ­; #9AB5 骶 > dÄ­; #9AB6 骷 > kÅ«; #9AB7 骸 > hái; #9AB8 骹 > qiÄo; #9AB9 骺 > gòu; #9ABA 骻 > kuà; #9ABB 骼 > gé; #9ABC 骽 > tÅ­i; #9ABD 骾 > gÄ•ng; #9ABE 骿 > pián; #9ABF é«€ > bì; #9AC0 é« > kÄ“; #9AC1 é«‚ > kà; #9AC2 髃 > yú; #9AC3 é«„ > sÅ­i; #9AC4 é«… > lóu; #9AC5 髆 > bó; #9AC6 髇 > xiÄo; #9AC7 髈 > páng; #9AC8 髉 > bÅ; #9AC9 髊 > cÄ«; #9ACA é«‹ > kuÄn; #9ACB 髌 > bìn; #9ACC é« > mó; #9ACD 髎 > liáo; #9ACE é« > lóu; #9ACF é« > náo; #9AD0 é«‘ > dú; #9AD1 é«’ > zÄng; #9AD2 é«“ > sÅ­i; #9AD3 é«” > tÄ­; #9AD4 é«• > bìn; #9AD5 é«– > kuÄn; #9AD6 é«— > lú; #9AD7 高 > gÄo; #9AD8 é«™ > gÄo; #9AD9 髚 > qiào; #9ADA é«› > kÄo; #9ADB 髜 > qiÄo; #9ADC é« > lào; #9ADD 髞 > zào; #9ADE 髟 > biÄo; #9ADF é«  > kÅ«n; #9AE0 é«¡ > kÅ«n; #9AE1 é«¢ > tì; #9AE2 é«£ > făng; #9AE3 髤 > xÄ«u; #9AE4 é«¥ > rán; #9AE5 髦 > máo; #9AE6 é«§ > dàn; #9AE7 髨 > kÅ«n; #9AE8 é«© > bìn; #9AE9 髪 > fà; #9AEA é«« > tiáo; #9AEB 髬 > peng; #9AEC é«­ > zÄ«; #9AED é«® > fă; #9AEE 髯 > rán; #9AEF é«° > tì; #9AF0 髱 > pào; #9AF1 髲 > pÄ«; #9AF2 髳 > máo; #9AF3 é«´ > fú; #9AF4 髵 > ér; #9AF5 é«¶ > róng; #9AF6 é«· > qÅ«; #9AF7 髸 > gong; #9AF8 髹 > xÄ«u; #9AF9 髺 > guà; #9AFA é«» > jì; #9AFB 髼 > péng; #9AFC 髽 > zhuÄ; #9AFD 髾 > shÄo; #9AFE é«¿ > shÄ; #9AFF 鬀 > tì; #9B00 é¬ > lì; #9B01 鬂 > bìn; #9B02 鬃 > zÅng; #9B03 鬄 > tì; #9B04 鬅 > péng; #9B05 鬆 > sÅng; #9B06 鬇 > zhÄ“ng; #9B07 鬈 > quán; #9B08 鬉 > zÅng; #9B09 鬊 > shùn; #9B0A 鬋 > jiÄn; #9B0B 鬌 > dÅ­o; #9B0C é¬ > hú; #9B0D 鬎 > là; #9B0E é¬ > jÄ«u; #9B0F é¬ > qí; #9B10 鬑 > lián; #9B11 鬒 > zhÄ•n; #9B12 鬓 > bìn; #9B13 鬔 > péng; #9B14 鬕 > mò; #9B15 鬖 > sÄn; #9B16 鬗 > màn; #9B17 鬘 > mán; #9B18 鬙 > sÄ“ng; #9B19 鬚 > xÅ«; #9B1A 鬛 > liè; #9B1B 鬜 > qiÄn; #9B1C é¬ > qiÄn; #9B1D 鬞 > nóng; #9B1E 鬟 > huán; #9B1F 鬠 > kuài; #9B20 鬡 > níng; #9B21 鬢 > bìn; #9B22 鬣 > liè; #9B23 鬤 > ráng; #9B24 鬥 > dòu; #9B25 鬦 > dòu; #9B26 鬧 > nào; #9B27 鬨 > hÅng; #9B28 鬩 > xì; #9B29 鬪 > dòu; #9B2A 鬫 > hăn; #9B2B 鬬 > dòu; #9B2C 鬭 > dòu; #9B2D 鬮 > jÄ«u; #9B2E 鬯 > chàng; #9B2F 鬰 > yù; #9B30 鬱 > yù; #9B31 鬲 > lì; #9B32 鬳 > juàn; #9B33 鬴 > fÅ­; #9B34 鬵 > qián; #9B35 鬶 > gÅ«i; #9B36 鬷 > zÅng; #9B37 鬸 > lìu; #9B38 鬹 > gÅ«i; #9B39 鬺 > shÄng; #9B3A 鬻 > yù; #9B3B 鬼 > gÅ­i; #9B3C 鬽 > mèi; #9B3D 鬾 > jì; #9B3E 鬿 > qí; #9B3F é­€ > jiè; #9B40 é­ > kúi; #9B41 é­‚ > hún; #9B42 é­ƒ > bá; #9B43 é­„ > pò; #9B44 é­… > mèi; #9B45 é­† > xù; #9B46 é­‡ > yăn; #9B47 é­ˆ > xiÄo; #9B48 é­‰ > liăng; #9B49 é­Š > yù; #9B4A é­‹ > túi; #9B4B é­Œ > qÄ«; #9B4C é­ > wăng; #9B4D é­Ž > liăng; #9B4E é­ > wèi; #9B4F é­ > jiÄn; #9B50 é­‘ > chÄ«; #9B51 é­’ > piÄo; #9B52 é­“ > bì; #9B53 é­” > mó; #9B54 é­• > jÄ­; #9B55 é­– > xÅ«; #9B56 é­— > chÅu; #9B57 é­˜ > yăn; #9B58 é­™ > zhăn; #9B59 é­š > yú; #9B5A é­› > dÄo; #9B5B é­œ > rén; #9B5C é­ > jì; #9B5D é­Ÿ > gÅng; #9B5F é­  > túo; #9B60 é­¡ > diào; #9B61 é­¢ > jÄ­; #9B62 é­£ > xù; #9B63 é­¤ > é; #9B64 é­¥ > è; #9B65 é­¦ > shÄ; #9B66 é­§ > háng; #9B67 é­¨ > tún; #9B68 é­© > mò; #9B69 é­ª > jiè; #9B6A é­« > shÄ•n; #9B6B é­¬ > făn; #9B6C é­­ > yuán; #9B6D é­® > bí; #9B6E é­¯ > lÅ­; #9B6F é­° > wén; #9B70 é­± > hú; #9B71 é­² > lú; #9B72 é­³ > zá; #9B73 é­´ > fáng; #9B74 é­µ > fén; #9B75 é­¶ > nà; #9B76 é­· > yóu; #9B77 é­º > hé; #9B7A é­» > xiá; #9B7B é­¼ > qÅ«; #9B7C é­½ > hÄn; #9B7D é­¾ > pí; #9B7E é­¿ > líng; #9B7F 鮀 > túo; #9B80 é® > bÅ; #9B81 鮂 > qíu; #9B82 鮃 > píng; #9B83 鮄 > fú; #9B84 é®… > bì; #9B85 鮆 > jì; #9B86 鮇 > wèi; #9B87 鮈 > jÅ«; #9B88 鮉 > diÄo; #9B89 鮊 > bó; #9B8A 鮋 > yóu; #9B8B 鮌 > gÅ­n; #9B8C é® > pÄ«; #9B8D 鮎 > nián; #9B8E é® > xÄ«ng; #9B8F é® > tái; #9B90 鮑 > bào; #9B91 é®’ > fù; #9B92 鮓 > zhă; #9B93 é®” > jù; #9B94 鮕 > gÅ«; #9B95 é®™ > tà; #9B99 鮚 > jié; #9B9A é®› > shù; #9B9B 鮜 > hòu; #9B9C é® > xiăng; #9B9D 鮞 > ér; #9B9E 鮟 > àn; #9B9F é®  > wéi; #9BA0 鮡 > tiÄo; #9BA1 鮢 > zhÅ«; #9BA2 鮣 > yìn; #9BA3 鮤 > liè; #9BA4 鮥 > lùo; #9BA5 鮦 > tóng; #9BA6 é®§ > yí; #9BA7 鮨 > qí; #9BA8 鮩 > bìng; #9BA9 鮪 > wÄ•i; #9BAA 鮫 > jiăo; #9BAB 鮬 > bù; #9BAC é®­ > gÅ«i; #9BAD é®® > xiÄn; #9BAE 鮯 > gé; #9BAF é®° > húi; #9BB0 鮳 > kăo; #9BB3 鮵 > dúo; #9BB5 é®¶ > jÅ«n; #9BB6 é®· > tí; #9BB7 鮸 > măn; #9BB8 鮹 > xiÄo; #9BB9 鮺 > ză; #9BBA é®» > shÄ; #9BBB 鮼 > qÄ«n; #9BBC 鮽 > yú; #9BBD 鮾 > nÄ•i; #9BBE 鮿 > zhé; #9BBF 鯀 > gÅ­n; #9BC0 é¯ > gÄ•ng; #9BC1 鯂 > su; #9BC2 鯃 > wú; #9BC3 鯄 > qíu; #9BC4 鯅 > tíng; #9BC5 鯆 > fÅ­; #9BC6 鯇 > wăn; #9BC7 鯈 > yóu; #9BC8 鯉 > lÄ­; #9BC9 鯊 > shÄ; #9BCA 鯋 > shÄ; #9BCB 鯌 > gào; #9BCC é¯ > méng; #9BCD 鯒 > yÅng; #9BD2 鯓 > ní; #9BD3 鯔 > zÄ«; #9BD4 鯕 > qí; #9BD5 鯖 > qÄ«ng; #9BD6 鯗 > xiăng; #9BD7 鯘 > nÄ•i; #9BD8 鯙 > chún; #9BD9 鯚 > jì; #9BDA 鯛 > diÄo; #9BDB 鯜 > qiè; #9BDC é¯ > gù; #9BDD 鯞 > zhÅu; #9BDE 鯟 > dÅng; #9BDF 鯠 > lái; #9BE0 鯡 > fÄ“i; #9BE1 鯢 > ní; #9BE2 鯣 > yì; #9BE3 鯤 > kÅ«n; #9BE4 鯥 > lù; #9BE5 鯦 > jìu; #9BE6 鯧 > chÄng; #9BE7 鯨 > jÄ«ng; #9BE8 鯩 > lún; #9BE9 鯪 > líng; #9BEA 鯫 > zÅu; #9BEB 鯬 > lí; #9BEC 鯭 > mÄ•ng; #9BED 鯮 > zÅng; #9BEE 鯯 > zhì; #9BEF 鯰 > nián; #9BF0 鯴 > shÄ«; #9BF4 鯵 > shÄ“n; #9BF5 鯶 > hÅ­n; #9BF6 鯷 > shì; #9BF7 鯸 > hóu; #9BF8 鯹 > xÄ«ng; #9BF9 鯺 > zhÅ«; #9BFA 鯻 > là; #9BFB 鯼 > zÅng; #9BFC 鯽 > jì; #9BFD 鯾 > biÄn; #9BFE 鯿 > biÄn; #9BFF é°€ > huàn; #9C00 é° > quán; #9C01 é°‚ > zé; #9C02 é°ƒ > wÄ“i; #9C03 é°„ > wÄ“i; #9C04 é°… > yú; #9C05 é°† > qÅ«n; #9C06 é°‡ > róu; #9C07 é°ˆ > dié; #9C08 é°‰ > huáng; #9C09 é°Š > liàn; #9C0A é°‹ > yăn; #9C0B é°Œ > qíu; #9C0C é° > qÄ«u; #9C0D é°Ž > jiàn; #9C0E é° > bì; #9C0F é° > è; #9C10 é°‘ > yáng; #9C11 é°’ > fù; #9C12 é°“ > sÄi; #9C13 é°” > jiăn; #9C14 é°• > xiá; #9C15 é°– > tÅ­o; #9C16 é°— > hú; #9C17 é°™ > rùo; #9C19 é°› > wÄ“n; #9C1B é°œ > jiÄn; #9C1C é° > hào; #9C1D é°ž > wÅ«; #9C1E é°Ÿ > fáng; #9C1F é°  > sÄo; #9C20 é°¡ > líu; #9C21 é°¢ > mă; #9C22 é°£ > shí; #9C23 é°¤ > shÄ«; #9C24 é°¥ > yín; #9C25 é°¦ > zÌ„; #9C26 é°§ > téng; #9C27 é°¨ > tà; #9C28 é°© > yáo; #9C29 é°ª > gé; #9C2A é°« > róng; #9C2B é°¬ > qián; #9C2C é°­ > qí; #9C2D é°® > wÄ“n; #9C2E é°¯ > rùo; #9C2F é°± > lián; #9C31 é°² > áo; #9C32 é°³ > lè; #9C33 é°´ > hÅ«i; #9C34 é°µ > mÄ­n; #9C35 é°¶ > jì; #9C36 é°· > tiáo; #9C37 é°¸ > qÅ«; #9C38 é°¹ > jiÄn; #9C39 é°º > sÄo; #9C3A é°» > mán; #9C3B é°¼ > xí; #9C3C é°½ > qíu; #9C3D é°¾ > biào; #9C3E é°¿ > jÄ«; #9C3F é±€ > jì; #9C40 é± > zhú; #9C41 鱂 > jiÄng; #9C42 鱃 > qÄ«u; #9C43 鱄 > zhuÄn; #9C44 é±… > yóng; #9C45 鱆 > zhÄng; #9C46 鱇 > kÄng; #9C47 鱈 > xuÄ•; #9C48 鱉 > biÄ“; #9C49 鱊 > jué; #9C4A 鱋 > qÅ«; #9C4B 鱌 > xiàng; #9C4C é± > bÅ; #9C4D 鱎 > jiÄo; #9C4E é± > xún; #9C4F é± > sù; #9C50 鱑 > huáng; #9C51 é±’ > zùn; #9C52 鱓 > shàn; #9C53 é±” > shàn; #9C54 鱕 > fÄn; #9C55 é±– > jué; #9C56 é±— > lín; #9C57 鱘 > xún; #9C58 é±™ > miáo; #9C59 鱚 > xÄ­; #9C5A é± > fèn; #9C5D 鱞 > guÄn; #9C5E 鱟 > hòu; #9C5F é±  > kuài; #9C60 鱡 > zéi; #9C61 é±¢ > sÄo; #9C62 é±£ > zhÄn; #9C63 鱤 > găn; #9C64 é±¥ > gùi; #9C65 鱦 > shéng; #9C66 é±§ > lÄ­; #9C67 鱨 > cháng; #9C68 鱬 > rú; #9C6C é±­ > jì; #9C6D é±® > xù; #9C6E 鱯 > hùo; #9C6F é±± > lì; #9C71 é±² > liè; #9C72 é±³ > lì; #9C73 é±´ > miè; #9C74 é±µ > zhÄ“n; #9C75 é±¶ > xiăng; #9C76 é±· > è; #9C77 鱸 > lú; #9C78 é±¹ > guàn; #9C79 鱺 > lí; #9C7A é±» > xiÄn; #9C7B é±¼ > yú; #9C7C é±½ > dÄo; #9C7D é±¾ > jÄ­; #9C7E 鱿 > yóu; #9C7F é²€ > tún; #9C80 é² > lÅ­; #9C81 鲂 > fáng; #9C82 鲃 > bÄ; #9C83 鲄 > hé; #9C84 é²… > bÅ; #9C85 鲆 > píng; #9C86 鲇 > nián; #9C87 鲈 > lú; #9C88 鲉 > yóu; #9C89 鲊 > zhă; #9C8A 鲋 > fù; #9C8B 鲌 > bó; #9C8C é² > bào; #9C8D 鲎 > hòu; #9C8E é² > pÄ«; #9C8F é² > tái; #9C90 鲑 > gÅ«i; #9C91 é²’ > jié; #9C92 鲓 > kăo; #9C93 é²” > wÄ•i; #9C94 鲕 > ér; #9C95 é²– > tóng; #9C96 é²— > zé; #9C97 鲘 > hòu; #9C98 é²™ > kuài; #9C99 鲚 > jì; #9C9A é²› > jiăo; #9C9B 鲜 > xiÄn; #9C9C é² > ză; #9C9D 鲞 > xiăng; #9C9E 鲟 > xún; #9C9F é²  > gÄ•ng; #9CA0 鲡 > lí; #9CA1 é²¢ > lián; #9CA2 é²£ > jiÄn; #9CA3 鲤 > lÄ­; #9CA4 é²¥ > shí; #9CA5 鲦 > tiáo; #9CA6 é²§ > gÅ­n; #9CA7 鲨 > shÄ; #9CA8 鲩 > wăn; #9CA9 鲪 > jÅ«n; #9CAA 鲫 > jì; #9CAB 鲬 > yÅng; #9CAC é²­ > qÄ«ng; #9CAD é²® > líng; #9CAE 鲯 > qí; #9CAF é²° > zÅu; #9CB0 é²± > fÄ“i; #9CB1 é²² > kÅ«n; #9CB2 é²³ > chÄng; #9CB3 é²´ > gù; #9CB4 é²µ > ní; #9CB5 é²¶ > nián; #9CB6 é²· > diÄo; #9CB7 鲸 > jÄ«ng; #9CB8 é²¹ > shÄ“n; #9CB9 鲺 > shÄ«; #9CBA é²» > zÄ«; #9CBB é²¼ > fèn; #9CBC é²½ > dié; #9CBD é²¾ > bì; #9CBE 鲿 > cháng; #9CBF é³€ > shì; #9CC0 é³ > wÄ“n; #9CC1 鳂 > wÄ“i; #9CC2 鳃 > sÄi; #9CC3 鳄 > è; #9CC4 é³… > qÄ«u; #9CC5 鳆 > fù; #9CC6 鳇 > huáng; #9CC7 鳈 > quán; #9CC8 鳉 > jiÄng; #9CC9 鳊 > biÄn; #9CCA 鳋 > sÄo; #9CCB 鳌 > áo; #9CCC é³ > qí; #9CCD 鳎 > tà; #9CCE é³ > yín; #9CCF é³ > yáo; #9CD0 鳑 > fáng; #9CD1 é³’ > jiÄn; #9CD2 鳓 > lè; #9CD3 é³” > biào; #9CD4 鳕 > xuÄ•; #9CD5 é³– > biÄ“; #9CD6 é³— > mán; #9CD7 鳘 > mÄ­n; #9CD8 é³™ > yóng; #9CD9 鳚 > wèi; #9CDA é³› > xí; #9CDB 鳜 > jué; #9CDC é³ > shàn; #9CDD 鳞 > lín; #9CDE 鳟 > zùn; #9CDF é³  > hùo; #9CE0 鳡 > găn; #9CE1 é³¢ > lÄ­; #9CE2 é³£ > zhÄn; #9CE3 鳤 > guăn; #9CE4 é³¥ > niăo; #9CE5 鳦 > yÄ­; #9CE6 é³§ > fú; #9CE7 鳨 > lì; #9CE8 鳩 > jÄ«u; #9CE9 鳪 > bÅ­; #9CEA 鳫 > yàn; #9CEB 鳬 > fú; #9CEC é³­ > diÄo; #9CED é³® > jÄ«; #9CEE 鳯 > fèng; #9CEF é³± > gÄn; #9CF1 é³² > shÄ«; #9CF2 é³³ > fèng; #9CF3 é³´ > míng; #9CF4 é³µ > băo; #9CF5 é³¶ > yuÄn; #9CF6 é³· > zhÄ«; #9CF7 鳸 > hù; #9CF8 é³¹ > qín; #9CF9 鳺 > fÅ«; #9CFA é³» > fÄ“n; #9CFB é³¼ > wén; #9CFC é³½ > jiÄn; #9CFD é³¾ > shÄ«; #9CFE 鳿 > yù; #9CFF é´€ > fÅu; #9D00 é´ > yiÄo; #9D01 é´‚ > juè; #9D02 é´ƒ > jué; #9D03 é´„ > pÄ«; #9D04 é´… > huÄn; #9D05 é´† > zhèn; #9D06 é´‡ > băo; #9D07 é´ˆ > yàn; #9D08 é´‰ > yÄ; #9D09 é´Š > zhèng; #9D0A é´‹ > fÄng; #9D0B é´Œ > fèng; #9D0C é´ > wén; #9D0D é´Ž > Åu; #9D0E é´ > tè; #9D0F é´ > jiÄ; #9D10 é´‘ > nú; #9D11 é´’ > líng; #9D12 é´“ > miè; #9D13 é´” > fú; #9D14 é´• > túo; #9D15 é´– > wén; #9D16 é´— > lì; #9D17 é´˜ > biàn; #9D18 é´™ > zhì; #9D19 é´š > gÄ“; #9D1A é´› > yuÄn; #9D1B é´œ > zÄ«; #9D1C é´ > qú; #9D1D é´ž > xiÄo; #9D1E é´Ÿ > zhÄ«; #9D1F é´  > dàn; #9D20 é´¡ > jÅ«; #9D21 é´¢ > yòu; #9D22 é´£ > gÅ«; #9D23 é´¤ > zhÅng; #9D24 é´¥ > yù; #9D25 é´¦ > yÄng; #9D26 é´§ > ròng; #9D27 é´¨ > yÄ; #9D28 é´© > tiÄ•; #9D29 é´ª > yù; #9D2A é´¬ > yÄ«ng; #9D2C é´­ > zhÅ«i; #9D2D é´® > wÅ«; #9D2E é´¯ > ér; #9D2F é´° > guÄ; #9D30 é´± > ài; #9D31 é´² > zhÄ«; #9D32 é´³ > yàn; #9D33 é´´ > héng; #9D34 é´µ > jiÄo; #9D35 é´¶ > jí; #9D36 é´· > liè; #9D37 é´¸ > zhÅ«; #9D38 é´¹ > rén; #9D39 é´º > yí; #9D3A é´» > hóng; #9D3B é´¼ > lùo; #9D3C é´½ > rú; #9D3D é´¾ > móu; #9D3E é´¿ > gÄ“; #9D3F éµ€ > rèn; #9D40 éµ > jiÄo; #9D41 鵂 > xÄ«u; #9D42 鵃 > zhÅu; #9D43 鵄 > zhÄ«; #9D44 éµ… > lùo; #9D45 鵉 > luán; #9D49 鵊 > jiá; #9D4A 鵋 > jì; #9D4B 鵌 > yú; #9D4C éµ > huÄn; #9D4D 鵎 > tÅ­o; #9D4E éµ > bÅ«; #9D4F éµ > wú; #9D50 鵑 > juÄn; #9D51 éµ’ > yù; #9D52 鵓 > bó; #9D53 éµ” > xùn; #9D54 鵕 > xùn; #9D55 éµ– > bì; #9D56 éµ— > xÄ«; #9D57 鵘 > jùn; #9D58 éµ™ > jú; #9D59 鵚 > tú; #9D5A éµ› > jÄ«ng; #9D5B 鵜 > tí; #9D5C éµ > é; #9D5D 鵞 > é; #9D5E 鵟 > kuáng; #9D5F éµ  > hú; #9D60 鵡 > wÅ­; #9D61 éµ¢ > shÄ“n; #9D62 éµ£ > lài; #9D63 鵦 > lù; #9D66 éµ§ > píng; #9D67 鵨 > shÅ«; #9D68 鵩 > fú; #9D69 鵪 > Än; #9D6A 鵫 > zhào; #9D6B 鵬 > péng; #9D6C éµ­ > qín; #9D6D éµ® > qiÄn; #9D6E 鵯 > bÄ“i; #9D6F éµ° > diÄo; #9D70 éµ± > lù; #9D71 éµ² > què; #9D72 éµ³ > jiÄn; #9D73 éµ´ > jú; #9D74 éµµ > tù; #9D75 éµ¶ > yÄ; #9D76 éµ· > yuÄn; #9D77 鵸 > qí; #9D78 éµ¹ > lí; #9D79 鵺 > yè; #9D7A éµ» > zhÅ«i; #9D7B éµ¼ > kÅng; #9D7C éµ½ > zhùi; #9D7D éµ¾ > kÅ«n; #9D7E 鵿 > shÄ“ng; #9D7F é¶€ > qí; #9D80 é¶ > jÄ«ng; #9D81 é¶‚ > yì; #9D82 鶃 > yì; #9D83 é¶„ > jÄ«ng; #9D84 é¶… > zÄ«; #9D85 鶆 > lái; #9D86 鶇 > dÅng; #9D87 鶈 > qÄ«; #9D88 鶉 > chún; #9D89 é¶Š > gÄ“ng; #9D8A é¶‹ > jÅ«; #9D8B é¶Œ > qÅ«; #9D8C é¶ > jÄ«; #9D8F é¶ > shù; #9D90 é¶’ > chì; #9D92 é¶“ > miáo; #9D93 é¶” > róu; #9D94 é¶• > Än; #9D95 é¶– > qÄ«u; #9D96 é¶— > tí; #9D97 鶘 > hú; #9D98 é¶™ > tí; #9D99 é¶š > è; #9D9A é¶› > jiÄ“; #9D9B é¶œ > máo; #9D9C é¶ > fú; #9D9D é¶ž > chÅ«n; #9D9E é¶Ÿ > tú; #9D9F é¶  > yăn; #9DA0 é¶¡ > hé; #9DA1 é¶¢ > yuán; #9DA2 é¶£ > piÄn; #9DA3 鶤 > yùn; #9DA4 é¶¥ > méi; #9DA5 鶦 > hú; #9DA6 é¶§ > yÄ«ng; #9DA7 鶨 > dùn; #9DA8 é¶© > mù; #9DA9 鶪 > jú; #9DAA 鶬 > cÄng; #9DAC é¶­ > făng; #9DAD é¶® > gù; #9DAE 鶯 > yÄ«ng; #9DAF é¶° > yuán; #9DB0 é¶± > xuÄn; #9DB1 é¶² > wÄ“ng; #9DB2 é¶³ > shÄ«; #9DB3 é¶´ > hè; #9DB4 é¶µ > chú; #9DB5 é¶¶ > táng; #9DB6 é¶· > xià; #9DB7 鶸 > rùo; #9DB8 é¶¹ > líu; #9DB9 鶺 > jí; #9DBA é¶» > gú; #9DBB é¶¼ > jiÄn; #9DBC é¶½ > zhÅ­n; #9DBD é¶¾ > hàn; #9DBE é¶¿ > zÄ«; #9DBF é·€ > zÄ«; #9DC0 é· > nì; #9DC1 é·‚ > yào; #9DC2 é·ƒ > yàn; #9DC3 é·„ > jÄ«; #9DC4 é·… > lì; #9DC5 é·† > tián; #9DC6 é·‡ > kòu; #9DC7 é·ˆ > tÄ«; #9DC8 é·‰ > tÄ«; #9DC9 é·Š > nì; #9DCA é·‹ > tú; #9DCB é·Œ > mă; #9DCC é· > jiÄo; #9DCD é·Ž > gÄo; #9DCE é· > tián; #9DCF é· > chén; #9DD0 é·‘ > lì; #9DD1 é·’ > zhuÄn; #9DD2 é·“ > zhè; #9DD3 é·” > áo; #9DD4 é·• > yăo; #9DD5 é·– > yÄ«; #9DD6 é·— > Åu; #9DD7 é·˜ > chì; #9DD8 é·™ > zhì; #9DD9 é·š > liáo; #9DDA é·› > róng; #9DDB é·œ > lóu; #9DDC é· > bì; #9DDD é·ž > shuÄng; #9DDE é·Ÿ > zhúo; #9DDF é·  > yú; #9DE0 é·¡ > wú; #9DE1 é·¢ > jué; #9DE2 é·£ > yín; #9DE3 é·¤ > quán; #9DE4 é·¥ > sÄ«; #9DE5 é·¦ > jiÄo; #9DE6 é·§ > yì; #9DE7 é·¨ > huÄ; #9DE8 é·© > bì; #9DE9 é·ª > yÄ«ng; #9DEA é·« > sù; #9DEB é·¬ > huáng; #9DEC é·­ > fán; #9DED é·® > jiÄo; #9DEE é·¯ > liáo; #9DEF é·° > yàn; #9DF0 é·± > kÄo; #9DF1 é·² > jìu; #9DF2 é·³ > xián; #9DF3 é·´ > xián; #9DF4 é·µ > tú; #9DF5 é·¶ > măi; #9DF6 é·· > zÅ«n; #9DF7 é·¸ > yù; #9DF8 é·¹ > yÄ«ng; #9DF9 é·º > lù; #9DFA é·» > tuán; #9DFB é·¼ > xián; #9DFC é·½ > xué; #9DFD é·¾ > yì; #9DFE é·¿ > pì; #9DFF 鸀 > shú; #9E00 é¸ > lúo; #9E01 鸂 > qÄ«; #9E02 鸃 > yí; #9E03 鸄 > jí; #9E04 鸅 > zhé; #9E05 鸆 > yú; #9E06 鸇 > zhÄn; #9E07 鸈 > yè; #9E08 鸉 > yáng; #9E09 鸊 > pì; #9E0A 鸋 > níng; #9E0B 鸌 > hùo; #9E0C é¸ > mí; #9E0D 鸎 > yÄ«ng; #9E0E é¸ > méng; #9E0F é¸ > dí; #9E10 鸑 > yuè; #9E11 鸒 > yú; #9E12 鸓 > lÄ•i; #9E13 鸔 > bào; #9E14 鸕 > lú; #9E15 鸖 > hè; #9E16 鸗 > lóng; #9E17 鸘 > shuÄng; #9E18 鸙 > yuè; #9E19 鸚 > yÄ«ng; #9E1A 鸛 > guàn; #9E1B 鸜 > qú; #9E1C é¸ > lí; #9E1D 鸞 > luán; #9E1E 鸟 > niăo; #9E1F 鸠 > jÄ«u; #9E20 鸡 > jÄ«; #9E21 鸢 > yuÄn; #9E22 鸣 > míng; #9E23 鸤 > shÄ«; #9E24 鸥 > Åu; #9E25 鸦 > yÄ; #9E26 鸧 > cÄng; #9E27 鸨 > băo; #9E28 鸩 > zhèn; #9E29 鸪 > gÅ«; #9E2A 鸫 > dÅng; #9E2B 鸬 > lú; #9E2C 鸭 > yÄ; #9E2D 鸮 > xiÄo; #9E2E 鸯 > yÄng; #9E2F 鸰 > líng; #9E30 鸱 > zhÄ«; #9E31 鸲 > qú; #9E32 鸳 > yuÄn; #9E33 鸴 > xué; #9E34 鸵 > túo; #9E35 鸶 > sÄ«; #9E36 鸷 > zhì; #9E37 鸸 > ér; #9E38 鸹 > guÄ; #9E39 鸺 > xÄ«u; #9E3A 鸻 > héng; #9E3B 鸼 > zhÅu; #9E3C 鸽 > gÄ“; #9E3D 鸾 > luán; #9E3E 鸿 > hóng; #9E3F é¹€ > wú; #9E40 é¹ > bó; #9E41 鹂 > lí; #9E42 鹃 > juÄn; #9E43 鹄 > hú; #9E44 é¹… > é; #9E45 鹆 > yù; #9E46 鹇 > xián; #9E47 鹈 > tí; #9E48 鹉 > wÅ­; #9E49 鹊 > què; #9E4A 鹋 > miáo; #9E4B 鹌 > Än; #9E4C é¹ > kÅ«n; #9E4D 鹎 > bÄ“i; #9E4E é¹ > péng; #9E4F é¹ > qiÄn; #9E50 鹑 > chún; #9E51 é¹’ > gÄ“ng; #9E52 鹓 > yuÄn; #9E53 é¹” > sù; #9E54 鹕 > hú; #9E55 é¹– > hé; #9E56 é¹— > è; #9E57 鹘 > gú; #9E58 é¹™ > qÄ«u; #9E59 鹚 > zÄ«; #9E5A é¹› > méi; #9E5B 鹜 > mù; #9E5C é¹ > nì; #9E5D 鹞 > yào; #9E5E 鹟 > wÄ“ng; #9E5F é¹  > líu; #9E60 鹡 > jí; #9E61 é¹¢ > nì; #9E62 é¹£ > jiÄn; #9E63 鹤 > hè; #9E64 é¹¥ > yÄ«; #9E65 鹦 > yÄ«ng; #9E66 é¹§ > zhè; #9E67 鹨 > liáo; #9E68 鹩 > liáo; #9E69 鹪 > jiÄo; #9E6A 鹫 > jìu; #9E6B 鹬 > yù; #9E6C é¹­ > lù; #9E6D é¹® > xuán; #9E6E 鹯 > zhÄn; #9E6F é¹° > yÄ«ng; #9E70 é¹± > hùo; #9E71 é¹² > méng; #9E72 é¹³ > guàn; #9E73 é¹´ > shuÄng; #9E74 é¹µ > lÅ­; #9E75 é¹¶ > jÄ«n; #9E76 é¹· > líng; #9E77 鹸 > jiăn; #9E78 é¹¹ > xián; #9E79 鹺 > cúo; #9E7A é¹» > jiăn; #9E7B é¹¼ > jiăn; #9E7C é¹½ > yán; #9E7D é¹¾ > cúo; #9E7E 鹿 > lù; #9E7F 麀 > yÅu; #9E80 éº > cÅ«; #9E81 麂 > jÄ­; #9E82 麃 > biÄo; #9E83 麄 > cÅ«; #9E84 麅 > biÄo; #9E85 麆 > zhù; #9E86 麇 > jÅ«n; #9E87 麈 > zhÅ­; #9E88 麉 > jiÄn; #9E89 麊 > mí; #9E8A 麋 > mí; #9E8B 麌 > wú; #9E8C éº > líu; #9E8D 麎 > chén; #9E8E éº > jÅ«n; #9E8F éº > lín; #9E90 麑 > ní; #9E91 麒 > qí; #9E92 麓 > lù; #9E93 麔 > jìu; #9E94 麕 > jÅ«n; #9E95 麖 > jÄ«ng; #9E96 麗 > lì; #9E97 麘 > xiÄng; #9E98 麙 > yán; #9E99 麚 > jiÄ; #9E9A 麛 > mí; #9E9B 麜 > lì; #9E9C éº > shè; #9E9D 麞 > zhÄng; #9E9E 麟 > lín; #9E9F 麠 > jÄ«ng; #9EA0 麡 > jÄ«; #9EA1 麢 > líng; #9EA2 麣 > yán; #9EA3 麤 > cÅ«; #9EA4 麥 > mài; #9EA5 麦 > mài; #9EA6 麧 > gÄ“; #9EA7 麨 > chăo; #9EA8 麩 > fÅ«; #9EA9 麪 > miăn; #9EAA 麫 > miăn; #9EAB 麬 > fÅ«; #9EAC 麭 > pào; #9EAD 麮 > qù; #9EAE 麯 > qú; #9EAF 麰 > móu; #9EB0 麱 > fÅ«; #9EB1 麲 > xiàn; #9EB2 麳 > lái; #9EB3 麴 > qú; #9EB4 麵 > miàn; #9EB5 麷 > fÄ“ng; #9EB7 麸 > fÅ«; #9EB8 麹 > qú; #9EB9 麺 > miàn; #9EBA 麻 > má; #9EBB 麼 > mo; #9EBC 麽 > mo; #9EBD 麾 > hÅ«i; #9EBE 黀 > zÅu; #9EC0 é» > nÄ“n; #9EC1 黂 > fén; #9EC2 黃 > huáng; #9EC3 黄 > huáng; #9EC4 é»… > jÄ«n; #9EC5 黆 > guÄng; #9EC6 黇 > tiÄn; #9EC7 黈 > tÅu; #9EC8 黉 > héng; #9EC9 黊 > xÄ«; #9ECA 黋 > kuăng; #9ECB 黌 > héng; #9ECC é» > shÅ­; #9ECD 黎 > lí; #9ECE é» > nián; #9ECF é» > chÄ«; #9ED0 黑 > hÄ“i; #9ED1 é»’ > hÄ“i; #9ED2 黓 > yì; #9ED3 é»” > qián; #9ED4 黕 > dÄn; #9ED5 é»– > xì; #9ED6 é»— > tuăn; #9ED7 默 > mò; #9ED8 é»™ > mò; #9ED9 黚 > qián; #9EDA é»› > dài; #9EDB 黜 > chù; #9EDC é» > yÅu; #9EDD 點 > diăn; #9EDE 黟 > yÄ«; #9EDF é»  > xiá; #9EE0 黡 > yăn; #9EE1 黢 > qÅ«; #9EE2 黣 > mÄ•i; #9EE3 黤 > yăn; #9EE4 黥 > jÄ«ng; #9EE5 黦 > yù; #9EE6 é»§ > lí; #9EE7 黨 > dăng; #9EE8 黩 > dú; #9EE9 黪 > căn; #9EEA 黫 > yÄ«n; #9EEB 黬 > àn; #9EEC é»­ > yÄn; #9EED é»® > tăn; #9EEE 黯 > àn; #9EEF é»° > zhÄ•n; #9EF0 é»± > dài; #9EF1 黲 > căn; #9EF2 黳 > yÄ«; #9EF3 é»´ > méi; #9EF4 黵 > dăn; #9EF5 é»¶ > yăn; #9EF6 é»· > dú; #9EF7 黸 > lú; #9EF8 黹 > zhÄ­; #9EF9 黺 > fÄ•n; #9EFA é»» > fù; #9EFB 黼 > fÅ­; #9EFC 黽 > mÄ­n; #9EFD 黾 > mÄ­n; #9EFE 黿 > yuán; #9EFF é¼€ > cù; #9F00 é¼ > qù; #9F01 鼂 > cháo; #9F02 鼃 > wÄ; #9F03 鼄 > zhÅ«; #9F04 é¼… > zhÄ«; #9F05 鼆 > máng; #9F06 鼇 > áo; #9F07 鼈 > biÄ“; #9F08 鼉 > túo; #9F09 鼊 > bì; #9F0A 鼋 > yuán; #9F0B 鼌 > cháo; #9F0C é¼ > túo; #9F0D 鼎 > dÄ­ng; #9F0E é¼ > mì; #9F0F é¼ > nài; #9F10 鼑 > dÄ­ng; #9F11 é¼’ > zÄ«; #9F12 鼓 > gÅ­; #9F13 é¼” > gÅ­; #9F14 鼕 > dÅng; #9F15 é¼– > fén; #9F16 é¼— > táo; #9F17 鼘 > yuÄn; #9F18 é¼™ > pí; #9F19 鼚 > chÄng; #9F1A é¼› > gÄo; #9F1B 鼜 > qì; #9F1C é¼ > yuÄn; #9F1D 鼞 > tÄng; #9F1E 鼟 > tÄ“ng; #9F1F é¼  > shÅ­; #9F20 鼡 > shÅ­; #9F21 é¼¢ > fén; #9F22 é¼£ > fèi; #9F23 鼤 > wén; #9F24 é¼¥ > bá; #9F25 鼦 > diÄo; #9F26 é¼§ > túo; #9F27 鼨 > tóng; #9F28 鼩 > qú; #9F29 鼪 > shÄ“ng; #9F2A 鼫 > shí; #9F2B 鼬 > yòu; #9F2C é¼­ > shí; #9F2D é¼® > tíng; #9F2E 鼯 > wú; #9F2F é¼° > niàn; #9F30 é¼± > jÄ«ng; #9F31 é¼² > hún; #9F32 é¼³ > jú; #9F33 é¼´ > yăn; #9F34 é¼µ > tú; #9F35 é¼¶ > tí; #9F36 é¼· > xÄ«; #9F37 鼸 > xiăn; #9F38 é¼¹ > yăn; #9F39 鼺 > léi; #9F3A é¼» > bí; #9F3B é¼¼ > yăo; #9F3C é¼½ > qíu; #9F3D é¼¾ > hÄn; #9F3E 鼿 > wÅ«; #9F3F é½€ > wù; #9F40 é½ > hóu; #9F41 齂 > xì; #9F42 齃 > gé; #9F43 齄 > zhÄ; #9F44 é½… > xìu; #9F45 齆 > wèng; #9F46 齇 > zhÄ; #9F47 齈 > nóng; #9F48 齉 > nàng; #9F49 齊 > qí; #9F4A 齋 > zhÄi; #9F4B 齌 > jì; #9F4C é½ > zÄ«; #9F4D 齎 > jÄ«; #9F4E é½ > jÄ«; #9F4F é½ > qí; #9F50 齑 > jÄ«; #9F51 é½’ > chÄ­; #9F52 齓 > chèn; #9F53 é½” > chèn; #9F54 齕 > hé; #9F55 é½– > yá; #9F56 é½— > kÄ•n; #9F57 齘 > xiè; #9F58 é½™ > páo; #9F59 齚 > cùo; #9F5A é½› > shì; #9F5B 齜 > zÄ«; #9F5C é½ > chÄ«; #9F5D 齞 > niàn; #9F5E 齟 > jÅ­; #9F5F é½  > tiáo; #9F60 齡 > líng; #9F61 é½¢ > líng; #9F62 é½£ > chÅ«; #9F63 齤 > quán; #9F64 é½¥ > xiè; #9F65 齦 > kÄ•n; #9F66 é½§ > niè; #9F67 齨 > jìu; #9F68 齩 > yăo; #9F69 齪 > chùo; #9F6A 齫 > kÅ­n; #9F6B 齬 > yÅ­; #9F6C é½­ > chÅ­; #9F6D é½® > yÄ­; #9F6E 齯 > ní; #9F6F é½° > cùo; #9F70 é½± > zÅu; #9F71 é½² > qÅ­; #9F72 é½³ > nÄ•n; #9F73 é½´ > xiăn; #9F74 é½µ > óu; #9F75 é½¶ > è; #9F76 é½· > wò; #9F77 齸 > yì; #9F78 é½¹ > chÅ«o; #9F79 齺 > zÅu; #9F7A é½» > diÄn; #9F7B é½¼ > chÅ­; #9F7C é½½ > jìn; #9F7D é½¾ > yà; #9F7E 齿 > chÄ­; #9F7F é¾€ > chèn; #9F80 é¾ > hé; #9F81 龂 > kÄ•n; #9F82 龃 > jÅ­; #9F83 龄 > líng; #9F84 é¾… > páo; #9F85 龆 > tiáo; #9F86 龇 > zÄ«; #9F87 龈 > kÄ•n; #9F88 龉 > yÅ­; #9F89 龊 > chùo; #9F8A 龋 > qÅ­; #9F8B 龌 > wò; #9F8C é¾ > lóng; #9F8D 龎 > páng; #9F8E é¾ > gÅng; #9F8F é¾ > páng; #9F90 龑 > yăn; #9F91 é¾’ > lóng; #9F92 龓 > lóng; #9F93 é¾” > gÅng; #9F94 龕 > kÄn; #9F95 é¾– > tà; #9F96 é¾— > líng; #9F97 龘 > tà; #9F98 é¾™ > lóng; #9F99 龚 > gÅng; #9F9A é¾› > kÄn; #9F9B 龜 > gÅ«i; #9F9C é¾ > qÄ«u; #9F9D 龞 > biÄ“; #9F9E 龟 > gÅ«i; #9F9F é¾  > yuè; #9FA0 龡 > chùi; #9FA1 é¾¢ > hé; #9FA2 é¾£ > jué; #9FA3 龤 > xié; #9FA4 é¾¥ > yù; #9FA5 癩 > là; #F90E 兀 > wù; #FA0C ï¨ > hùo; #FA0D ï¨ > zhÅng; #FA10 晴 > qíng; #FA12 凞 > xÄ«; #FA15 猪 > zhÅ«; #FA16 益 > yì; #FA17 礼 > lÄ­; #FA18 神 > shén; #FA19 祥 > xiáng; #FA1A 福 > fú; #FA1B 靖 > jìng; #FA1C ï¨ > jÄ«ng; #FA1D 羽 > yÅ­; #FA1E 諸 > zhÅ«; #FA22 逸 > yì; #FA25 都 > dÅ«; #FA26 飯 > fàn; #FA2A 飼 > sì; #FA2B 館 > guăn; #FA2C 鶴 > hè; #FA2D # eof icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/resources/Transliterator_Kanji_English.txt000066400000000000000000003634731172643025600331520ustar00rootroot00000000000000#-------------------------------------------------------------------- # Copyright (c) 1999-2001, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- # Date: Tue Jan 23 12:42:02 2001 #-------------------------------------------------------------------- # Kanji-English ä¸>'[male adult]'; 七>'[seven]'; 万>'[ten thousand]'; 丈>'[unit of length equal 3.3 meters]'; 三>'[three]'; 上>'[top]'; 下>'[under]'; ä¸>'[no]'; 与>'[and]'; ä¸>'[beggar]'; 丑>'[clown]'; 且>'[moreover]'; 丕>'[great]'; 世>'[generation]'; 丗>'[thirty]'; 丘>'[hill]'; 丙>'[third of heavenly stems]'; 丞>'[assist]'; 両>'[two]'; 並>'[equal to]'; 个>'[numerary adjunct]'; 中>'[central]'; 丱>'[child''s hairstyle bound in two tufts]'; 串>'[string]'; 丶>'[dot]'; 丸>'[small round object]'; 丹>'[cinnabar (native HgS)]'; 主>'[master]'; 丼>'[bowl of food]'; 丿>'[line]'; 乂>'[govern]'; 乃>'[then]'; ä¹…>'[long time (ago)]'; 之>'[''s (marks preceding phrase as modifier of following phrase)]'; ä¹>'[suddenly]'; 乎>'[interrogative or exclamatory final particle]'; ä¹>'[lack]'; 乕>'[tiger]'; ä¹–>'[rebel]'; ä¹—>'[ride]'; 乘>'[ride]'; ä¹™>'[second heaven''s stem]'; ä¹>'[nine]'; 乞>'[beg]'; 也>'[also]'; ä¹¢>'[lid]'; ä¹±>'[confusion]'; ä¹³>'[breast]'; ä¹¾>'[dry]'; 亀>'[turtle or tortoise]'; 亂>'[confusion]'; 亅>'[hook]'; 了>'[to finish]'; 予>'[I]'; 争>'[dispute]'; 亊>'[affair]'; 事>'[affair]'; 二>'[two]'; 于>'[in]'; 云>'[say]'; 互>'[mutually]'; 五>'[five]'; 井>'[well]'; 亘>'[extend across]'; 亙>'[extend across]'; 些>'[little]'; 亜>'[asia]'; 亞>'[asia]'; 亟>'[urgently]'; 亠>'[head]'; 亡>'[death]'; 亢>'[high]'; 交>'[mix]'; 亥>'[last of 12 earth branches]'; 亦>'[also]'; 亨>'[smoothly]'; 享>'[enjoy]'; 京>'[capital city]'; 亭>'[pavilion]'; 亮>'[bright]'; 亰>'[capital city]'; 亳>'[name of district in Anhui]'; 亶>'[sincere]'; 人>'[man]'; 什>'[file of ten soldiers]'; ä»>'[humaneness]'; 仂>'[surplus or excess]'; 仄>'[slanting]'; 仆>'[fall forward]'; 仇>'[enemy]'; 今>'[now]'; 介>'[forerunner]'; ä»>'[yet]'; 从>'[from]'; ä»>'[buddha]'; ä»”>'[small thing]'; 仕>'[official]'; ä»–>'[other]'; ä»—>'[rely upon]'; 付>'[give]'; ä»™>'[Taoist super-being]'; ä»>'[together]'; 仞>'[ancient unit of measure (8 feet)]'; 仟>'[one thousand]'; 代>'[replace]'; 令>'[command]'; 以>'[by means of]'; ä»­>'[ancient unit of measure (8 feet)]'; ä»®>'[falsehood]'; ä»°>'[raise the head to look]'; 仲>'[middle brother]'; ä»¶>'[numerary adjunct for article]'; ä»·>'[price]'; ä»»>'[trust to]'; ä¼>'[plan a project]'; 伉>'[compare]'; 伊>'[third person pronoun]'; ä¼>'[five]'; 伎>'[talent]'; ä¼>'[crouch]'; ä¼>'[cut down]'; 休>'[rest]'; 会>'[assemble]'; 伜>'[deputy]'; ä¼>'[summon]'; 伯>'[older brother]'; ä¼°>'[merchant]'; ä¼´>'[companion]'; ä¼¶>'[lonely]'; 伸>'[extend]'; 伺>'[serve]'; ä¼¼>'[resemble]'; ä¼½>'[transcription of sanskrit gha in buddhist texts ('ëmâæ' \"samgha\")]'; 佃>'[tenant farmer]'; 但>'[only]'; 佇>'[wait]'; ä½>'[throne]'; 低>'[low]'; ä½>'[reside]'; ä½>'[assist]'; 佑>'[help]'; 体>'[body]'; 何>'[what]'; ä½—>'[other]'; ä½™>'[I]'; 佚>'[indulge in pleasures]'; ä½›>'[buddha (contraction of MC 'bhiêtdha')]'; 作>'[make]'; ä½>'[rickets]'; 佞>'[flattery]'; 佩>'[belt ornament]'; 佯>'[pretend]'; ä½°>'[hundred]'; ä½³>'[good]'; ä½µ>'[combine]'; ä½¶>'[strong]'; ä½»>'[frivolous]'; ä½¼>'[beautiful]'; 使>'[cause]'; 侃>'[upright and strong]'; 來>'[come]'; 侈>'[luxurious]'; 例>'[precedent]'; ä¾>'[serve]'; ä¾>'[small]'; 侑>'[help]'; ä¾–>'[logical reasons]'; 侘>'[disappointed]'; ä¾›>'[supply]'; ä¾>'[rely on]'; ä¾ >'[chivalrous person]'; 価>'[price]'; 侫>'[flattery]'; ä¾­>'[complete]'; ä¾®>'[insult]'; 侯>'[marquis]'; ä¾µ>'[invade]'; ä¾¶>'[companion]'; 便>'[convenience]'; ä¿‚>'[bind]'; 促>'[urge]'; ä¿„>'[sudden(ly)]'; 俊>'[talented]'; 俎>'[chopping board or block]'; ä¿>'[smooth]'; ä¿‘>'[wooden figure buried with dead]'; ä¿”>'[like]'; ä¿—>'[social customs]'; 俘>'[prisoner of war]'; 俚>'[rustic]'; ä¿›>'[make effort]'; ä¿>'[protect]'; 俟>'[wait for]'; ä¿¡>'[trust]'; ä¿£>'[big]'; #"ä¿£>'[big]'", ä¿¥>'[rickshaw]'; ä¿®>'[study]'; 俯>'[bow down]'; 俳>'[actor]'; 俵>'[divide]'; ä¿¶>'[start]'; 俸>'[wages]'; 俺>'[personal pronoun]'; 俾>'[so that]'; 倅>'[deputy]'; 倆>'[clever]'; 倉>'[granary]'; 個>'[numerary adjunct]'; å€>'[times]'; å€>'[hastily]'; 們>'[adjunct pronoun indicate plural]'; 倒>'[fall over]'; 倔>'[stubborn]'; 倖>'[lucky]'; 候>'[wait]'; 倚>'[rely on]'; 借>'[borrow]'; 倡>'[guide]'; 倣>'[imitate]'; 値>'[price]'; 倥>'[boorish]'; 倦>'[be tired of]'; 倨>'[arrogant]'; 倩>'[beautiful]'; 倪>'[feeble]'; 倫>'[normal human relationships]'; 倬>'[noticeable]'; 倭>'[dwarf]'; 倶>'[all]'; 倹>'[temperate]'; åƒ>'[cease]'; å‡>'[falsehood]'; åˆ>'[brave]'; å‰>'[great]'; å>'[inclined one side]'; å>'[false]'; å•>'[together]'; å–>'[rip up]'; åš>'[work]'; åœ>'[stop]'; å¥>'[strong]'; å¬>'[urgent]'; å²>'[talented]'; å´>'[side]'; åµ>'[spy]'; å¶>'[accidentally]'; å¸>'[to steal]'; å½>'[false]'; å‚€>'[great]'; å‚…>'[tutor]'; å‚>'[by side of]'; å‚‘>'[hero]'; 傘>'[umbrella]'; å‚™>'[prepare]'; 傚>'[imitate]'; 催>'[press]'; å‚­>'[hire]'; 傲>'[proud]'; 傳>'[summon]'; å‚´>'[humpback]'; 債>'[debt]'; å‚·>'[wound]'; 傾>'[upset]'; 僂>'[humpback]'; 僅>'[only]'; 僉>'[all]'; 僊>'[Taoist super-being]'; åƒ>'[labor]'; åƒ>'[picture]'; 僑>'[sojourn]'; 僕>'[slave]'; 僖>'[joy]'; 僚>'[companion]'; 僞>'[false]'; 僣>'[assume]'; 僥>'[be lucky]'; 僧>'[buddhist priest]'; 僭>'[assume]'; 僮>'[page]'; 僵>'[stiff and motionless]'; 價>'[price]'; 僻>'[out-of-the-way]'; å„€>'[ceremony]'; å„>'[outstanding]'; å„‚>'[I]'; å„„>'[hundred million]'; 儉>'[temperate]'; å„’>'[confucian scholar]'; å„”>'[companion]'; å„•>'[a company]'; #"å„•>'[a company]'", 儘>'[utmost]'; #"儘>'[utmost]'", 償>'[repay]'; å„¡>'[puppet]'; 優>'[superior]'; 儲>'[save money]'; å„·>'[spouse]'; 儺>'[rich]'; å„»>'[if]'; 儼>'[grave]'; å„¿>'[son]'; å…€>'[to cut off the feet]'; å…>'[to grant]'; å…ƒ>'[first]'; å…„>'[elder brother]'; å……>'[fill]'; å…†>'[omen]'; å…‡>'[atrocious]'; å…ˆ>'[first]'; å…‰>'[light]'; å…‹>'[gram]'; å…Œ>'[cash]'; å…>'[spare]'; å…Ž>'[rabbit]'; å…>'[son]'; å…’>'[son]'; å…”>'[rabbit]'; å…š>'[political party]'; å…œ>'[pouch]'; å…¢>'[fearful]'; å…¥>'[enter]'; å…¨>'[maintain]'; å…©>'[two]'; å…ª>'[surname]'; å…«>'[eight]'; å…¬>'[fair]'; å…­>'[number six]'; å…®>'[exclamatory particle]'; å…±>'[together with]'; å…µ>'[soldier]'; å…¶>'[his]'; å…·>'[tool]'; å…¸>'[law]'; å…¼>'[unite]'; 冀>'[hope for]'; 冂>'[wide]'; 内>'[inside]'; 円>'[yen]'; 冉>'[tender]'; 冊>'[book]'; 册>'[book]'; å†>'[again]'; å†>'[[not found in dictionary]]'; å†>'[risk]'; 冑>'[helmet]'; 冒>'[risk]'; 冓>'[a secluded place]'; 冕>'[crown]'; 冖>'[cover]'; 冗>'[excessive]'; 写>'[write]'; 冠>'[cap]'; 冢>'[burial mound]'; 冤>'[grievance]'; 冥>'[dark]'; 冦>'[bandits]'; 冨>'[abundant]'; 冩>'[write]'; 冪>'[cover-cloth]'; 冫>'[ice]'; 冬>'[winter]'; 冰>'[ice]'; 冱>'[freezing]'; 冲>'[soar]'; 决>'[decide]'; 冴>'[freezing]'; 况>'[condition]'; 冶>'[smelt]'; 冷>'[cold]'; 冽>'[cold and raw]'; 凄>'[bitter cold]'; 凅>'[dried up]'; 准>'[approve]'; 凉>'[cool]'; 凋>'[be withered]'; 凌>'[pure]'; å‡>'[freeze]'; 凖>'[rule]'; 凛>'[to shiver with cold or fear]'; 凜>'[shiver with cold or fear]'; å‡>'[coagulate]'; 几>'[small table]'; 凡>'[all]'; 処>'[place]'; 凧>'[kite]'; 凩>'[wintry wind]'; 凪>'[calm]'; 凭>'[lean on]'; 凰>'[female phoenix]'; 凱>'[triumphant]'; 凵>'[receptacle]'; 凶>'[culprit]'; 凸>'[protrude]'; 凹>'[concave]'; 出>'[go out]'; 函>'[correspondence]'; 凾>'[correspondence]'; 刀>'[knife]'; 刃>'[edged tool]'; 刄>'[edged tool]'; 分>'[divide]'; 切>'[cut]'; 刈>'[cut off]'; 刊>'[publication]'; 刋>'[publication]'; 刎>'[behead]'; 刑>'[punishment]'; 刔>'[scoop out]'; 列>'[line]'; åˆ>'[beginning]'; 判>'[judge]'; 別>'[separate]'; 刧>'[disaster]'; 利>'[gains]'; 刪>'[to cut]'; 刮>'[shave]'; 到>'[go to]'; 刳>'[cut out]'; 制>'[system]'; 刷>'[brush]'; 券>'[certificate]'; 刹>'[temple]'; 刺>'[stab]'; 刻>'[carve]'; 剃>'[shave]'; 剄>'[cut throat]'; 則>'[rule]'; 削>'[scrape off]'; 剋>'[subdue]'; 剌>'[slash]'; å‰>'[in front]'; å‰>'[establish]'; 剔>'[pick out]'; 剖>'[split in two]'; 剛>'[hard]'; 剞>'[carving or engraving knife]'; 剣>'[sword]'; 剤>'[medicinal preparation]'; 剥>'[peel]'; 剩>'[leftovers]'; 剪>'[scissors]'; 副>'[assist]'; 剰>'[leftovers]'; 剱>'[sword]'; 割>'[cut]'; 剳>'[brief note]'; 剴>'[sharpen]'; 創>'[establish]'; 剽>'[rob]'; 剿>'[destroy]'; 劃>'[divide]'; 劇>'[theatrical plays]'; 劈>'[cut apart]'; 劉>'[surname]'; åŠ>'[sword]'; 劑>'[medicinal preparation]'; 劒>'[sword]'; 劔>'[sword]'; 力>'[power]'; 功>'[achievement]'; 加>'[add to]'; 劣>'[bad]'; 助>'[help]'; 努>'[exert]'; 劫>'[take by force]'; 劬>'[be diligent]'; 劭>'[encourage]'; 励>'[strive]'; 労>'[labor]'; 劵>'[certificate]'; 効>'[efficacious]'; 劼>'[be discreet]'; 劾>'[examine into]'; å‹>'[strong]'; 勃>'[suddenly]'; å‹…>'[imperial degree]'; 勇>'[brave]'; 勉>'[endeavor]'; å‹>'[strong]'; å‹’>'[strangle]'; å‹•>'[move]'; å‹—>'[enjoin]'; 勘>'[investigate]'; å‹™>'[affairs]'; å‹>'[victory]'; 勞>'[labor]'; 募>'[levy]'; å‹ >'[join forces]'; å‹¢>'[power]'; å‹£>'[achievements]'; 勤>'[industrious]'; 勦>'[destroy]'; å‹§>'[recommend]'; 勲>'[meritorious deed]'; 勳>'[meritorious deed]'; 勵>'[strive]'; 勸>'[recommend]'; 勹>'[wrap]'; 勺>'[spoon]'; 勾>'[hook]'; å‹¿>'[must not]'; åŒ>'[Japanese unit of weight (1/1000 of a kan)]'; 匂>'[fragrance]'; 包>'[wrap]'; 匆>'[hastily]'; 匈>'[breast]'; åŒ>'[crawl]'; åŒ>'[gourd]'; åŒ>'[fall prostrate]'; 匕>'[spoon]'; 化>'[change]'; 北>'[north]'; 匙>'[spoon]'; 匚>'[box]'; åŒ>'[full circle]'; 匠>'[craftsman]'; 匡>'[correct]'; 匣>'[small box]'; 匪>'[bandits]'; 匯>'[concourse]'; 匱>'[to lack]'; 匳>'[ladies toilet case with mirror]'; 匸>'[box]'; 匹>'[bolt of cloth]'; 区>'[area]'; 医>'[cure]'; 匿>'[hide]'; å€>'[area]'; å>'[ten]'; åƒ>'[thousand]'; å…>'[thirty]'; å†>'[soldier]'; å‡>'[arise]'; åˆ>'[noon]'; å‰>'[general term for plants]'; åŠ>'[half]'; å>'[swastika - fourth of auspicious]'; å‘>'[humble]'; å’>'[soldier]'; å“>'[profound]'; å”>'[be united]'; å—>'[south]'; #"å—>'[south]'", åš>'[gamble]'; åœ>'[fortune telling]'; åž>'[be impatient]'; å >'[divine]'; å¦>'[fortune telling]'; å©>'[seal]'; å®>'[measuring cup]'; å¯>'[4th of Earth Branches]'; å°>'[print]'; å±>'[dangerous]'; å³>'[promptly]'; å´>'[still]'; åµ>'[egg]'; å·>'[scroll]'; å¸>'[lay down]'; å»>'[still]'; å¿>'[noble]'; 厂>'[factory]'; 厄>'[adversity]'; 厖>'[bulky]'; 厘>'[thousandth part of tael]'; 厚>'[thick]'; 原>'[source]'; 厠>'[mingle with]'; 厥>'[personal pronoun - he]'; 厦>'[big building]'; 厨>'[kitchen]'; 厩>'[stable]'; 厭>'[dislike]'; 厮>'[servant]'; 厰>'[factory]'; 厳>'[strict]'; 厶>'[private]'; 去>'[go away]'; å‚>'[take part in]'; åƒ>'[take part in]'; åˆ>'[and]'; å‰>'[crotch]'; åŠ>'[extend]'; å‹>'[friend]'; åŒ>'[set of two]'; å>'[reverse]'; åŽ>'[gather together]'; å”>'[father''s younger brother]'; å–>'[take]'; å—>'[receive]'; å™>'[express]'; å›>'[rebel]'; åŸ>'[old man]'; å¡>'[astute]'; å¢>'[bush]'; å£>'[mouth]'; å¤>'[old]'; å¥>'[sentence]'; å¨>'[talkative]'; å©>'[knock]'; åª>'[only]'; å«>'[cry]'; å¬>'[imperial decree]'; å­>'[trumpet]'; å®>'[exhort or enjoin repeatedly]'; å¯>'[may]'; å°>'[platform]'; å±>'[scold]'; å²>'[history]'; å³>'[right]'; å¶>'[to harmonize]'; å·>'[mark]'; å¸>'[take charge of]'; #"å¹>'[sigh]'", å>'[interjection \"Alas!\"]'; åƒ>'[eat]'; å„>'[each]'; åˆ>'[combine]'; å‰>'[lucky]'; åŠ>'[condole]'; å‹>'[inch]'; åŒ>'[same]'; å>'[name]'; åŽ>'[queen]'; å>'[government official]'; å>'[vomit]'; å‘>'[toward]'; å›>'[sovereign]'; å>'[stingy]'; åŸ>'[sing]'; å >'[bark]'; å¦>'[not]'; å©>'[order]'; å«>'[hold in mouth]'; å¬>'[hear]'; å­>'[throat]'; å®>'[suck with mouth]'; å¶>'[raise voice]'; å¸>'[inhale]'; å¹>'[blow]'; å»>'[kiss]'; å¼>'[roar]'; å½>'[\"OM\"]'; å¾>'[i]'; å‘€>'[particle used express surprise]'; å‘‚>'[surname]'; 呆>'[dull]'; 呈>'[submit]'; 呉>'[one of warring states]'; 告>'[tell]'; 呎>'[foot]'; å‘‘>'[swallow]'; #"呜>'[sound of crying]'", 周>'[zhou dynasty]'; 呪>'[curse]'; #"å‘°>'[................................]'", 呱>'[wail]'; 味>'[taste]'; 呵>'[scold]'; å‘¶>'[talkative]'; å‘·>'[suck]'; å‘»>'[groan]'; 呼>'[breathe sigh]'; 命>'[life]'; å’€>'[suck]'; å’„>'[noise of rage]'; å’†>'[roar]'; å’‹>'[why? how? what?]'; å’Œ>'[harmony]'; å’Ž>'[fault]'; å’>'[sing song or poem]'; å’>'[instruct]'; å’’>'[curse]'; å’¢>'[sound]'; å’¤>'[scold]'; å’¥>'[sound of cat]'; å’¨>'[inquire]'; å’«>'[foot measure of Zhou dynasty]'; å’¬>'[bite]'; å’¯>'[final particle]'; å’²>'[smile]'; å’³>'[cough]'; å’¸>'[together]'; å’¼>'[chat]'; å’½>'[throat]'; å’¾>'[a noise]'; å“€>'[sad]'; å“>'[article]'; å“‚>'[smile]'; å“„>'[coax]'; 哇>'[vomit]'; 哈>'[sound of laughter]'; 哉>'[final exclamatory particle]'; #"å“—>'[rushing sound]'", å“¡>'[member]'; å“¢>'[syllable]'; å“¥>'[elder brother]'; 哦>'[oh? really? is that so?]'; 哨>'[whistle]'; å“©>'[mile]'; å“­>'[weep]'; å“®>'[cough]'; 哲>'[wise]'; 哺>'[chew food]'; 哽>'[choke]'; 唄>'[final particle of assertion pathaka]'; 唆>'[make mischief]'; 唇>'[lips]'; å”>'[weep or sob]'; å”>'[tang dynasty]'; å””>'[hold in mouth]'; å”–>'[dumb]'; å”®>'[sell]'; 唯>'[only]'; å”±>'[sing]'; 唳>'[cry of bird]'; 唸>'[recite]'; 唹>'[to smile at]'; 唾>'[spit]'; å•€>'[gnaw]'; å•„>'[to peck]'; #"å•„>'[to peck]'", 商>'[commerce]'; 啌>'[animal disease]'; å•>'[ask (about)]'; å•“>'[open]'; å•–>'[eat]'; å•—>'[eat]'; 啜>'[sip]'; #"啜>'[sip]'", å•£>'[hold in mouth]'; å•»>'[only]'; 啼>'[weep]'; 啾>'[wailing of child]'; å–€>'[vomit]'; å–ƒ>'[keep talking]'; å–„>'[good]'; å–‡>'[horn]'; å–‰>'[throat]'; å–Š>'[shout]'; å–‹>'[nag]'; å–˜>'[pant]'; å–™>'[beak]'; å–š>'[call]'; å–œ>'[like]'; å–>'[drink]'; å–ž>'[chirping of insects]'; å–Ÿ>'[heave sigh]'; å–§>'[lively]'; å–¨>'[wail]'; å–©>'[metaphor]'; å–ª>'[mourning]'; å–«>'[eat]'; å–¬>'[tall]'; å–®>'[single]'; å–°>'[to eat]'; å–¶>'[encampment]'; å—„>'[hoarse of voice]'; å—…>'[smell]'; å—‡>'[miserly]'; å—”>'[be angry at]'; å—š>'[sound of crying]'; å—œ>'[be fond of]'; å—Ÿ>'[sigh]'; å—£>'[to connect]'; å—¤>'[laugh at]'; å—·>'[loud clamor]'; å—¹>'[chatter]'; å—½>'[cough]'; å—¾>'[to set a dog on]'; 嘆>'[sigh]'; 嘉>'[excellent]'; 嘔>'[vomit]'; 嘖>'[interjection of approval or admi]'; 嘗>'[taste]'; 嘘>'[exhale]'; 嘛>'[final exclamatory particle]'; 嘩>'[rushing sound]'; 嘯>'[roar]'; 嘱>'[order]'; 嘲>'[ridicule]'; 嘴>'[mouth]'; 嘶>'[neighing of a horse]'; 嘸>'[unclear]'; 噂>'[meet]'; 噌>'[scold]'; 噎>'[choke]'; å™>'[receptacle]'; å™›>'[bite]'; 噤>'[close]'; 器>'[receptacle]'; 噪>'[be noisy]'; 噫>'[belch]'; 噬>'[bite]'; å™´>'[spurt]'; 噸>'[metric ton]'; 噺>'[story]'; 嚀>'[enjoin]'; 嚆>'[give forth sound]'; 嚇>'[scare]'; 嚊>'[to pant]'; åš>'[sneeze]'; åš”>'[sneeze]'; #"åšœ>'[be silent]'", 嚢>'[bag]'; 嚥>'[swallow]'; åš®>'[guide]'; åš´>'[strict]'; åš¶>'[seek friends]'; åš¼>'[prattle]'; 囀>'[sing]'; å›>'[move lip when speaking]'; 囂>'[be noisy]'; #"囂>'[be noisy]'", 囈>'[talk in one''s sleep]'; #"å›>'[double happiness]'", 囑>'[order]'; 囓>'[gnaw]'; å›—>'[erect]'; 囘>'[return]'; 囚>'[prisoner]'; å››>'[four]'; 回>'[return]'; å› >'[cause]'; 団>'[sphere]'; å›®>'[inveigle]'; å›°>'[surround]'; 囲>'[surround]'; 図>'[diagram]'; 囹>'[prison]'; 固>'[become solid]'; 国>'[nation]'; 囿>'[pen up]'; 圀>'[nation]'; 圃>'[garden]'; 圄>'[prison]'; 圈>'[to circle]'; 圉>'[stable]'; 國>'[nation]'; åœ>'[surround]'; åœ>'[to circle]'; 園>'[garden]'; 圓>'[circle]'; 圖>'[diagram]'; 團>'[sphere]'; 圜>'[circle]'; 土>'[soil]'; 圦>'[(kokuji) water gate]'; #"圦>'[(kokuji) water gate]'", 在>'[be at]'; 圭>'[jade pointed at top]'; 地>'[earth]'; #"圳>'[furrow in field]'", #"圳>'[furrow in field]'", 圻>'[border]'; å€>'[site]'; å‚>'[hillside]'; å‡>'[equal]'; åŠ>'[neighborhood]'; åŽ>'[pit]'; å>'[rotten]'; å>'[sit]'; å‘>'[pit]'; å¡>'[slope]'; å¤>'[earth]'; å¦>'[flat]'; å©>'[earthenware]'; åª>'[level ground]'; å¿>'[mound]'; åž‚>'[let down]'; #"垆>'[black clods of earth]'", #"垉>'[................................]'", åž‹>'[pattern]'; åž“>'[border]'; åž >'[boundary]'; 垢>'[dirt]'; 垣>'[low wall]'; 垤>'[ant-hill]'; #"åž©>'[holy]'", #"åž®>'[be defeated]'", #"åž²>'[high and dry place]'", 埀>'[let down]'; 埃>'[fine dust]'; 埆>'[stony]'; 埋>'[bury]'; 城>'[castle]'; 埒>'[enclosure]'; 埓>'[enclosure]'; 埔>'[plain]'; #"埔>'[plain]'", 埜>'[open country]'; 域>'[district]'; 埠>'[port city]'; #"埣>'[................................]'", 埴>'[soil with large clay content]'; 執>'[hold in hand]'; 培>'[bank up with dirt]'; 基>'[foundation]'; 埼>'[headland]'; å €>'[cave]'; å ‚>'[hall]'; å …>'[hard]'; å †>'[heap]'; å Š>'[white earth]'; å ‹>'[bury]'; å •>'[fall]'; å ™>'[bury]'; å >'[crucible]'; å ¡>'[fort]'; å ¤>'[dike]'; å ª>'[adequately capable of]'; å ¯>'[a legendary ancient emperor-sage]'; å °>'[dam]'; å ±>'[report]'; å ´>'[open space]'; å µ>'[wall]'; å º>'[person''s name]'; å ½>'[mound]'; å¡€>'[wall]'; å¡>'[rampart]'; 塊>'[piece]'; å¡‹>'[grave]'; å¡‘>'[model in clay]'; å¡’>'[roost]'; å¡”>'[tower]'; å¡—>'[smear]'; 塘>'[pond]'; å¡™>'[truly]'; 塚>'[cemetery]'; 塞>'[stop up]'; å¡¢>'[entrenchment]'; å¡©>'[salt]'; å¡«>'[fill in]'; #"å¡­>'[[not found in any dictionary]]'", 塲>'[open space]'; 塵>'[dust]'; 塹>'[moat]'; 塾>'[village school]'; 境>'[boundery]'; 墅>'[villa]'; 墓>'[grave]'; 増>'[increase]'; 墜>'[fall down]'; 墟>'[high mound]'; 墨>'[ink]'; 墫>'[cup]'; 墮>'[fall]'; 墳>'[grave]'; #"墳>'[grave]'", #"墳>'[grave]'", 墺>'[4 walls]'; 墻>'[wall]'; 墾>'[cultivate]'; å£>'[partition wall]'; 壅>'[to obstruct]'; 壇>'[altar]'; 壊>'[bad]'; 壌>'[soil]'; 壑>'[bed of torrent]'; 壓>'[press]'; 壕>'[trench]'; #"壖>'[open space along water]'", 壘>'[rampart]'; 壙>'[tomb]'; 壜>'[earthen jar or jug]'; 壞>'[bad]'; 壟>'[grave]'; 壤>'[soil]'; #"壥>'[................................]'", 士>'[scholar]'; 壬>'[ninth of ten celestial stems]'; 壮>'[big]'; 壯>'[big]'; 声>'[sound]'; 壱>'[number one]'; 売>'[sell]'; 壷>'[jar]'; 壹>'[number one]'; 壺>'[jar]'; 壻>'[son-in-law]'; 壼>'[palace corridor or passageway]'; 壽>'[old age]'; 夂>'[go]'; 変>'[change]'; 夊>'[Radical No. 35]'; å¤>'[summer]'; å¤>'[long]'; 夕>'[evening]'; 外>'[out]'; 夘>'[4th of Earth Branches]'; 夙>'[early in morning]'; 多>'[much]'; 夛>'[much]'; 夜>'[night]'; 夢>'[dream]'; 夥>'[companion]'; 大>'[big]'; 天>'[sky]'; 太>'[very]'; 夫>'[man]'; 夬>'[parted]'; 夭>'[young]'; 央>'[center]'; 失>'[lose]'; 夲>'[advance quickly]'; 夷>'[ancient barbarian tribes]'; 夸>'[extravagant]'; 夾>'[be wedged or inserted between]'; 奄>'[ere long]'; 奇>'[strange]'; 奈>'[but]'; 奉>'[offer]'; 奎>'[stride of man]'; å¥>'[memorialize emperor]'; å¥>'[be numerous]'; 契>'[deed]'; 奔>'[run fast]'; 奕>'[in sequence]'; 套>'[case]'; 奘>'[large]'; 奚>'[where? what? how? why?]'; 奠>'[pay respect]'; 奢>'[extravagant]'; 奥>'[mysterious]'; 奧>'[mysterious]'; 奨>'[prize]'; 奩>'[lady''s vanity case]'; 奪>'[take by force]'; 奬>'[prize]'; 奮>'[strive]'; 女>'[woman]'; 奴>'[slave]'; 奸>'[crafty]'; 好>'[good]'; å¦>'[act as go-between]'; 如>'[if]'; 妃>'[wife]'; 妄>'[absurd]'; 妊>'[conceive]'; å¦>'[beautiful]'; 妓>'[prostitute]'; 妖>'[strange]'; 妙>'[mysterious]'; #"妙>'[mysterious]'", å¦>'[adorn oneself]'; 妣>'[one''s deceased mother]'; 妥>'[satisfactory]'; 妨>'[interfere with]'; 妬>'[jealous]'; 妲>'[concubine of last ruler of shang]'; 妹>'[younger sister]'; 妻>'[wife]'; 妾>'[concubine]'; 姆>'[child''s governess]'; 姉>'[elder sister]'; å§‹>'[begin]'; å§>'[elder sister]'; å§‘>'[father''s sister]'; å§“>'[one''s family name]'; å§”>'[appoint]'; å§™>'[conceive]'; å§š>'[handsome]'; å§œ>'[surname]'; å§¥>'[maternal grandmother]'; 姦>'[adultery]'; 姨>'[mother/wife''s sister]'; 姪>'[niece]'; å§«>'[beauty]'; #"å§±>'[beautiful]'", å§»>'[relatives by marriage]'; å§¿>'[one''s manner]'; å¨>'[pomp]'; 娃>'[baby]'; 娉>'[beautiful]'; 娑>'[dance]'; 娘>'[mother]'; #"娚>'[................................]'", 娜>'[elegant]'; 娟>'[beautiful]'; 娠>'[pregnant]'; 娥>'[be beautiful]'; 娩>'[give birth child]'; 娯>'[pleasure]'; 娵>'[star]'; 娶>'[marry]'; 娼>'[prostitute]'; å©€>'[be beautiful]'; å©>'[surname]'; 婆>'[old woman]'; 婉>'[amiable]'; 婚>'[get married]'; å©¢>'[servant girl]'; 婦>'[married women]'; 婪>'[covet]'; 婬>'[obscene]'; å©¿>'[son-in-law]'; 媒>'[go-between]'; 媚>'[charming]'; 媛>'[beauty]'; 媼>'[old woman]'; 媽>'[mother]'; 媾>'[marry]'; å«>'[marry]'; å«‚>'[sister-in-law]'; 嫉>'[jealousy]'; å«‹>'[slender and delicate]'; 嫌>'[hate]'; å«>'[frolic]'; å«–>'[patronize prostitutes]'; å«—>'[old woman]'; å«¡>'[legal wife]'; å«£>'[charming]'; 嫦>'[name of a moon goddess]'; å«©>'[soft]'; 嫺>'[refined]'; å«»>'[elegant]'; 嬉>'[enjoy]'; 嬋>'[beautiful]'; 嬌>'[seductive and loveable]'; 嬖>'[favorite]'; 嬢>'[troubled]'; 嬪>'[court lady]'; 嬬>'[mistress]'; 嬰>'[baby]'; 嬲>'[frolic]'; #"嬴>'[to win]'", 嬾>'[lazy]'; å­€>'[widow]'; å­ƒ>'[troubled]'; å­…>'[slender]'; å­>'[offspring]'; å­‘>'[remaining]'; å­”>'[opening]'; å­•>'[be pregnant]'; å­—>'[letter]'; å­˜>'[exist]'; å­š>'[brood over eggs]'; å­›>'[comet]'; å­œ>'[be as diligent as possible]'; å­>'[filial piety]'; å­Ÿ>'[first in series]'; å­£>'[quarter of year]'; å­¤>'[orphan]'; å­¥>'[one''s children]'; å­¦>'[learning]'; å­©>'[baby]'; å­«>'[grandchild]'; å­°>'[who? which? what? which one?]'; å­±>'[weak]'; å­³>'[breed in large numbers]'; å­µ>'[sit on eggs]'; å­¸>'[learning]'; å­º>'[child]'; 宀>'[roof]'; 它>'[it]'; å®…>'[residence]'; 宇>'[house]'; 守>'[defend]'; 安>'[peaceful]'; 宋>'[Song dynasty]'; 完>'[complete]'; å®>'[flesh]'; å®>'[wide]'; 宕>'[stone quarry]'; å®—>'[lineage]'; 官>'[official]'; å®™>'[time as concept]'; 定>'[decide]'; å®›>'[seem]'; 宜>'[suitable]'; å®>'[treasure]'; 実>'[real]'; 客>'[guest]'; 宣>'[declare]'; 室>'[room]'; 宥>'[forgive]'; 宦>'[officialdom]'; å®®>'[palace]'; å®°>'[to slaughter]'; 害>'[injure]'; å®´>'[entertain]'; 宵>'[night]'; å®¶>'[house]'; 宸>'[imperial]'; 容>'[looks]'; 宿>'[stop]'; 寂>'[still]'; 寃>'[grievance]'; 寄>'[send]'; 寅>'[respect]'; 密>'[dense]'; 寇>'[bandits]'; #"寉>'[................................]'", 富>'[abundant]'; å¯>'[sleep]'; 寒>'[cold]'; 寓>'[residence]'; 寔>'[real]'; 寛>'[broad]'; å¯>'[sleep]'; 寞>'[silent]'; 察>'[examine]'; 寡>'[widowed]'; 寢>'[sleep]'; 寤>'[few]'; 寥>'[few]'; 實>'[real]'; 寧>'[repose]'; 寨>'[stockade]'; 審>'[examine]'; 寫>'[write]'; 寮>'[shanty]'; 寰>'[great domain]'; 寳>'[treasure]'; 寵>'[favorite]'; 寶>'[treasure]'; 寸>'[inch]'; 寺>'[court]'; 対>'[correct]'; 寿>'[old age]'; å°>'[letter]'; å°‚>'[monopolize]'; å°„>'[shoot]'; å°…>'[subdue]'; å°†>'[will]'; å°‡>'[will]'; å°ˆ>'[monopolize]'; å°‰>'[officer]'; å°Š>'[respect]'; å°‹>'[seek]'; å°>'[correct]'; å°Ž>'[direct]'; å°>'[small]'; å°‘>'[few]'; å°“>'[you]'; å°–>'[sharp]'; å°š>'[still]'; å° >'[very few]'; å°¢>'[weak]'; å°¤>'[especially]'; å°¨>'[shaggy haired dog]'; å°­>'[a legendary ancient emperor-sage]'; å°±>'[just]'; å°¸>'[corpse]'; å°¹>'[govern]'; å°º>'[chinese measure approx. \"foot\"]'; å°»>'[end of spine]'; å°¼>'[buddhist nun]'; å°½>'[exhaust]'; å°¾>'[tail]'; å°¿>'[urine]'; å±€>'[bureau]'; å±>'[break wind]'; å±…>'[live]'; 屆>'[numerary adjunct for time]'; 屈>'[bend]'; 届>'[numerary adjunct for time]'; 屋>'[house]'; å±>'[corpse]'; 屎>'[excrement]'; å±>'[folding screen]'; å±>'[wooden shoes]'; 屑>'[bits]'; 屓>'[gigantic strength]'; 展>'[open]'; 属>'[class]'; å± >'[butcher]'; 屡>'[frequently]'; 層>'[storey]'; å±¥>'[footwear]'; 屬>'[class]'; å±®>'[sprout]'; 屯>'[village]'; å±±>'[mountain]'; å±¶>'[lofty]'; å±¹>'[to rise high]'; 岌>'[perilous]'; å²>'[high]'; 岑>'[steep]'; å²”>'[diverge]'; 岡>'[ridge or crest of hill]'; 岨>'[uneven]'; 岩>'[cliff]'; 岫>'[mountain peak]'; 岬>'[cape]'; å²±>'[daishan one of five sacred mount]'; å²³>'[mountain peak]'; #"å²¶>'[................................]'", å²·>'[min mountain]'; 岸>'[bank]'; #"岺>'[mountain ridge]'", #"岺>'[mountain ridge]'", å²¾>'[mountain pass (korean)]'; #"峄>'[range of peaks]'", 峇>'[cave]'; å³™>'[stand erect]'; å³ >'[mountain pass]'; 峡>'[gorge]'; 峨>'[lofty]'; 峩>'[lofty]'; 峪>'[valley]'; å³­>'[steep]'; 峯>'[peak]'; å³°>'[peak]'; å³¶>'[island]'; #"峺>'[................................]'", å³»>'[high]'; å³½>'[gorge]'; å´‡>'[esteem]'; å´‹>'[flowery]'; å´Ž>'[rough]'; å´‘>'[Kunlun mountains in Jiang Su province.]'; å´”>'[high]'; å´•>'[cliff]'; å´–>'[cliff]'; å´—>'[post]'; å´˜>'[kunlun mountains in jiangsu]'; å´™>'[kunlun mountains in jiangsu]'; å´š>'[hilly]'; å´›>'[towering]'; å´Ÿ>'[cliffs]'; å´¢>'[high]'; å´©>'[rupture]'; 嵋>'[omei mountain in sichuan]'; 嵌>'[inlay]'; 嵎>'[mountain recess]'; åµ>'[mountain mist]'; åµ’>'[cliff]'; 嵜>'[rough]'; 嵩>'[high]'; 嵬>'[high]'; 嵯>'[high]'; åµ³>'[high]'; åµ¶>'[low part of a mountain]'; å¶‚>'[cliff]'; å¶„>'[high]'; 嶇>'[steep]'; å¶‹>'[island]'; å¶Œ>'[island]'; #"å¶>'[................................]'", å¶>'[path leading up a mountain]'; å¶¢>'[high or tall]'; #"嶬>'[................................]'", å¶®>'[high]'; å¶·>'[range of mountains in hunan prov]'; 嶺>'[mountain ridge]'; å¶¼>'[island]'; å¶½>'[mountain peak]'; å·‰>'[steep]'; å·Œ>'[cliff]'; å·>'[high]'; å·’>'[mountain range]'; å·“>'[summit of mountain]'; å·–>'[cliff]'; å·›>'[river]'; å·>'[stream]'; å·ž>'[administrative division]'; å·¡>'[patrol]'; å·£>'[nest]'; å·¥>'[labor]'; å·¦>'[left]'; å·§>'[skillful]'; å·¨>'[large]'; å·«>'[wizard]'; å·®>'[differ]'; å·±>'[self]'; å·²>'[already]'; å·³>'[sixth of twelve branches]'; å·´>'[greatly desire]'; å·µ>'[measuring cup]'; å··>'[alley]'; å·»>'[scroll]'; å·½>'[5th of the 8 trigrams]'; å·¾>'[kerchief]'; 市>'[market]'; 布>'[cotton cloth]'; 帆>'[sail]'; 帋>'[paper]'; 希>'[rare]'; 帑>'[a treasury]'; 帖>'[invitation card]'; 帙>'[book cover]'; 帚>'[broom]'; 帛>'[silks]'; å¸>'[supreme ruler]'; 帥>'[commander]'; 師>'[teacher]'; 席>'[seat]'; 帯>'[belt]'; 帰>'[return]'; 帳>'[tent]'; 帶>'[belt]'; 帷>'[tent]'; 常>'[common]'; 帽>'[hat]'; å¹€>'[picture]'; 幃>'[curtain that forms wall]'; 幄>'[tent]'; å¹…>'[piece]'; 幇>'[help]'; 幌>'[curtain]'; 幎>'[cover-cloth]'; å¹”>'[curtain]'; 幕>'[curtain]'; å¹—>'[women''s headgear]'; 幟>'[flag]'; 幡>'[pennant]'; å¹¢>'[carriage curtain]'; å¹£>'[currency]'; 幤>'[evil]'; å¹²>'[oppose]'; å¹³>'[flat]'; å¹´>'[year]'; å¹µ>'[even level. to raise in both hands]'; å¹¶>'[combine]'; 幸>'[luck(ily)]'; å¹¹>'[trunk of tree or of human body]'; 幺>'[one]'; å¹»>'[illusion]'; å¹¼>'[infant]'; å¹½>'[quiet]'; å¹¾>'[how many? how much? (a)few]'; 广>'[wide]'; åº>'[hall]'; 広>'[broad]'; 庄>'[village]'; 庇>'[cover]'; 床>'[bed]'; åº>'[series]'; 底>'[bottom]'; 庖>'[kitchen]'; 店>'[shop]'; 庚>'[seventh of ten cyclical stems]'; 府>'[prefecture]'; 庠>'[village school]'; 度>'[degree]'; 座>'[seat]'; 庫>'[armory]'; 庭>'[courtyard]'; 庵>'[buddhist monastery or nunnery]'; 庶>'[numerous]'; 康>'[peaceful]'; 庸>'[usual]'; å»>'[toilet]'; 廂>'[side-room]'; 廃>'[abrogate]'; 廈>'[big building]'; 廉>'[upright]'; 廊>'[corridor]'; å»>'[stable]'; å»>'[stable]'; 廓>'[broad]'; å»–>'[surname]'; 廚>'[kitchen]'; å»›>'[store]'; å»>'[servant]'; 廟>'[temple]'; å» >'[factory]'; 廡>'[corridor]'; 廢>'[abrogate]'; 廣>'[broad]'; 廨>'[government office]'; 廩>'[granary]'; 廬>'[hut]'; å»°>'[hall]'; å»±>'[harmonious]'; 廳>'[hall]'; å»´>'[go]'; å»¶>'[delay]'; å»·>'[court]'; 廸>'[enlighten]'; 建>'[build]'; å»»>'[circle around]'; 廼>'[then]'; 廾>'[two hands]'; 廿>'[twenty]'; å¼>'[conical cap worn under zhou dyna]'; 弃>'[reject]'; 弄>'[do]'; 弉>'[large]'; 弊>'[evil]'; 弋>'[catch]'; 弌>'[number one]'; å¼>'[number two]'; å¼>'[style]'; å¼>'[number two]'; 弑>'[to kill one''s superior]'; 弓>'[bow]'; å¼”>'[condole]'; 引>'[pull]'; å¼–>'[phonetic for \"te\" (Japanese)]'; å¼—>'[not]'; 弘>'[enlarge]'; å¼›>'[loosen]'; 弟>'[young brother]'; å¼¥>'[extensive]'; 弦>'[string]'; å¼§>'[wooden bow]'; 弩>'[cross-bow]'; å¼­>'[stop]'; 弯>'[bend]'; å¼±>'[weak]'; å¼µ>'[stretch]'; å¼·>'[strong]'; 弸>'[bow stretched full]'; å¼¼>'[aid]'; #"å¼¼>'[aid]'", #"å½>'[................................]'", 彈>'[pellet]'; 彊>'[stubborn]'; 彌>'[extensive]'; 彎>'[bend]'; 彑>'[snout]'; 当>'[bear]'; å½–>'[a hog]'; å½—>'[broomstick]'; å½™>'[collect]'; 彜>'[yi]'; å½>'[yi]'; 彡>'[hair]'; å½¢>'[form]'; 彦>'[elegant]'; 彩>'[hue]'; 彪>'[tiger]'; 彫>'[carve]'; 彬>'[cultivated]'; å½­>'[name of ancient country]'; å½°>'[clear]'; å½±>'[shadow]'; å½³>'[step with left foot]'; å½·>'[like]'; å½¹>'[service]'; å½¼>'[that]'; 彿>'[resembling]'; å¾€>'[go]'; å¾>'[invade]'; 徂>'[go]'; 徃>'[go]'; 径>'[narrow path]'; å¾…>'[treat]'; 徇>'[comply with]'; 很>'[very]'; 徊>'[linger]'; 律>'[statute]'; 後>'[behind]'; å¾>'[slowly]'; 徑>'[narrow path]'; å¾’>'[disciple]'; 従>'[from]'; å¾—>'[obtain]'; 徘>'[walk back and forth]'; å¾™>'[move one''s abode]'; 從>'[from]'; å¾ >'[induce]'; 御>'[drive]'; 徨>'[doubtful]'; 復>'[return]'; 循>'[obey]'; å¾­>'[conscript labor]'; å¾®>'[small]'; å¾³>'[virtue]'; å¾´>'[summon]'; å¾¹>'[penetrate]'; å¾¼>'[frontier]'; å¾½>'[a badge]'; 心>'[heart]'; å¿…>'[surely]'; 忌>'[jealous]'; å¿>'[endure]'; å¿–>'[guess]'; å¿—>'[purpose]'; 忘>'[forget]'; å¿™>'[busy]'; 応>'[should]'; å¿>'[disgrace]'; å¿ >'[loyalty]'; 忤>'[insubordinate]'; å¿«>'[rapid]'; å¿°>'[suffer]'; 忱>'[truth]'; 念>'[think of]'; 忸>'[blush]'; å¿»>'[delightful]'; 忽>'[suddenly]'; å¿¿>'[get angry]'; 怎>'[what? why? how?]'; æ€>'[discontented]'; #"æ€>'[................................]'", 怒>'[anger]'; 怕>'[fear]'; 怖>'[terror]'; 怙>'[rely on]'; 怛>'[grieved]'; 怜>'[pity]'; æ€>'[think]'; 怠>'[idle]'; 怡>'[harmony]'; 急>'[quick]'; 怦>'[eager]'; 性>'[nature]'; 怨>'[hatred]'; 怩>'[shy]'; 怪>'[strange]'; 怫>'[sorry]'; 怯>'[lacking in courage]'; 怱>'[hastily]'; 怺>'[to endure]'; æ>'[that]'; æ‚>'[careful]'; æƒ>'[rely on]'; æ†>'[constant]'; æŠ>'[be united]'; æ‹>'[love]'; æ>'[seemingly]'; æ>'[fear]'; æ’>'[constant]'; æ•>'[forgive]'; æ™>'[illness]'; æš>'[anger]'; æŸ>'[scared]'; æ >'[strange]'; æ¢>'[restore]'; æ£>'[indulge oneself]'; æ¤>'[show pity]'; æ¥>'[shame]'; æ¨>'[hatred]'; æ©>'[kindness]'; æª>'[respectful]'; æ«>'[in pain]'; æ¬>'[quiet]'; æ­>'[respectful]'; æ¯>'[rest]'; æ°>'[just]'; æµ>'[favor]'; #"æ¶>'[evil]'", æ‚>'[irritable]'; 悃>'[sincere]'; æ‚„>'[silent]'; 悉>'[know]'; æ‚‹>'[stingy]'; 悌>'[brotherly]'; æ‚>'[courageous]'; æ‚’>'[sorrowful]'; æ‚”>'[repent]'; æ‚–>'[be contradictory to]'; #"æ‚–>'[be contradictory to]'", 悚>'[be afraid]'; æ‚›>'[repent]'; 悟>'[apprehend]'; æ‚ >'[long]'; æ‚£>'[suffer]'; 悦>'[pleased]'; æ‚§>'[smooth]'; æ‚©>'[angered]'; 悪>'[evil]'; 悲>'[sorrow]'; 悳>'[ethics]'; æ‚´>'[suffer]'; 悵>'[disappointed]'; æ‚¶>'[gloomy]'; 悸>'[fearful]'; 悼>'[grieve]'; 悽>'[sorrowful]'; 情>'[feeling]'; 惆>'[distressed]'; 惇>'[be kind]'; 惑>'[confuse]'; 惓>'[careful]'; 惘>'[disconcerted]'; 惚>'[absent-minded]'; 惜>'[pity]'; 惟>'[but]'; 惠>'[favor]'; 惡>'[evil]'; 惣>'[overall [questionable variant]]'; 惧>'[fear]'; 惨>'[sad]'; 惰>'[indolent]'; 惱>'[angered]'; 想>'[think]'; 惴>'[afraid]'; 惶>'[fearful]'; 惷>'[wriggle]'; 惹>'[irritate]'; 惺>'[intelligent]'; 惻>'[feel anguish]'; æ„€>'[change one''s countenance]'; æ„>'[anxiety]'; 愃>'[relax]'; 愆>'[fault]'; 愈>'[more and more]'; 愉>'[pleasant]'; æ„>'[pity]'; 愎>'[obstinate]'; æ„>'[thought]'; æ„•>'[startled]'; 愚>'[stupid]'; æ„›>'[love]'; 感>'[feel]'; æ„¡>'[absent-minded]'; æ„§>'[ashamed]'; 愨>'[sincerity]'; 愬>'[accuse]'; æ„´>'[sad]'; 愼>'[act with care]'; 愽>'[gamble]'; 愾>'[anger]'; æ„¿>'[sincere]'; æ…‚>'[urge]'; æ…„>'[shiver]'; æ…‡>'[careful]'; æ…ˆ>'[kind]'; æ…Š>'[to resent]'; æ…‹>'[manner]'; æ…Œ>'[nervous]'; æ…>'[angry]'; æ…Ž>'[act with care]'; #"æ…“>'[................................]'", æ…•>'[long for]'; æ…˜>'[sad]'; æ…™>'[ashamed]'; æ…š>'[ashamed]'; æ…>'[do evil in secret]'; æ…Ÿ>'[sadness]'; æ…¢>'[slow(ly)]'; æ…£>'[habit]'; æ…¥>'[sincere]'; æ…§>'[bright]'; æ…¨>'[sigh]'; æ…«>'[to alarm]'; æ…®>'[be concerned]'; #"æ…¯>'[................................]'", æ…°>'[comfort]'; æ…±>'[sad]'; æ…³>'[miserly]'; æ…´>'[fear]'; æ…µ>'[indolent]'; æ…¶>'[congratulate]'; æ…·>'[ardent]'; æ…¾>'[lust]'; 憂>'[sad]'; 憇>'[rest]'; 憊>'[tired]'; 憎>'[hate]'; æ†>'[pity]'; 憑>'[lean on]'; 憔>'[be worn-out]'; 憖>'[cautious]'; 憙>'[like]'; 憚>'[dread]'; 憤>'[resent]'; 憧>'[irresolute]'; 憩>'[rest]'; 憫>'[pity]'; 憬>'[rouse]'; 憮>'[regretful]'; 憲>'[constitution]'; 憶>'[remember]'; 憺>'[peace]'; 憾>'[regret]'; 懃>'[courteous]'; 懆>'[anxious]'; 懇>'[sincere]'; 懈>'[idle]'; 應>'[should]'; 懊>'[vexed]'; 懋>'[splendid]'; 懌>'[enjoy]'; æ‡>'[be afraid of]'; æ‡>'[bosom]'; 懣>'[be sick at heart]'; 懦>'[weak]'; 懲>'[punish]'; 懴>'[regret]'; 懶>'[lazy]'; 懷>'[bosom]'; 懸>'[hang]'; 懺>'[regret]'; 懼>'[fear]'; 懽>'[happy]'; 懾>'[afraid]'; 懿>'[virtuous]'; 戀>'[love]'; 戈>'[halberd]'; 戉>'[a battle-axe]'; 戊>'[fifth of ten celestial stems]'; 戌>'[eleventh of terrestrial branches]'; æˆ>'[defend borders]'; 戎>'[arms]'; æˆ>'[completed]'; 我>'[our]'; 戒>'[warn]'; 戔>'[small]'; 或>'[or]'; 戚>'[relative]'; 戛>'[lance]'; æˆ>'[pirate]'; 戞>'[lance]'; 戟>'[halberd with crescent blade]'; 戡>'[subjugate]'; 戦>'[war]'; 截>'[cut off]'; 戮>'[kill]'; 戯>'[theatrical play]'; 戰>'[war]'; 戲>'[theatrical play]'; 戳>'[prick]'; 戴>'[wear on top]'; 戸>'[door]'; 戻>'[perverse]'; 房>'[house]'; 所>'[place]'; æ‰>'[flat]'; 扇>'[fan]'; 扈>'[escort]'; 扉>'[door panel]'; 手>'[hand]'; æ‰>'[talent]'; 扎>'[pull up]'; 打>'[strike]'; 払>'[shake off]'; 托>'[hold up with palm]'; 扛>'[carry on shoulders]'; 扞>'[ward off]'; 扠>'[pick up with fork or pincers]'; 扣>'[knock]'; 扨>'[pick up with fork or pincers]'; 扮>'[dress up]'; 扱>'[collect]'; 扶>'[support]'; 批>'[comment]'; 扼>'[grasp]'; 找>'[search]'; 承>'[inherit]'; 技>'[skill]'; #"抂>'[................................]'", 抃>'[to clap hands]'; 抄>'[copy]'; 抉>'[choose]'; 把>'[hold]'; 抑>'[press down]'; 抒>'[express]'; 抓>'[scratch]'; 抔>'[take or hold up in both hands]'; 投>'[throw]'; 抖>'[tremble]'; 抗>'[resist]'; 折>'[break off]'; 抛>'[throw (away)]'; 抜>'[uproot]'; 択>'[select]'; 披>'[wear]'; 抬>'[lift]'; 抱>'[embrace]'; 抵>'[resist]'; 抹>'[smear]'; 抻>'[pull]'; 押>'[mortgage]'; 抽>'[draw out]'; æ‹‚>'[shake off]'; æ‹…>'[carry]'; 拆>'[break up]'; 拇>'[thumb]'; 拈>'[pick up with fingers]'; 拉>'[pull]'; 拊>'[slap]'; 拌>'[mix]'; æ‹>'[clap]'; æ‹>'[take]'; æ‹>'[kidnap]'; æ‹‘>'[to clamp]'; æ‹’>'[ward off with hand]'; æ‹“>'[expand]'; æ‹”>'[uproot]'; æ‹—>'[obstinate]'; 拘>'[restrain]'; æ‹™>'[stupid]'; æ‹›>'[beckon]'; 拜>'[do obeisance]'; æ‹>'[do obeisance]'; æ‹ >'[occupy]'; æ‹¡>'[expand]'; 括>'[include]'; æ‹­>'[wipe away stains with cloth]'; æ‹®>'[laboring hard]'; 拯>'[help]'; 拱>'[fold hands on breast]'; 拳>'[fist]'; #"æ‹´>'[bind with rope]'", æ‹¶>'[press]'; æ‹·>'[torture and interrogate]'; 拾>'[pick up]'; æ‹¿>'[take]'; æŒ>'[sustain]'; 挂>'[hang]'; 指>'[finger]'; 挈>'[assist]'; 按>'[put hand on]'; 挌>'[fight]'; 挑>'[load carried on shoulders]'; 挙>'[raise]'; 挟>'[clasp under arm]'; #"挥>'[direct]'", 挨>'[near]'; 挫>'[push down]'; 振>'[raise]'; 挺>'[stand upright]'; 挽>'[pull]'; 挾>'[clasp under arm]'; 挿>'[insert]'; æ‰>'[grasp]'; æŒ>'[break open]'; æ>'[ward off]'; æ>'[pick with fingers]'; æ>'[contribute]'; æ•>'[arrest]'; æ—>'[make progress]'; æœ>'[search]'; æ§>'[hold up in two hands]'; æ¨>'[discard]'; æ©>'[twist with hands]'; æ«>'[stoke]'; æ®>'[occupy]'; æ²>'[curl]'; æ¶>'[strike with stick]'; æ·>'[win]'; æº>'[press down heavily with fringers]'; æ»>'[twist with fingers]'; 掀>'[lift]'; 掃>'[sweep]'; 授>'[give to]'; 掉>'[turn]'; 掌>'[palm of hand]'; 掎>'[drag aside]'; æŽ>'[take out]'; 排>'[row]'; 掖>'[stick in]'; 掘>'[dig]'; 掛>'[hang]'; #"掟>'[................................]'", 掠>'[rob]'; 採>'[gather]'; 探>'[find]'; 掣>'[drag]'; 接>'[receive]'; 控>'[accuse]'; 推>'[push]'; 掩>'[cover]'; 措>'[place]'; 掫>'[be on night watch]'; 掬>'[grasp with both hands]'; #"掱>'[pickpocket]'", 掴>'[box one''s ears]'; #"掴>'[box one''s ears]'", 掻>'[scratch lightly]'; 掾>'[a general designation of officials]'; æ€>'[choose]'; æƒ>'[shear]'; æ„>'[lift]'; æ†>'[prime minister]'; æ‰>'[rub]'; æ>'[copy]'; æ>'[hold in hand]'; æ’>'[insert]'; æ–>'[salute]'; æš>'[scatter]'; æ›>'[change]'; æ¡>'[grasp]'; æ£>'[put things under clothes]'; æ©>'[rub and wipe]'; æ®>'[direct]'; æ´>'[aid]'; æ¶>'[make fun of]'; æº>'[wag]'; æ†>'[pull]'; æ>'[diminish]'; æ>'[seize]'; æ“>'[trample]'; æ–>'[wag]'; æ—>'[hull]'; æœ>'[search]'; æ¦>'[grasp]'; æ¨>'[rub]'; æ¬>'[transfer]'; æ­>'[join together]'; æ´>'[extract]'; æ¶>'[plunder]'; æº>'[lead by hand]'; æ¾>'[press]'; æ‘‚>'[take in]'; 摎>'[to strangle]'; 摘>'[pluck]'; æ‘§>'[destroy]'; æ‘©>'[rub]'; 摯>'[sincere]'; æ‘¶>'[roll around with hand]'; 摸>'[gently touch with hand]'; 摺>'[fold]'; æ’ƒ>'[strike]'; æ’ˆ>'[scoop out of water]'; æ’’>'[release]'; æ’“>'[scratch]'; æ’•>'[rip]'; æ’š>'[twirl in fingers]'; æ’ž>'[knock against]'; æ’¤>'[omit]'; æ’¥>'[move]'; æ’©>'[lift up]'; æ’«>'[pat]'; æ’­>'[sow]'; æ’®>'[little bit]'; æ’°>'[compose]'; æ’²>'[pound]'; æ’¹>'[disturb]'; æ’»>'[flog]'; æ’¼>'[move]'; æ“>'[embrace]'; æ“‚>'[rub]'; æ“…>'[monopolize]'; 擇>'[select]'; æ“>'[conduct]'; æ“’>'[catch]'; æ“”>'[carry]'; 擘>'[thumb]'; 據>'[occupy]'; æ“ >'[crowd]'; æ“¡>'[carry]'; æ“¢>'[pull up]'; æ“£>'[hull]'; 擦>'[wipe]'; æ“§>'[raise]'; 擬>'[draft]'; 擯>'[exclude]'; 擱>'[place]'; 擲>'[throw]'; æ“´>'[expand]'; #"æ“¶>'[................................]'", 擺>'[put]'; 擽>'[tickle]'; 擾>'[disturb]'; 攀>'[climb]'; æ”…>'[save]'; 攘>'[seize]'; 攜>'[lead by hand]'; æ”>'[take in]'; 攣>'[tangled]'; 攤>'[spread out]'; 攪>'[disturb]'; 攫>'[snatch away]'; 攬>'[grasp]'; 支>'[disperse]'; æ”´>'[rap]'; 攵>'[rap]'; æ”¶>'[gather together]'; æ”·>'[examine]'; 攸>'[distant]'; 改>'[change]'; æ”»>'[attack]'; 放>'[put]'; 政>'[government]'; æ•…>'[ancient]'; 效>'[result]'; æ•>'[express]'; æ•>'[fast]'; æ•‘>'[save]'; æ••>'[an imperial order or decree]'; æ•–>'[ramble]'; æ•—>'[be defeated]'; 敘>'[express]'; æ•™>'[teach]'; æ•>'[break]'; 敞>'[roomy]'; æ•¢>'[dare]'; æ•£>'[scatter]'; 敦>'[esteem]'; 敬>'[respect]'; æ•°>'[number]'; 敲>'[strike]'; æ•´>'[orderly]'; 敵>'[enemy]'; æ•·>'[spread]'; 數>'[number]'; æ–‚>'[draw back]'; æ–ƒ>'[kill]'; æ–‡>'[literature]'; æ–ˆ>'[learning]'; æ–‰>'[even]'; æ–Œ>'[refined]'; æ–Ž>'[vegetarian diet]'; æ–>'[graceful]'; æ–‘>'[mottled]'; æ–—>'[chinese peck]'; æ–™>'[consider]'; æ–›>'[dry measure 10 or 5 times of dou]'; æ–œ>'[slanting]'; æ–Ÿ>'[pour wine or tea into cup]'; æ–¡>'[revolve]'; æ–¤>'[catty]'; æ–¥>'[scold]'; æ–§>'[axe]'; æ–«>'[cut]'; æ–¬>'[cut]'; æ–­>'[sever]'; æ–¯>'[this]'; æ–°>'[new]'; æ–·>'[sever]'; æ–¹>'[square]'; æ–¼>'[in]'; æ–½>'[grant]'; æ—>'[side]'; æ—ƒ>'[silk banner with bent pole]'; æ—„>'[a kind of ancient flag]'; æ—…>'[trip]'; æ—†>'[flag ornament]'; æ—‹>'[revolve]'; æ—Œ>'[banner or flag adorned with feat]'; æ—>'[family clan]'; æ—’>'[fringes of pearls on crowns]'; æ——>'[banner]'; æ—™>'[a pennant]'; æ—›>'[a pennant]'; æ— >'[negative]'; æ—¡>'[choke on something eaten]'; æ—¢>'[already]'; æ—¥>'[sun]'; æ—¦>'[dawn]'; æ—§>'[old]'; æ—¨>'[purpose]'; æ—©>'[early]'; æ—¬>'[ten-day period]'; æ—­>'[rising sun]'; æ—±>'[drought]'; æ—º>'[prosper]'; æ—»>'[heaven]'; 昂>'[rise]'; 昃>'[afternoon]'; 昆>'[elder brother]'; 昇>'[rise]'; 昊>'[summer time]'; 昌>'[light of sun]'; 明>'[bright]'; æ˜>'[dusk]'; 易>'[change]'; 昔>'[formerly]'; 昜>'[to open out]'; 星>'[star]'; 映>'[project]'; 春>'[spring]'; 昧>'[obscure]'; 昨>'[yesterday]'; 昭>'[bright]'; 是>'[indeed]'; 昴>'[one of the 28 constellations]'; 昵>'[intimate]'; 昶>'[a long day. bright. extended. clear]'; 昼>'[daytime]'; 昿>'[extensive]'; æ™>'[morning]'; 時>'[time]'; 晃>'[bright]'; 晄>'[bright]'; 晉>'[advance]'; 晋>'[advance]'; æ™>'[peaceful]'; æ™’>'[dry in sun]'; æ™>'[daytime]'; 晞>'[dry]'; 晟>'[clear]'; 晢>'[light of stars]'; 晤>'[have interview with]'; 晦>'[dark]'; æ™§>'[daybreak]'; 晨>'[early morning]'; 晩>'[night]'; æ™®>'[universal]'; 景>'[scenery]'; æ™°>'[clear]'; æ™´>'[clear weather]'; æ™¶>'[crystal]'; 智>'[wisdom]'; æš>'[dawn]'; #"æš‚>'[temporary]'", æš„>'[warm]'; 暇>'[leisure]'; 暈>'[halo in sky]'; 暉>'[sunshine]'; 暎>'[sun beginning decline]'; æš‘>'[hot]'; æš–>'[warm]'; æš—>'[dark]'; 暘>'[rising sun]'; æš>'[dark]'; 暢>'[smoothly]'; 暦>'[calendar]'; æš«>'[temporary]'; æš®>'[evening]'; æš´>'[violent]'; 暸>'[bright]'; æš¹>'[rise]'; æš¼>'[take fleeting glance at]'; æš¾>'[morning sun]'; æ›>'[and]'; 曄>'[bright]'; 曇>'[become cloudy]'; 曉>'[dawn]'; æ›–>'[obscure]'; æ›™>'[bright]'; 曚>'[twilight just before sun rises]'; 曜>'[glorious]'; æ›>'[sun]'; æ› >'[extensive]'; 曦>'[sunlight]'; 曩>'[in ancient times]'; æ›°>'[say]'; 曲>'[crooked]'; 曳>'[trail]'; æ›´>'[more]'; 曵>'[trail]'; æ›·>'[why? what? where?]'; 書>'[book]'; 曹>'[ministry officials]'; 曼>'[long]'; 曽>'[already]'; 曾>'[already]'; 替>'[change]'; 最>'[most]'; 會>'[assemble]'; 月>'[moon]'; 有>'[have]'; 朋>'[friend]'; æœ>'[clothes]'; æœ>'[light of crescent moon]'; 朔>'[first day of lunar month]'; 朕>'[pronoun \"i\"]'; 朖>'[clear]'; 朗>'[clear]'; 望>'[look at or forward]'; æœ>'[dynasty]'; 朞>'[full year]'; 期>'[period of time]'; 朦>'[condition or appearance of moon]'; 朧>'[condition or appearance of moon]'; 木>'[tree]'; 未>'[not yet]'; 末>'[final]'; 本>'[root]'; 札>'[letter]'; 朮>'[skill]'; 朱>'[cinnabar]'; 朴>'[simple]'; 朶>'[cluster of flowers]'; #"朶>'[cluster of flowers]'", #"朶>'[cluster of flowers]'", 机>'[desk]'; 朽>'[decayed]'; 朿>'[stab]'; #"æ€>'[kill]'", æ†>'[pole]'; æ‰>'[various species of pine and fir]'; æŽ>'[plum]'; æ>'[apricot]'; æ>'[material]'; æ‘>'[village]'; æ“>'[handle of cup]'; æ–>'[cane]'; æ™>'[a tiny wooden post]'; æœ>'[stop]'; æž>'[willow]'; æŸ>'[bind]'; æ >'[lever]'; æ¡>'[clause]'; æ¢>'[woodworker]'; #"æ¢>'[woodworker]'", æ¤>'[type of oak]'; æ¥>'[come]'; æª>'[tip of twig]'; æ­>'[cross stream]'; æ¯>'[cup]'; æ°>'[hero]'; æ±>'[east]'; æ²>'[bright sun]'; æ³>'[obscure]'; æµ>'[pestle]'; æ·>'[loquat]'; æ¼>'[shuttle of loom]'; æ¾>'[pine tree]'; æ¿>'[plank]'; #"æž…>'[................................]'", 枇>'[loquat]'; 枉>'[useless]'; æž‹>'[sandalwood]'; 枌>'[variety of elm with small seeds]'; æž>'[split wood]'; æž•>'[pillow]'; æž—>'[forest]'; æžš>'[stalk of shrub]'; æžœ>'[fruit]'; æž>'[branches]'; #"枟>'[wood streaks]'", #"枟>'[wood streaks]'", 枢>'[door hinge]'; #"枦>'[................................]'", æž©>'[pine tree]'; 枯>'[dried out]'; æž³>'[trifoliate orange]'; æž´>'[cane]'; æž¶>'[rack]'; æž·>'[cangue scaffold]'; 枸>'[kind of aspen found in sichuan]'; æž¹>'[drumstick]'; æŸ>'[large tie-beams]'; 柄>'[handle]'; #"柆>'[................................]'", #"柈>'[container]'", 柎>'[calyx of flower]'; æŸ>'[cypress]'; æŸ>'[certain thing or person]'; 柑>'[tangerine]'; 染>'[dye]'; 柔>'[soft]'; 柘>'[a thorny tree]'; 柚>'[pumelo]'; æŸ>'[watchman''s rattle]'; 柞>'[oak]'; 柢>'[root]'; 柤>'[hawthorn]'; #"柧>'[................................]'", 柩>'[coffin which contains corpse]'; 柬>'[letter]'; 柮>'[flat pieces of wood]'; 柯>'[axe-handle]'; 柱>'[pillar]'; 柳>'[willow tree]'; 柴>'[firewood]'; 柵>'[fence]'; 査>'[investigate]'; 柾>'[straight grain]'; 柿>'[persimmon]'; æ ‚>'[a kind of evergreen tree]'; æ ƒ>'[type of oak]'; æ „>'[glory]'; æ “>'[wooden peg]'; æ –>'[perch]'; æ —>'[chestnut tree]'; æ ž>'[publication]'; æ ¡>'[school]'; æ ¢>'[cypress]'; æ ©>'[species of oak]'; æ ª>'[numerary adjunct for trees]'; æ «>'[fence]'; æ ²>'[mangrove]'; æ ´>'[sandalwood]'; æ ¸>'[seed]'; æ ¹>'[root]'; æ ¼>'[pattern]'; æ ½>'[cultivate]'; æ¡€>'[chicken roost]'; æ¡>'[cross-beams of roof]'; æ¡‚>'[cassia or cinnamon]'; 桃>'[peach]'; 框>'[frame]'; 案>'[table]'; #"æ¡>'[................................]'", 桎>'[fetters]'; æ¡>'[name applied various trees]'; æ¡‘>'[mulberry tree]'; æ¡“>'[variety of tree]'; æ¡”>'[chinese bellflower]'; #"æ¡™>'[................................]'", 桜>'[cherry]'; æ¡>'[................]'; #"æ¡>'[................]'", æ¡£>'[shelf]'; æ¡§>'[chinese cypress]'; æ¡´>'[raft]'; æ¡¶>'[pail]'; æ¡·>'[rafter]'; #"桾>'[................................]'", æ¡¿>'[pole]'; æ¢>'[bridge]'; 梃>'[a club]'; 梅>'[plums]'; æ¢>'[tree name]'; æ¢>'[handcuffs]'; 梓>'[catalpa ovata]'; 梔>'[gardenia]'; 梗>'[stem of flower]'; #"梘>'[bamboo tube]'", æ¢>'[clause]'; 梟>'[owl thus]'; 梠>'[small beam supporting rafters at]'; 梢>'[pointed tip of something long like a branch]'; 梦>'[dream]'; 梧>'[sterculia platanifolia]'; 梨>'[pear]'; 梭>'[weaver''s shuttle]'; 梯>'[ladder]'; 械>'[weapons]'; 梱>'[doorsill]'; 梳>'[comb]'; 梵>'[buddhist]'; 梶>'[oar]'; 梹>'[the areca-nut]'; #"梹>'[the areca-nut]'", 梼>'[block of wood]'; 棄>'[reject]'; #"棆>'[................................]'", 棉>'[cotton]'; 棊>'[chess]'; 棋>'[chess]'; æ£>'[stick]'; 棒>'[stick]'; #"棔>'[................................]'", 棕>'[hemp palm]'; 棗>'[date tree]'; 棘>'[jujube tree]'; 棚>'[tent]'; 棟>'[main beams supporting house]'; 棠>'[crab apple tree]'; #"棡>'[................................]'", 棣>'[kerria japonica plant]'; 棧>'[warehouse]'; 森>'[forest]'; 棯>'[jujube tree]'; 棲>'[perch]'; 棹>'[oar]'; 棺>'[coffin]'; 椀>'[bowl]'; æ¤>'[outer-coffin]'; 椄>'[to graft]'; 椅>'[chair]'; 椈>'[cedar]'; 椋>'[fruit]'; 椌>'[instrument]'; æ¤>'[plant]'; 椎>'[hammer]'; æ¤>'[the forking branch of a tree]'; 椒>'[pepper]'; #"椓>'[strike]'", #"椚>'[................................]'", 椛>'[type of birch]'; 検>'[check]'; #"椡>'[................................]'", #"椢>'[................................]'", #"椣>'[................................]'", #"椥>'[................................]'", #"椦>'[................................]'", #"椨>'[................................]'", 椪>'[machilus nanmu]'; 椰>'[palm tree]'; 椴>'[poplar]'; 椶>'[palm tree]'; 椹>'[a chopping board]'; 椽>'[beams]'; 椿>'[father]'; 楊>'[willow]'; 楓>'[maple tree]'; 楔>'[wedge]'; 楕>'[oval-shaped]'; 楙>'[name of plant]'; 楚>'[name of feudal state]'; #"楜>'[................................]'", æ¥>'[melia japonica]'; 楞>'[used for ceylon in buddhist text]'; 楠>'[name of tree]'; 楡>'[elm tree]'; 楢>'[tinder]'; 楪>'[small dish]'; 楫>'[oar]'; 業>'[profession]'; 楮>'[mulberry]'; 楯>'[shield]'; 楳>'[plums]'; #"楴>'[................................]'", 極>'[extreme]'; 楷>'[model style of chinese writing]'; 楸>'[mallotus japonicus]'; 楹>'[column]'; 楼>'[building of two or more stories]'; 楽>'[happy]'; #"楽>'[happy]'", #"榀>'[[not found in dictionary]]'", 概>'[generally]'; #"榉>'[type of elm]'", 榎>'[small evergreen shrub]'; #"榑>'[................................]'", 榔>'[betel-nut tree]'; 榕>'[banyan tree]'; 榛>'[hazelnut]'; 榜>'[placard]'; #"榠>'[................................]'", 榧>'[type of yew]'; 榮>'[glory]'; 榱>'[rafter]'; 榲>'[pillar]'; 榴>'[pomegranate]'; 榻>'[cot]'; 榾>'[pieces of wood]'; 榿>'[alder]'; æ§>'[wither]'; 槃>'[tray]'; 槇>'[tip of a tree]'; æ§Š>'[spear]'; æ§‹>'[frame]'; æ§Œ>'[hammer]'; æ§>'[spear]'; æ§Ž>'[raft]'; æ§>'[locust tree]'; æ§“>'[lever]'; 様>'[shape]'; #"様>'[shape]'", #"æ§›>'[threshold]'", #"æ§›>'[threshold]'", æ§§>'[wooden tablet]'; 槨>'[outer-coffin]'; #"æ§«>'[................................]'", æ§­>'[maple]'; æ§²>'[type of oak]'; æ§¹>'[spar]'; æ§»>'[zelkova tree]'; æ§½>'[trough]'; æ§¿>'[hibiscus]'; 樂>'[happy]'; 樅>'[fir tree]'; 樊>'[a railing]'; 樋>'[tree name]'; #"樌>'[................................]'", #"樒>'[................................]'", 樓>'[building of two or more stories]'; #"樓>'[building of two or more stories]'", 樗>'[kind of tree with useless timber]'; 標>'[mark]'; 樛>'[bending branches]'; 樞>'[door hinge]'; 樟>'[camphor tree]'; 模>'[model]'; #"樢>'[................................]'", 樣>'[shape]'; 権>'[power]'; 横>'[across]'; #"横>'[across]'", #"横>'[across]'", 樵>'[woodcutter]'; 樶>'[c]'; 樸>'[simple]'; 樹>'[tree]'; 樺>'[type of birch]'; 樽>'[goblet]'; æ©„>'[olive]'; 橇>'[a sledge for transportation]'; 橈>'[bent or twisted piece of wood]'; æ©‹>'[bridge]'; 橘>'[orange]'; æ©™>'[orange]'; 機>'[machine]'; æ©¡>'[chestnut oak]'; æ©¢>'[oval-shaped]'; 橦>'[tree]'; #"橱>'[cabinet]'", #"橵>'[wood placed under roof tiles]'", #"æ©¿>'[................................]'", 檀>'[sandalwood]'; 檄>'[call arms]'; æª>'[ilex]'; 檎>'[small red apple]'; æª>'[eaves of house]'; 檗>'[tree]'; 檜>'[chinese cypress]'; 檠>'[stand for lamp]'; 檢>'[check]'; 檣>'[mast]'; 檪>'[chestnut-leaved oak]'; 檬>'[type of locust oracacia]'; 檮>'[block of wood]'; 檳>'[betelnut]'; 檸>'[lemon]'; 檻>'[threshold]'; #"æ«>'[................................]'", æ«‚>'[oar]'; 櫃>'[cupboard]'; #"æ«‘>'[................................]'", æ«“>'[oar]'; 櫚>'[palm]'; æ«›>'[comb out]'; 櫞>'[citrus]'; 櫟>'[chestnut-leaved oak]'; 櫨>'[supporting block]'; 櫪>'[type of oak]'; 櫺>'[carved or patterned window sills]'; æ«»>'[cherry]'; 欄>'[railing]'; 欅>'[zelkova]'; 權>'[power]'; 欒>'[name of tree]'; 欖>'[olive]'; æ¬>'[luxuriant]'; #"欞>'[the lattice of a window a sill]'", 欠>'[owe]'; 次>'[order]'; 欣>'[happy]'; 欧>'[translit.: europe]'; 欲>'[desire]'; 欷>'[sob]'; 欸>'[sighs]'; 欹>'[fierce dog]'; 欺>'[cheat]'; 欽>'[respect]'; 款>'[item]'; æ­ƒ>'[smear one''s mouth with blood of a victim when taking an oath]'; æ­‡>'[rest]'; æ­‰>'[deficient]'; æ­Œ>'[song]'; æ­Ž>'[sigh]'; æ­>'[translit.: europe]'; æ­“>'[happy]'; æ­”>'[blow through nose]'; æ­™>'[to suck]'; æ­›>'[draw back]'; æ­Ÿ>'[final particle used express ques]'; æ­¡>'[happy]'; æ­¢>'[stop]'; æ­£>'[right]'; æ­¤>'[this]'; æ­¦>'[military]'; æ­©>'[step]'; æ­ª>'[slant]'; æ­¯>'[teeth]'; æ­³>'[year]'; æ­´>'[take place]'; æ­¸>'[return]'; æ­¹>'[bad]'; æ­»>'[die]'; æ­¿>'[die]'; 殀>'[die young]'; 殃>'[misfortune]'; 殄>'[to end]'; 殆>'[dangerous]'; 殉>'[die for cause]'; 殊>'[different]'; 残>'[injure]'; æ®>'[to starve to death]'; 殕>'[[not found in dictionary]]'; æ®–>'[breed]'; 殘>'[injure]'; 殞>'[die]'; 殤>'[die young]'; 殪>'[die]'; 殫>'[utmost]'; 殯>'[encoffin]'; æ®±>'[annihilate]'; 殲>'[annihilate]'; 殳>'[name of old weapon]'; æ®´>'[beat]'; 段>'[section]'; æ®·>'[many]'; 殺>'[kill]'; æ®»>'[casing]'; 殼>'[casing]'; 殿>'[hall]'; 毀>'[destroy]'; 毅>'[resolute]'; 毆>'[beat]'; 毋>'[do not]'; æ¯>'[mother]'; 毎>'[every]'; 毒>'[poison]'; 毓>'[give birth to]'; 比>'[compare]'; 毘>'[help]'; 毛>'[hair]'; #"毟>'[................................]'", 毫>'[fine hair]'; 毬>'[ball]'; 毯>'[rug]'; 毳>'[fine hair or fur on animals]'; æ°ˆ>'[felt]'; æ°>'[clan]'; æ°‘>'[people]'; æ°“>'[people]'; æ°”>'[steam]'; æ°—>'[air]'; æ°›>'[gas]'; æ°£>'[air]'; æ°¤>'[hanging fog]'; æ°´>'[water]'; æ°·>'[ice]'; æ°¸>'[long]'; æ°¾>'[overflow]'; æ±€>'[sandbar]'; æ±>'[juice]'; 求>'[seek]'; 汎>'[float]'; æ±>'[night tides]'; 汕>'[basket for catching fish]'; æ±—>'[perspiration]'; 汚>'[filthy]'; æ±>'[you]'; 汞>'[element mercury]'; 江>'[large river]'; æ± >'[pool]'; #"æ±¢>'[................................]'", 汨>'[Mi(luo) river in hunan province where Qu Yuan drowned himself]'; 汪>'[vast]'; æ±°>'[excessive]'; æ±²>'[draw water from well]'; #"æ±²>'[draw water from well]'", 決>'[decide]'; æ±½>'[steam]'; æ±¾>'[river in shanxi province]'; æ²>'[soak into]'; 沂>'[river in southeast shandong flow]'; 沃>'[water]'; 沈>'[sink]'; 沌>'[chaotic]'; æ²>'[freezing]'; æ²>'[bathe]'; æ²’>'[not]'; 沓>'[connected]'; æ²–>'[pour]'; æ²™>'[sand]'; 沚>'[islet in stream]'; æ²›>'[abundant]'; 没>'[not]'; æ²¢>'[marsh]'; 沫>'[froth]'; æ²®>'[stop]'; æ²±>'[rivers]'; æ²³>'[river]'; 沸>'[boil]'; æ²¹>'[oil]'; 沺>'[turbulent]'; æ²»>'[govern]'; æ²¼>'[lake]'; æ²½>'[buy and sell]'; æ²¾>'[moisten]'; 沿>'[follow course]'; æ³>'[condition]'; 泄>'[leak]'; æ³…>'[swim]'; 泉>'[spring]'; 泊>'[anchor vessel]'; 泌>'[to seep out]'; 泓>'[clear]'; 法>'[law]'; æ³—>'[mucous]'; æ³™>'[roar]'; æ³›>'[drift]'; æ³>'[go upstream]'; 泡>'[bubbles]'; æ³¢>'[waves]'; æ³£>'[cry]'; æ³¥>'[mud]'; 注>'[concentrate]'; 泪>'[tears]'; 泯>'[destroy]'; æ³°>'[great]'; æ³±>'[great]'; æ³³>'[dive]'; æ´‹>'[ocean]'; æ´Œ>'[clear]'; æ´’>'[sprinkle]'; æ´—>'[wash]'; æ´™>'[name of a river in shandong]'; æ´›>'[river in shaanxi province]'; æ´ž>'[cave]'; æ´Ÿ>'[snivel]'; æ´¥>'[ferry]'; æ´©>'[leak]'; æ´ª>'[vast]'; æ´«>'[to ditch]'; æ´²>'[continent]'; æ´³>'[damp]'; æ´µ>'[true]'; æ´¶>'[the rush of water]'; æ´¸>'[sparkle]'; æ´»>'[live]'; æ´½>'[spread]'; æ´¾>'[school of thought]'; æµ>'[flow]'; 浄>'[pure]'; æµ…>'[shallow]'; æµ™>'[zhejiang province]'; 浚>'[dredge]'; 浜>'[creek]'; æµ£>'[to wash]'; 浤>'[beating of ocean]'; 浦>'[bank of river]'; 浩>'[great]'; 浪>'[wave]'; 浬>'[nautical mile]'; æµ®>'[float]'; æµ´>'[bathe]'; æµ·>'[sea]'; 浸>'[soak]'; æµ¹>'[saturate]'; æ¶…>'[blacken]'; 消>'[vanish]'; æ¶Œ>'[surge up]'; æ¶Ž>'[saliva]'; æ¶“>'[brook]'; æ¶•>'[tear]'; æ¶™>'[tears]'; æ¶›>'[large waves]'; æ¶œ>'[ditch]'; 涯>'[shore]'; æ¶²>'[sap]'; æ¶µ>'[soak]'; 涸>'[dried up]'; æ¶¼>'[cool]'; æ·€>'[shallow water]'; æ·…>'[water used wash rice]'; æ·†>'[confused]'; æ·‡>'[river in henan province]'; æ·‹>'[drip]'; æ·Œ>'[trickle]'; æ·‘>'[good]'; æ·’>'[bitter cold]'; #"æ·•>'[................................]'", æ·˜>'[wash in sieve]'; æ·™>'[gurgling sound of water]'; æ·ž>'[name of a river in Jiangsu]'; æ·¡>'[weak]'; æ·¤>'[mud]'; æ·¦>'[river in jiangxi province: water]'; æ·¨>'[pure]'; æ·ª>'[be lost]'; æ·«>'[obscene]'; æ·¬>'[temper]'; æ·®>'[river in anhui province]'; æ·±>'[deep]'; æ·³>'[cyanogen]'; æ·µ>'[gulf]'; æ··>'[mix]'; æ·¹>'[drown]'; æ·º>'[shallow]'; æ·»>'[append]'; 清>'[clear]'; 渇>'[thirsty]'; 済>'[help]'; 渉>'[ford stream]'; 渊>'[surge up]'; 渋>'[astringent]'; 渓>'[mountain stream]'; 渕>'[surge up]'; 渙>'[scatter]'; 渚>'[small sand bank]'; 減>'[decrease]'; æ¸>'[change]'; 渟>'[(of water) not flowing]'; 渠>'[ditch]'; 渡>'[cross]'; 渣>'[refuse]'; 渤>'[swelling]'; 渥>'[moisten]'; 渦>'[swirl]'; 温>'[lukewarm]'; 渫>'[beating of ocean]'; 測>'[measure]'; 渭>'[name of a river in shaanxi]'; 渮>'[river in shandong province]'; 港>'[port]'; 游>'[swim]'; 渺>'[endlessly long]'; 渾>'[muddy]'; 湃>'[sound of waves]'; 湊>'[piece together]'; æ¹>'[rapid water current]'; 湎>'[flushed with drink]'; æ¹–>'[lake]'; 湘>'[hunan province]'; æ¹›>'[deep]'; 湟>'[river in qinghai province]'; æ¹§>'[well up]'; 湫>'[a small pond]'; æ¹®>'[bury]'; 湯>'[hot water]'; æ¹²>'[flow]'; #"æ¹³>'[[not found in dictionary]]'", æ¹¾>'[bay]'; 湿>'[wet]'; #"湿>'[wet]'", #"湿>'[wet]'", 溌>'[pour]'; æº>'[pool]'; æº>'[spring]'; 準>'[rule]'; 溘>'[abruptly]'; 溜>'[slide]'; æº>'[ditch]'; 溟>'[drizzling rain]'; 溢>'[overflow]'; 溥>'[big]'; 溪>'[mountain stream]'; 溯>'[go upstream]'; 溲>'[urinate]'; 溶>'[melt]'; 溷>'[privy]'; 溺>'[drown]'; 溽>'[moist]'; 滂>'[torrential]'; 滄>'[blue]'; æ»…>'[extinguish]'; 滉>'[deep]'; 滋>'[grow]'; 滌>'[wash]'; 滑>'[slip]'; 滓>'[sediment]'; æ»”>'[overflow]'; 滕>'[ county in shandong province]'; æ»>'[raining]'; 滞>'[block up]'; 滬>'[shanghai]'; 滯>'[block up]'; 滲>'[soak through]'; æ»´>'[drip]'; æ»·>'[thick gravy]'; 滸>'[riverbank]'; 滾>'[turn]'; 滿>'[fill]'; æ¼>'[to fish]'; 漂>'[float]'; 漆>'[varnish]'; 漉>'[filter]'; æ¼>'[leak]'; 漑>'[water]'; 漓>'[river in guangxi province]'; æ¼”>'[perform]'; 漕>'[transport by water]'; æ¼ >'[desert]'; æ¼¢>'[chinese people]'; æ¼£>'[flowing water]'; 漫>'[overflow of water]'; 漬>'[soak]'; æ¼±>'[gargle]'; æ¼²>'[rise in price]'; 漸>'[gradually]'; æ¼¾>'[overflow]'; 漿>'[any thick fluid]'; æ½>'[river in anhui]'; æ½…>'[pour]'; æ½”>'[clean]'; 潘>'[surname]'; æ½›>'[hide]'; 潜>'[hide]'; 潟>'[land inundated with salt from ti]'; 潤>'[soft]'; 潦>'[to flood]'; æ½­>'[deep pool]'; æ½®>'[tide]'; 潯>'[steep bank by stream]'; æ½°>'[flooding river]'; æ½´>'[pond]'; 潸>'[weep]'; 潺>'[sound of flowing water]'; æ½¼>'[high]'; æ¾€>'[astringent]'; æ¾>'[astringent]'; 澂>'[clear and still water]'; 澄>'[purify water by allowing sedimen]'; 澆>'[spray]'; 澎>'[splatter]'; 澑>'[slide]'; æ¾—>'[brook]'; 澡>'[wash]'; æ¾£>'[cleanse]'; 澤>'[marsh]'; #"澪>'[................................]'", æ¾±>'[sediment]'; æ¾³>'[inlet]'; æ¾¹>'[calm]'; æ¿€>'[arouse]'; æ¿>'[muddy]'; æ¿‚>'[waterfall]'; 濃>'[thick]'; 濆>'[river bank]'; æ¿”>'[many]'; æ¿•>'[wet]'; 濘>'[mud]'; æ¿›>'[drizzling]'; 濟>'[help]'; æ¿ >'[moat]'; æ¿¡>'[immerse]'; 濤>'[large waves]'; æ¿«>'[flood]'; 濬>'[dredge]'; æ¿®>'[county in Henan province]'; 濯>'[wash out]'; 濱>'[beach]'; 濳>'[hide]'; æ¿¶>'[broad]'; 濺>'[sprinkle]'; 濾>'[strain out]'; ç€>'[waves]'; 瀉>'[drain off]'; 瀋>'[juice]'; ç€>'[clear]'; 瀑>'[waterfall]'; 瀕>'[approach]'; 瀘>'[river in jiangxi province]'; 瀚>'[vast]'; 瀛>'[sea]'; ç€>'[trickle]'; 瀞>'[pool in a river]'; 瀟>'[sound of beating wind and rain]'; 瀦>'[pond]'; 瀧>'[raining]'; 瀬>'[swift current]'; 瀰>'[overflow]'; 瀲>'[waves]'; 瀾>'[overflowing]'; çŒ>'[pour]'; ç‘>'[sprinkle]'; ç˜>'[bank]'; ç£>'[bay]'; ç«>'[fire]'; ç¯>'[lantern]'; ç°>'[ashes]'; ç¸>'[cauterize with moxa]'; ç¼>'[burn]'; ç½>'[calamity]'; 炉>'[fireplace]'; 炊>'[cook]'; 炎>'[flame]'; ç‚’>'[fry]'; ç‚™>'[roast]'; 炬>'[torch]'; ç‚­>'[charcoal]'; ç‚®>'[large gun]'; 炯>'[bright]'; 炳>'[bright]'; 炸>'[fry in oil]'; 点>'[dot]'; 為>'[do]'; 烈>'[fiery]'; 烋>'[boast]'; çƒ>'[crow]'; 烙>'[brand]'; çƒ>'[rise]'; 烟>'[smoke]'; 烱>'[bright]'; 烹>'[boil]'; 烽>'[signal fire]'; 焉>'[thereupon]'; ç„”>'[flame]'; ç„™>'[dry over slow fire]'; 焚>'[burn]'; 焜>'[fire]'; ç„¡>'[negative]'; 焦>'[burned]'; ç„¶>'[yes]'; 焼>'[burn]'; ç…‰>'[smelt]'; ç…Œ>'[bright]'; ç…Ž>'[fry in fat or oil]'; ç…•>'[bright]'; ç…–>'[warm]'; ç…™>'[smoke]'; ç…¢>'[alone]'; ç…¤>'[coal]'; ç…¥>'[shining]'; ç…¦>'[kind]'; ç…§>'[shine]'; ç…©>'[bother]'; ç…¬>'[roast]'; ç…®>'[cook]'; ç…½>'[stir up]'; 熄>'[put out]'; 熈>'[bright]'; 熊>'[bear]'; ç†>'[smoke]'; 熔>'[melt]'; #"熕>'[................................]'", 熙>'[bright]'; 熟>'[well cooked]'; 熨>'[iron]'; 熬>'[cook down]'; 熱>'[hot]'; 熹>'[dim light]'; 熾>'[burning hot]'; 燃>'[burn]'; 燈>'[lantern]'; 燉>'[heat with fire]'; 燎>'[burn]'; ç‡>'[phosphorus]'; 燒>'[burn]'; 燔>'[to roast]'; 燕>'[swallow (bird)]'; #"燗>'[................................]'", 營>'[encampment]'; 燠>'[warm]'; 燥>'[dry]'; 燦>'[vivid]'; 燧>'[flintstone]'; 燬>'[burn down]'; 燭>'[candle]'; 燮>'[harmonize]'; #"燵>'[................................]'", 燹>'[fire]'; 燻>'[smoke]'; 燼>'[cinders]'; 燿>'[shine]'; 爆>'[crackle]'; çˆ>'[shine]'; çˆ>'[fireplace]'; 爛>'[rotten]'; 爨>'[oven]'; 爪>'[claw]'; 爬>'[crawl]'; 爭>'[dispute]'; 爰>'[lead on to]'; 爲>'[do]'; 爵>'[feudal title or rank]'; 父>'[father]'; 爺>'[father]'; 爻>'[diagrams for divination]'; 爼>'[chopping board or block]'; 爽>'[happy]'; 爾>'[you]'; 爿>'[half of tree trunk]'; 牀>'[bed]'; 牆>'[wall]'; 片>'[slice]'; 版>'[printing blocks]'; 牋>'[memorandum]'; 牌>'[signboard]'; 牒>'[documents]'; 牘>'[writing tablet]'; 牙>'[tooth]'; 牛>'[cow]'; ç‰>'[female of species]'; 牟>'[make]'; 牡>'[male of animals]'; 牢>'[prison]'; 牧>'[tend cattle]'; 物>'[thing]'; 牲>'[sacrificial animal]'; 牴>'[gore]'; 特>'[special]'; 牽>'[drag]'; 牾>'[to oppose]'; 犀>'[rhinoceros]'; çŠ>'[plow]'; 犂>'[plow]'; 犇>'[run fast]'; 犒>'[entertain victorious soldiers]'; 犖>'[brindled ox]'; 犠>'[sacrifice]'; 犢>'[calf]'; 犧>'[sacrifice]'; 犬>'[dog]'; 犯>'[commit crime]'; 犲>'[wolf]'; 状>'[form]'; 犹>'[like]'; ç‹‚>'[insane]'; 狃>'[to covet]'; ç‹„>'[tribe from northern china]'; 狆>'[pekinese dog]'; 狎>'[be familiar with]'; ç‹>'[species of fox]'; ç‹’>'[baboon]'; ç‹—>'[dog]'; ç‹™>'[ape]'; #"ç‹›>'[................................]'", ç‹ >'[vicious]'; ç‹¡>'[cunning]'; ç‹¢>'[animal name]'; ç‹©>'[winter hunting]'; 独>'[alone]'; ç‹­>'[narrow]'; ç‹·>'[rash]'; 狸>'[fox]'; 狹>'[narrow]'; 狼>'[wolf]'; 狽>'[legendary animal with short fore]'; 猊>'[lion]'; 猖>'[mad]'; 猗>'[exclamation of admiration]'; 猛>'[violent]'; 猜>'[guess]'; çŒ>'[abruptly]'; 猟>'[hunt]'; 猥>'[vulgar]'; 猩>'[species of orangutan]'; 猪>'[pig]'; 猫>'[cat]'; 献>'[offer]'; #"猯>'[................................]'", 猴>'[monkey]'; 猶>'[like]'; 猷>'[plan]'; 猾>'[crafty]'; 猿>'[ape]'; ç„>'[prison]'; ç…>'[lion]'; çŽ>'[prize]'; ç>'[the panther]'; ç—>'[unruly]'; ç£>'[beast]'; ç¨>'[alone]'; çª>'[sly]'; ç°>'[ferocious appearance]'; ç²>'[obtain]'; çµ>'[hunt]'; ç¸>'[beast]'; çº>'[otter]'; ç»>'[offer]'; 玄>'[deep]'; 率>'[to lead]'; 玉>'[jade]'; 王>'[king]'; 玖>'[black-colored jade]'; 玩>'[play with]'; 玲>'[tinkling of jade]'; 玳>'[tortoise shell]'; 玻>'[glass]'; ç€>'[amber]'; ç‚>'[inferior kind of jade]'; çˆ>'[ornament attached woman''s hairpi]'; çŠ>'[coral]'; ç>'[precious]'; çŽ>'[precious]'; çž>'[kind of necklace]'; ç >'[precious stone]'; ç¥>'[ear ornament]'; çª>'[jade table conferred upon feudal]'; ç­>'[class]'; ç®>'[jade ornament]'; ç±>'[necklace made of precious stones]'; #"ç¸>'[................................]'", ç¾>'[appear]'; çƒ>'[ball]'; ç…>'[variety of white carnelian]'; ç†>'[reason]'; ç‰>'[sparkling stone]'; ç¢>'[polish jade]'; ç¥>'[jewel in shape of tiger]'; ç²>'[necklace]'; ç³>'[beautiful jade]'; ç´>'[chinese lute or guitar]'; çµ>'[guitar-like instrument]'; ç¶>'[guitar-like instrument]'; çº>'[enamel]'; ç¿>'[bright]'; ç‘>'[fine piece of jade]'; ç‘•>'[flaw in gem]'; ç‘™>'[agate]'; 瑚>'[coral]'; ç‘›>'[luster of gem]'; 瑜>'[flawless gem or jewel]'; 瑞>'[felicitous omen]'; 瑟>'[large stringed musical instrument]'; ç‘ >'[precious stone]'; ç‘£>'[fragments]'; 瑤>'[precious jade]'; ç‘©>'[lustre of gems]'; 瑪>'[agate]'; 瑯>'[kind of white cornelian]'; ç‘°>'[extraordinary]'; 瑳>'[luster of gem]'; ç‘¶>'[precious jade]'; 瑾>'[brilliance of gems]'; ç’ƒ>'[glass]'; ç’‹>'[jade plaything]'; ç’ž>'[unpolished gem]'; ç’¢>'[precious stone]'; ç’§>'[piece of jade with hole in it]'; ç’°>'[jade ring or bracelet]'; ç’½>'[imperial signet]'; 瓊>'[jade]'; ç“>'[gem cut like dragon]'; ç“”>'[necklace made of precious stones]'; 瓜>'[melon]'; ç“ >'[bottle gourd]'; ç“¢>'[ladle made from dried gourd]'; ç“£>'[petal]'; 瓦>'[tile]'; ç“§>'[decagram]'; ç“©>'[kilowatt]'; ç“®>'[earthen jar]'; ç“°>'[[not found in dictionary]]'; 瓱>'[milligram]'; #"瓲>'[................................]'", ç“¶>'[jug]'; ç“·>'[crockery]'; 瓸>'[hectogram]'; 甃>'[brick wall of a well]'; 甄>'[examine]'; ç”…>'[centigram]'; 甌>'[bowl]'; ç”>'[rafters supporting roof tiles]'; 甎>'[brick]'; 甑>'[boiler for steaming rice]'; 甓>'[glazed tiles]'; 甕>'[earthen jar]'; 甘>'[sweetness]'; 甚>'[great extent]'; 甜>'[sweet]'; 甞>'[taste]'; 生>'[life]'; 産>'[give birth]'; 甥>'[sister''s child]'; 甦>'[be reborn]'; 用>'[use]'; 甫>'[begin]'; 甬>'[path]'; ç”°>'[field]'; ç”±>'[cause]'; 甲>'[armor]'; 申>'[to state to a superior]'; ç”·>'[male]'; 甸>'[suburbs of capital]'; 町>'[raised path between fields]'; ç”»>'[painting]'; 甼>'[raised path between fields]'; ç•„>'[stop]'; 畆>'[chinese land measure]'; #"畉>'[................................]'", 畊>'[plow]'; ç•‹>'[till land]'; 界>'[boundary]'; #"ç•>'[................................]'", ç•>'[fear]'; ç•‘>'[dry (as opposed to rice) field]'; ç•”>'[boundary path dividing fields]'; ç•™>'[stop]'; 畚>'[straw basket]'; ç•›>'[border]'; 畜>'[livestock]'; ç•>'[chinese land measure]'; ç• >'[garden]'; ç•¢>'[end]'; 畤>'[place for worshipping the haven]'; ç•¥>'[approximately]'; 畦>'[sections in vegetable farm]'; ç•§>'[approximately]'; #"ç•©>'[................................]'", 番>'[take turns]'; ç•«>'[delineate]'; #"ç•­>'[................................]'", ç•°>'[different]'; 畳>'[repeat]'; ç•´>'[farmland]'; ç•¶>'[bear]'; ç•·>'[raised path between fields]'; 畸>'[odd]'; ç•¿>'[imperial domain]'; ç–‚>'[repeat]'; ç–†>'[boundary]'; ç–‡>'[farmland]'; ç–‰>'[repeat]'; ç–Š>'[repeat]'; ç–‹>'[roll]'; ç–Ž>'[neglect]'; ç–>'[neglect]'; ç–‘>'[doubt]'; ç–”>'[carbuncle]'; ç–š>'[chronic disease]'; ç–>'[hernia]'; ç–£>'[wart]'; ç–¥>'[scabies]'; ç–«>'[epidemic]'; ç–±>'[acne]'; ç–²>'[feel tired]'; ç–³>'[childhood diseases]'; ç–µ>'[flaw]'; ç–¸>'[jaundice]'; ç–¹>'[measles]'; ç–¼>'[aches]'; ç–½>'[ulcer]'; ç–¾>'[illness]'; ç—‚>'[scab]'; ç—ƒ>'[indigestion]'; ç—…>'[illness]'; ç—‡>'[disease]'; ç—Š>'[be healed]'; ç—>'[wound]'; ç—’>'[itch]'; ç—”>'[hemorrhoids]'; ç—•>'[scar]'; ç—˜>'[smallpox]'; ç—™>'[convulsions]'; ç—›>'[pain]'; ç—ž>'[dyspepsia]'; ç—¢>'[dysentry]'; ç—£>'[spots]'; ç—©>'[thin]'; ç—°>'[phlegm]'; ç—²>'[pock-marked]'; ç—³>'[pock-marked]'; ç—´>'[foolish]'; ç—º>'[paralysis]'; ç—¼>'[chronic disease]'; ç—¾>'[chronic illness]'; ç—¿>'[paralysis]'; ç˜>'[feel tired]'; 瘉>'[get well]'; 瘋>'[crazy]'; ç˜>'[ulcers]'; 瘟>'[epidemic]'; 瘠>'[thin]'; 瘡>'[tumor]'; 瘢>'[scar]'; 瘤>'[tumor]'; 瘧>'[intermittent fever]'; 瘰>'[scrofula]'; 瘴>'[malaria pestilential vapors]'; 瘻>'[fistula]'; 療>'[be healed]'; 癆>'[consumption]'; 癇>'[epilepsy]'; 癈>'[abrogate]'; 癌>'[cancer]'; ç™’>'[get well]'; ç™–>'[craving]'; 癘>'[sore]'; 癜>'[erythema]'; 癡>'[silly]'; 癢>'[itch]'; ç™§>'[scrofulous lumps or swellings]'; 癨>'[quickly]'; 癩>'[leprosy]'; 癪>'[spasms]'; 癬>'[ringworms]'; ç™°>'[carbuncle]'; 癲>'[crazy]'; ç™¶>'[legs]'; 癸>'[last of ten celestial stems]'; 発>'[issue]'; ç™»>'[rise]'; 發>'[issue]'; 白>'[white]'; 百>'[one hundred]'; 皀>'[kernel]'; 皃>'[countenance]'; çš„>'[possessive]'; 皆>'[all]'; 皇>'[royal]'; 皈>'[follow]'; çš‹>'[the high land along a river]'; 皎>'[white]'; çš>'[the high land along a river]'; çš“>'[bright]'; çš–>'[anhui province]'; çš™>'[white]'; çšš>'[brilliant white]'; çš®>'[skin]'; çš°>'[pimples]'; çš´>'[chapped]'; çš·>'[drum]'; 皸>'[crack]'; çš¹>'[crack]'; 皺>'[wrinkles]'; çš¿>'[shallow container]'; 盂>'[basin]'; 盃>'[glass]'; 盆>'[basin]'; 盈>'[fill]'; 益>'[profit]'; ç›>'[what? why not? correspond]'; ç›’>'[small box or case]'; ç›–>'[cover]'; ç›—>'[rob]'; ç››>'[abundant]'; 盜>'[rob]'; 盞>'[small cup or container]'; 盟>'[swear]'; 盡>'[exhaust]'; 監>'[supervise]'; 盤>'[tray]'; 盥>'[wash]'; ç›§>'[cottage]'; 盪>'[to toss about]'; ç›®>'[eye]'; 盲>'[blind]'; ç›´>'[straight]'; 相>'[mutual]'; ç›»>'[glare]'; 盾>'[shield]'; çœ>'[province]'; 眄>'[to look askance]'; 眇>'[blind in one eye]'; 眈>'[gloat]'; 眉>'[eyebrows]'; 看>'[look]'; 県>'[county]'; 眛>'[dim]'; #"眞>'[real]'", 真>'[real]'; 眠>'[close eyes]'; #"眤>'[................................]'", 眥>'[eye sockets]'; 眦>'[corner of the eyes]'; 眩>'[confuse]'; 眷>'[take interest in]'; 眸>'[pupil of eye]'; 眺>'[look at]'; 眼>'[eye]'; ç€>'[make move]'; ç‡>'[look at]'; çš>'[corner of eye]'; ç›>'[eyeball]'; ç¡>'[sleep]'; ç£>'[supervise]'; ç¥>'[look askance at]'; ç¦>'[friendly]'; ç¨>'[look askance at]'; ç«>'[eyelashes]'; ç¹>'[look at]'; ç¾>'[testicle]'; ç¿>'[shrewd]'; çž‹>'[glare with anger]'; 瞎>'[blind]'; çž‘>'[close eyes]'; çžž>'[deceive]'; çž >'[look at]'; 瞥>'[take fleeting glance at]'; 瞬>'[wink]'; çž­>'[bright]'; çž°>'[watch]'; çž³>'[pupil of eye]'; çž¶>'[dim]'; #"çž¶>'[dim]'", çž»>'[look]'; çž¼>'[eyelid]'; çž½>'[blind]'; çž¿>'[surname]'; 矇>'[stupid]'; çŸ>'[look about in firght or alarm]'; 矗>'[straight]'; 矚>'[watch carefully]'; 矛>'[spear]'; 矜>'[pity]'; 矢>'[arrow]'; 矣>'[particle of completed action]'; 知>'[know]'; 矧>'[much more]'; 矩>'[carpenter''s square]'; 短>'[short]'; 矮>'[short]'; 矯>'[correct]'; 石>'[stone]'; 矼>'[stone bridge]'; ç ‚>'[sand]'; ç Œ>'[stone steps]'; ç ’>'[arsenic]'; ç ”>'[grind]'; ç •>'[break]'; ç  >'[rocky]'; ç ¥>'[whetstone]'; ç ¦>'[stockade]'; ç §>'[anvil]'; ç ²>'[gun]'; ç ´>'[break]'; ç º>'[whetstone]'; ç ¿>'[mine]'; ç¡…>'[silicon]'; ç¡>'[saltpeter]'; ç¡«>'[sulfur]'; 硬>'[hard]'; 硯>'[inkstone]'; #"硲>'[................................]'", #"ç¡´>'[................................]'", 硼>'[borax]'; ç¢>'[chess]'; 碆>'[arrow-tip]'; 碇>'[anchor]'; 碌>'[rough]'; ç¢>'[obstruct]'; 碎>'[break]'; 碑>'[stone tablet]'; 碓>'[pestle]'; #"碕>'[................................]'", 碗>'[bowl]'; 碚>'[suburb]'; 碣>'[stone tablet]'; 碧>'[jade]'; 碩>'[great]'; 碪>'[stone slab used for washing clot]'; 碯>'[agate]'; #"碵>'[................................]'", 確>'[sure]'; 碼>'[number]'; 碾>'[roller]'; ç£>'[magnetic]'; 磅>'[pound]'; #"磆>'[................................]'", 磊>'[pile of rocks or stones]'; 磋>'[polish]'; ç£>'[large rock]'; 磑>'[stone mill]'; 磔>'[downward stroke slanting righ]'; 磚>'[tile]'; 磧>'[sand and gravel]'; 磨>'[grind]'; 磬>'[musical instrument]'; 磯>'[jetty]'; 磴>'[steps on ledge]'; 磽>'[barren land]'; ç¤>'[reef]'; #"礇>'[................................]'", 礎>'[foundation stone]'; #"礎>'[foundation stone]'", #"礒>'[................................]'", 礙>'[obstruct]'; 礦>'[mine]'; 礪>'[whetstone]'; 礫>'[gravel]'; 礬>'[alum]'; 示>'[show]'; 礼>'[social custom]'; 社>'[god of the soil and altars to him]'; 祀>'[to sacrifice]'; ç¥>'[pray]'; 祇>'[only]'; 祈>'[pray]'; 祉>'[happiness]'; ç¥>'[divine intervention]'; 祓>'[exorcise]'; 祕>'[mysterious]'; 祖>'[ancestor]'; 祗>'[respect]'; 祚>'[throne]'; ç¥>'[pray for happiness or blessings]'; 神>'[spirit]'; 祟>'[evil spirit]'; 祠>'[ancestral temple]'; 祢>'[one''s deceased father]'; 祥>'[good luck]'; 票>'[slip of paper or bamboo]'; 祭>'[sacrifice to]'; 祷>'[pray]'; 祺>'[good luck]'; 祿>'[blessing]'; 禀>'[report to]'; ç¦>'[restrict]'; 禄>'[blessing]'; 禅>'[meditation]'; 禊>'[semi-annual ceremony of purifica]'; ç¦>'[misfortune]'; 禎>'[lucky]'; ç¦>'[happiness]'; ç¦>'[[not found in dictionary]]'; 禦>'[defend]'; 禧>'[happiness]'; 禪>'[meditation]'; 禮>'[social custom]'; 禰>'[one''s deceased father]'; 禳>'[pray or sacrifice]'; 禹>'[legendary hsia dynasty founder]'; 禺>'[district]'; 禽>'[birds]'; 禾>'[grain still on stalk]'; 禿>'[bald]'; ç§€>'[ear of grain]'; ç§>'[private]'; 秉>'[grasp]'; ç§‹>'[autumn]'; ç§‘>'[section]'; ç§’>'[beard of grain or corn]'; ç§•>'[empty grain or rice husk]'; 秘>'[secret]'; ç§Ÿ>'[rent]'; #"ç§¡>'[................................]'", ç§£>'[fodder]'; 秤>'[balance]'; 秦>'[feudal state of qin]'; ç§§>'[rice seedlings]'; ç§©>'[order]'; 秬>'[black millet]'; ç§°>'[call]'; ç§»>'[change place]'; 稀>'[rare]'; 稈>'[stalk of grain]'; 程>'[journey]'; ç¨>'[little]'; 税>'[taxes]'; 稔>'[ripe grain]'; 稗>'[darnels]'; #"稘>'[................................]'", 稙>'[grain ready for grinding]'; 稚>'[young]'; 稜>'[corner]'; 稟>'[report to]'; 稠>'[dense]'; 種>'[seed]'; 稱>'[call]'; 稲>'[rice growing in field]'; 稷>'[god of cereals]'; 稻>'[rice growing in field]'; 稼>'[sow grain]'; 稽>'[examine]'; 稾>'[draft]'; 稿>'[draft]'; ç©€>'[corn]'; ç©‚>'[ear of grain]'; #"穃>'[................................]'", 穆>'[majestic]'; 穉>'[young grain]'; ç©>'[accumulate]'; 穎>'[rice tassel]'; #"穎>'[rice tassel]'", ç©>'[fall]'; ç©—>'[ear of grain]'; ç©¡>'[farm]'; ç©¢>'[dirty]'; ç©£>'[stalks of grain]'; ç©©>'[stable]'; ç©«>'[harvest]'; ç©°>'[stalks of grain]'; ç©´>'[cave]'; ç©¶>'[examine]'; 穹>'[high and vast]'; 空>'[empty]'; 穽>'[hole]'; ç©¿>'[penetrate]'; çª>'[suddenly]'; 窃>'[secretly]'; 窄>'[narrow]'; 窈>'[obscure]'; 窒>'[stop up]'; 窓>'[window]'; 窕>'[slender]'; 窖>'[pit]'; 窗>'[window]'; 窘>'[embrassassed]'; 窟>'[hole]'; 窩>'[nest]'; 窪>'[hollow]'; 窮>'[poor]'; 窯>'[kiln]'; 窰>'[kiln]'; 窶>'[poor]'; 窺>'[peep]'; 窿>'[mine shaft]'; 竃>'[furnace]'; ç«„>'[run away]'; ç«…>'[hole]'; 竇>'[surname]'; 竈>'[furnace]'; 竊>'[secretly]'; ç«‹>'[stand]'; ç«>'[decaliter]'; ç«>'[kiloliter]'; ç«’>'[strange]'; ç«“>'[milliliter]'; ç«•>'[deciliter]'; ç«™>'[stand up]'; 竚>'[stand and wait for long time]'; 竜>'[dragon]'; ç«>'[combine]'; 竟>'[finally]'; ç« >'[composition]'; ç«¡>'[hectoliter]'; ç«¢>'[wait for]'; ç«£>'[terminate]'; ç«¥>'[child]'; 竦>'[revere]'; 竪>'[perpendicular]'; ç«­>'[put forth great effort]'; 端>'[end]'; ç«°>'[centiliter]'; ç«¶>'[contend]'; 竸>'[contend]'; 竹>'[bamboo]'; 竺>'[india]'; ç«¿>'[bamboo pole]'; #"笂>'[................................]'", 笄>'[hairpin]'; 笆>'[bamboo fence]'; 笈>'[bamboo box used carry books]'; 笊>'[ladle]'; 笋>'[bamboo shoots]'; ç¬>'[tablet held by someone having au]'; 笑>'[smile]'; #"笘>'[................................]'", 笙>'[small gourd-shaped musical instrument]'; 笛>'[bamboo flute]'; 笞>'[bamboo rod used for beatings]'; 笠>'[bamboo hat]'; 笥>'[a hamper]'; 符>'[i.d. tag]'; 笨>'[foolish]'; 第>'[sequence]'; 笳>'[a reed leaf whistle]'; 笵>'[a bamboo form]'; #"笶>'[................................]'", 笹>'[small bamboo]'; ç­…>'[bamboo brush]'; ç­†>'[writing brush]'; ç­ˆ>'[arrow end]'; ç­‰>'[rank]'; ç­‹>'[muscles]'; ç­Œ>'[bamboo fish trap]'; ç­>'[bamboo shoot]'; ç­>'[raft]'; ç­>'[bamboo basket or chest]'; ç­‘>'[ancient lute]'; ç­’>'[thick piece of bamboo]'; ç­”>'[answer]'; ç­–>'[scheme]'; ç­>'[stringed musical instrument]'; ç­¥>'[round-shaped bamboo basket for]'; ç­§>'[bamboo water pipe]'; ç­¬>'[reed of a loom]'; ç­®>'[divination with stalks of plants]'; ç­°>'[cable]'; ç­±>'[dwarf bamboo]'; ç­´>'[type of grass used in divination]'; ç­µ>'[bamboo mat]'; ç­º>'[bamboo basket or chest]'; 箆>'[fine-toothed comb]'; 箇>'[numerary adjunct]'; 箋>'[note]'; ç®>'[hoop]'; ç®>'[stringed musical instrument]'; ç®’>'[broom]'; ç®”>'[reed screen]'; 箕>'[sieve]'; ç®—>'[count]'; 箘>'[fine bamboo]'; ç®™>'[quiver]'; 箚>'[brief note]'; 箜>'[ancient string music instrument]'; ç®>'[tweezers]'; #"箟>'[................................]'", 管>'[pipe]'; 箪>'[small bamboo basket for holding]'; ç®­>'[arrow]'; ç®±>'[case]'; ç®´>'[needle]'; 箸>'[chopsticks]'; 節>'[knot]'; ç¯>'[bamboo grove]'; 範>'[pattern]'; 篆>'[seal script]'; 篇>'[chapter]'; 築>'[build]'; 篋>'[ratton box]'; 篌>'[ancient music instrument]'; ç¯>'[inlay]'; ç¯>'[bamboo basket]'; 篠>'[dwarf bamboo]'; 篤>'[deep]'; 篥>'[bulgle]'; 篦>'[fine-toothed comb]'; 篩>'[sieve]'; 篭>'[cage]'; 篳>'[wicker]'; #"篶>'[................................]'", 篷>'[awning]'; ç°€>'[bed mat]'; ç°‡>'[swarm]'; ç°>'[bamboo basket]'; ç°‘>'[a coir raincoat]'; ç°’>'[usurp]'; #"ç°“>'[................................]'", ç°”>'[a coir raincoat]'; #"ç°—>'[................................]'", ç°Ÿ>'[bamboo mat]'; ç°¡>'[simple]'; ç°£>'[bamboo basket for carrying earth]'; ç°§>'[reed of woodwind instrument]'; ç°ª>'[hairpin]'; ç°«>'[musical instrument like pan-pipes]'; ç°·>'[eaves of house]'; ç°¸>'[winnower]'; ç°½>'[sign]'; ç°¾>'[a blind]'; ç°¿>'[register]'; ç±€>'[recite]'; 籃>'[basket]'; 籌>'[chip]'; ç±>'[record]'; ç±>'[flag]'; ç±>'[climbing plants]'; ç±”>'[bamboo basket]'; ç±–>'[tally]'; 籘>'[climbing plants]'; 籟>'[bamboo flute]'; ç± >'[cage]'; 籤>'[tally]'; ç±¥>'[key]'; 籬>'[bamboo or wooden fence]'; ç±³>'[hulled or husked uncooked rice]'; ç±µ>'[dm]'; ç±¾>'[unhulled rice]'; ç²>'[km]'; 粂>'[surname]'; 粃>'[empty husks of grain]'; 粉>'[powder]'; 粋>'[pure]'; ç²>'[mm]'; #"ç²>'[................................]'", ç²’>'[grain]'; 粕>'[lees]'; ç²—>'[rough]'; 粘>'[viscous]'; ç²›>'[pay respects]'; 粟>'[unhusked millet]'; #"粡>'[................................]'", ç²¢>'[grain offered in ritual sacrific]'; 粤>'[Guangdong and Guangxi provinces]'; ç²¥>'[rice gruel]'; ç²§>'[toilet]'; 粨>'[hm]'; #"粫>'[................................]'", #"ç²­>'[................................]'", ç²®>'[food]'; ç²±>'[better varieties of millet]'; ç²²>'[polish]'; ç²³>'[non-glutinous rice]'; ç²¹>'[pure]'; ç²½>'[dumpling made of glutinous rice]'; ç²¾>'[essence]'; #"ç³€>'[................................]'", #"糂>'[................................]'", ç³…>'[blend]'; 糊>'[paste]'; 糎>'[mm]'; ç³’>'[food for a journey]'; ç³–>'[sugar]'; #"糘>'[................................]'", 糜>'[rice gruel]'; 糞>'[manure]'; 糟>'[sediment]'; ç³ >'[chaff]'; ç³¢>'[rice snacks]'; ç³§>'[food]'; 糯>'[glutinous rice]'; ç³²>'[unpolished rice]'; ç³´>'[purchase grains]'; ç³¶>'[sell grains]'; 糸>'[silk]'; 糺>'[to collaborate]'; ç³»>'[system]'; ç³¾>'[investigate]'; ç´€>'[record]'; ç´‚>'[name of an emperor]'; ç´„>'[treaty]'; ç´…>'[red]'; ç´†>'[bend]'; ç´Š>'[confused]'; ç´‹>'[line]'; ç´>'[admit]'; ç´>'[knot]'; ç´”>'[pure]'; ç´•>'[spoiled silk]'; ç´—>'[gauze]'; ç´˜>'[string]'; ç´™>'[paper]'; ç´š>'[level]'; ç´›>'[in disorder]'; ç´œ>'[confused]'; ç´ >'[white (silk)]'; ç´¡>'[spin]'; ç´¢>'[large rope]'; ç´«>'[purple]'; ç´¬>'[kind of thin silk]'; ç´®>'[tie]'; ç´¯>'[tired]'; ç´°>'[fine]'; ç´²>'[bridle]'; ç´³>'[girdle]'; ç´µ>'[ramie]'; ç´¹>'[continue]'; ç´º>'[dark blue color]'; ç´¿>'[cheat]'; 終>'[end]'; 絃>'[string on musical instrument]'; 組>'[class]'; çµ…>'[unlined garment]'; 絆>'[loop]'; #"絋>'[................................]'", 経>'[classic works]'; 絎>'[baste]'; çµ>'[rope]'; çµ>'[knot]'; çµ–>'[fine silks]'; çµ›>'[silk braid]'; 絞>'[twist]'; 絡>'[enmesh]'; çµ¢>'[variegated]'; çµ£>'[to baste for sewing]'; 給>'[give]'; 絨>'[silk]'; çµ®>'[waste cotton]'; çµ±>'[govern]'; çµ²>'[silk]'; çµ³>'[deep red]'; çµµ>'[draw]'; çµ¶>'[cut]'; çµ¹>'[kind of thick stiff silk]'; #"çµ½>'[................................]'", 綉>'[embroider]'; ç¶>'[soothe]'; ç¶“>'[classic works]'; ç¶™>'[continue]'; ç¶š>'[continue]'; #"ç¶›>'[................................]'", ç¶œ>'[arrange threads for weaving]'; #"ç¶Ÿ>'[................................]'", ç¶¢>'[silk cloth]'; ç¶£>'[affectionate]'; ç¶«>'[line]'; 綬>'[silk ribbon attached as a seal]'; ç¶­>'[maintain]'; ç¶®>'[embroidered banner]'; 綯>'[braid]'; ç¶°>'[to string together]'; ç¶±>'[heavy rope]'; ç¶²>'[net]'; ç¶´>'[patch together]'; ç¶µ>'[varicolored silk]'; 綸>'[green silk thread or tassel]'; 綺>'[fine thin silk]'; ç¶»>'[ripped seam]'; ç¶½>'[graceful]'; ç¶¾>'[thin silk]'; ç¶¿>'[cotton wad]'; ç·‡>'[black silk]'; ç·Š>'[tense]'; ç·‹>'[scarlet]'; ç·>'[collect]'; ç·‘>'[green]'; ç·’>'[end of thread]'; #"ç·•>'[................................]'", ç·˜>'[seal]'; ç·š>'[thread]'; ç·œ>'[cotton wad]'; ç·>'[to sew in close stitches]'; ç·ž>'[satin]'; ç· >'[tie]'; ç·¡>'[fishing-line]'; ç·¤>'[cord]'; ç·¨>'[knit]'; ç·©>'[slow]'; ç·¬>'[distant]'; ç·¯>'[woof]'; ç·²>'[indistinct]'; ç·´>'[practice]'; ç·»>'[delicate]'; ç¸>'[hem]'; 縄>'[rope]'; #"縄>'[rope]'", 縉>'[red silk]'; 縊>'[hang]'; 縋>'[climd down rope]'; #"縑>'[fine silk]'", 縛>'[to tie]'; 縞>'[white raw silk]'; 縟>'[decorative]'; 縡>'[matter]'; 縢>'[bind]'; 縣>'[county]'; 縦>'[indulge in]'; 縫>'[sew]'; 縮>'[contract]'; 縱>'[indulge in]'; 縲>'[chain or rope used bind criminal]'; 縵>'[plain silk]'; 縷>'[thread]'; 縹>'[light blue silk]'; #"縺>'[................................]'", 縻>'[halter for ox]'; 總>'[collect]'; 績>'[spin]'; ç¹>'[complicated]'; 繃>'[bind]'; 繆>'[wind around]'; 繊>'[fine]'; 繋>'[attach]'; ç¹>'[embroider]'; ç¹”>'[weave]'; 繕>'[repair]'; ç¹–>'[umbrella]'; ç¹™>'[interpret]'; 繚>'[wind round]'; #"ç¹>'[................................]'", 繞>'[entwine]'; 繦>'[string of copper coins]'; #"ç¹§>'[................................]'", 繩>'[rope]'; 繪>'[draw]'; ç¹­>'[cocoon]'; ç¹°>'[to reel silk from cocoons]'; ç¹¹>'[unravel or unreel silk]'; ç¹»>'[fine silk guaze]'; ç¹¼>'[continue]'; ç¹½>'[flourishing]'; #"繿>'[................................]'", 纂>'[edit]'; #"纃>'[................................]'", 纈>'[patterned silk]'; #"纉>'[................................]'", 續>'[continue]'; 纎>'[fine]'; çº>'[wrap]'; #"çº>'[................................]'", 纒>'[wrap]'; 纓>'[chin strap]'; 纔>'[talent]'; 纖>'[fine]'; 纛>'[a banner]'; 纜>'[hawser]'; ç¼¶>'[earthen crock or jar]'; 缸>'[earthen jug]'; 缺>'[be short of]'; ç½…>'[crack]'; 罌>'[long necked jar or bottle]'; ç½>'[large earthenware wine jar]'; 罎>'[an earthenware jar]'; ç½>'[jar]'; 网>'[net]'; ç½”>'[net]'; 罕>'[rare]'; 罘>'[screen used in ancient times]'; 罟>'[net]'; ç½ >'[animal trap]'; #"ç½§>'[................................]'", 罨>'[medical compress]'; 罩>'[basket for catching fish]'; 罪>'[crime]'; 罫>'[hinder]'; ç½®>'[place]'; ç½°>'[penalty]'; ç½²>'[public office]'; ç½µ>'[accuse]'; ç½·>'[cease]'; 罸>'[penalty]'; ç½¹>'[sorrow]'; #"羂>'[................................]'", 羃>'[cover-cloth]'; ç¾…>'[net for catching birds]'; 羆>'[brown bear]'; 羇>'[inn]'; 羈>'[halter]'; 羊>'[sheep]'; 羌>'[qiang nationality]'; 美>'[beautiful]'; ç¾”>'[lamb]'; 羚>'[species of antelope]'; ç¾>'[ram]'; 羞>'[disgrace]'; ç¾£>'[group]'; 群>'[group]'; 羨>'[envy]'; 義>'[right conduct]'; ç¾®>'[soup]'; 羯>'[wether]'; ç¾²>'[ancient emperor]'; ç¾¶>'[rank odor]'; 羸>'[weak]'; ç¾¹>'[soup]'; ç¾½>'[feather]'; ç¿>'[old man]'; ç¿…>'[wings]'; 翆>'[color green]'; 翊>'[flying]'; 翌>'[bright]'; ç¿’>'[practice]'; ç¿”>'[soar]'; ç¿•>'[agree]'; ç¿ >'[color green]'; ç¿¡>'[kingfisher]'; 翦>'[scissors]'; ç¿©>'[fly]'; ç¿«>'[careless]'; ç¿°>'[writing brush]'; 翳>'[shade]'; 翹>'[turn up]'; ç¿»>'[flip over]'; 翼>'[wings]'; 耀>'[shine]'; è€>'[old]'; 考>'[examine]'; 耄>'[elderly person]'; 者>'[that which]'; 耆>'[man of sixty]'; 耋>'[aged]'; 而>'[and]'; è€>'[endure]'; 耒>'[handle of plow]'; 耕>'[plow]'; 耗>'[consume]'; 耘>'[weed]'; 耙>'[rake]'; 耜>'[spade-shaped tool]'; 耡>'[hoe]'; 耨>'[hoe]'; 耳>'[ear]'; 耶>'[used in transliteration]'; 耻>'[shame]'; 耽>'[indulge in]'; 耿>'[bright]'; è†>'[listen]'; èŠ>'[somewhat]'; è’>'[clamor]'; è–>'[holy]'; è˜>'[engage]'; èš>'[assemble]'; èž>'[hear]'; èŸ>'[son-in-law]'; è¡>'[intelligent]'; #"è¢>'[................................]'", è¨>'[connect]'; è¯>'[connect]'; è°>'[intelligent]'; è²>'[sound]'; è³>'[urge on]'; è´>'[hear]'; è¶>'[whisper]'; è·>'[duty]'; è¹>'[earwax]'; è½>'[hear]'; è¾>'[deaf]'; è¿>'[writing brush]'; è‚„>'[learn]'; è‚…>'[pay respects]'; 肆>'[indulge]'; 肇>'[begin]'; 肉>'[flesh]'; è‚‹>'[ribs]'; 肌>'[muscle tissue]'; è‚“>'[region between heart and diaphragm]'; è‚–>'[look like]'; 肘>'[elbow]'; 肚>'[belly]'; è‚›>'[anus]'; è‚>'[liver]'; è‚¡>'[thighs]'; è‚¢>'[human limbs]'; è‚¥>'[fat]'; è‚©>'[shoulders]'; 肪>'[animal fat]'; 肬>'[wart]'; è‚­>'[fat]'; 肯>'[willing]'; 肱>'[forearm]'; 育>'[produce]'; è‚´>'[cooked or prepared meat]'; 肺>'[lungs]'; 胃>'[stomach]'; 胄>'[helmet]'; 胆>'[gall bladder]'; 背>'[back]'; 胎>'[unborn child]'; 胖>'[fat]'; 胙>'[food offered in sacrificial serv]'; 胚>'[embryo]'; 胛>'[the shoulder]'; èƒ>'[callous]'; 胞>'[womb]'; 胡>'[recklessly]'; 胤>'[heir]'; 胥>'[all]'; 胯>'[pelvis]'; 胱>'[bladder]'; 胴>'[the large intestine]'; 胸>'[breast]'; 胼>'[callus]'; 能>'[be able]'; è„‚>'[fat]'; è„…>'[ribs]'; 脆>'[crisp]'; 脇>'[ribs]'; 脈>'[blood vessels]'; 脉>'[blood vessels]'; 脊>'[spine]'; 脚>'[leg]'; è„›>'[shinbone]'; è„£>'[lips]'; è„©>'[dried meat (used as teachers payment in ancient times)]'; 脯>'[dried meat]'; 脱>'[take off]'; 脳>'[brain]'; 脹>'[swell]'; 脾>'[spleen]'; è…†>'[prosperous]'; è…‹>'[armpit]'; è…Ž>'[kidneys]'; è…>'[rot]'; è…‘>'[bowels]'; è…“>'[calf]'; è…”>'[chest cavity]'; è…•>'[wrist]'; è…Ÿ>'[vagina]'; è…¥>'[raw meat]'; è…¦>'[brain]'; è…«>'[swell]'; è…®>'[lower part of face]'; è…°>'[waist]'; è…±>'[tendons]'; è…´>'[fat]'; è…¸>'[intestines]'; è…¹>'[stomach]'; è…º>'[gland]'; è…¿>'[legs]'; 膀>'[upper arm]'; 膂>'[backbone]'; 膃>'[fat]'; 膈>'[diaphragm]'; 膊>'[shoulders]'; è†>'[grease]'; 膓>'[intestines]'; 膕>'[hollow]'; 膚>'[skin]'; 膜>'[membrane]'; è†>'[knee]'; 膠>'[glue]'; 膣>'[vagina]'; #"膤>'[................................]'", 膨>'[swell]'; 膩>'[greasy]'; 膰>'[cook meat for sacrifice or offer]'; 膳>'[meals]'; 膵>'[pancreas]'; #"膸>'[................................]'", 膺>'[breast]'; 膽>'[gall bladder]'; 膾>'[minced meat or fish]'; 膿>'[pus]'; 臀>'[buttocks]'; 臂>'[arm]'; 臆>'[chest]'; 臈>'[year end sacrifice]'; 臉>'[face]'; è‡>'[abdominal area of crab]'; 臑>'[soft]'; 臓>'[internal organs]'; 臘>'[year end sacrifice]'; 臙>'[rouge]'; 臚>'[arrange in order]'; 臟>'[internal organs]'; 臠>'[small lump of meat]'; 臣>'[minister]'; 臥>'[lie down]'; 臧>'[good]'; 臨>'[draw near]'; 自>'[self]'; 臭>'[smell]'; 至>'[reach]'; 致>'[send]'; 臺>'[tower]'; 臻>'[reach]'; 臼>'[mortar]'; 臾>'[moment]'; èˆ>'[carry on one''s shoulder]'; 舂>'[grind in mortar]'; 舅>'[mother''s brother]'; 與>'[and]'; 興>'[thrive]'; 舉>'[raise]'; 舊>'[old]'; 舌>'[tongue]'; èˆ>'[house]'; 舎>'[house]'; èˆ>'[lick with tongue]'; 舒>'[open up]'; 舖>'[store]'; 舗>'[store]'; 舘>'[a mansion]'; 舛>'[oppose]'; 舜>'[legendary ruler]'; 舞>'[dance]'; 舟>'[boat]'; 舩>'[boat]'; 航>'[sail]'; 舫>'[fancy boat]'; 般>'[sort]'; 舮>'[bow or prow of boat]'; 舳>'[stern of ship]'; 舵>'[rudder]'; 舶>'[large]'; 舷>'[sides of boat]'; 舸>'[large boat]'; 船>'[ship]'; 艀>'[[not found in dictionary]]'; 艇>'[small boat]'; 艘>'[counter for ships]'; 艙>'[hold of ship]'; 艚>'[ship]'; #"è‰>'[................................]'", 艟>'[ancient warship]'; 艢>'[a mast]'; 艤>'[to moor a boat to the bank]'; 艦>'[warship]'; 艨>'[long and narrow war-boat]'; 艪>'[oar]'; 艫>'[bow or prow of boat]'; 艮>'[seventh of eight diagrams]'; 良>'[good]'; 艱>'[difficult]'; 色>'[color]'; 艶>'[beautiful]'; 艷>'[beautiful]'; 艸>'[grass]'; 艾>'[artemisia]'; 芋>'[taro]'; èŠ>'[peony]'; 芒>'[miscanthus sinensis]'; 芙>'[hibiscus]'; èŠ>'[purplish mushroom thought promot]'; 芟>'[mow]'; 芥>'[mustard plant]'; 芦>'[rushes]'; 芫>'[daphne genkwa]'; 芬>'[fragrance]'; 芭>'[plantain or banana palm]'; 芯>'[pith from rush (juncus effusus)]'; 花>'[flower]'; 芳>'[fragrant]'; 芸>'[rue]'; 芹>'[celery]'; 芻>'[mow]'; 芽>'[bud]'; è‹…>'[cut off]'; è‹‘>'[pasture]'; è‹’>'[lush]'; è‹“>'[fungus]'; è‹”>'[moss]'; è‹—>'[sprouts]'; è‹™>'[pigsty]'; è‹›>'[small]'; 苜>'[clover]'; 苞>'[variety of rush]'; 苟>'[careless]'; è‹¡>'[barley]'; è‹£>'[kind of lettuce]'; è‹¥>'[if]'; 苦>'[bitter]'; è‹§>'[china grass]'; è‹«>'[rush or straw matting]'; 英>'[petal]'; #"苳>'[................................]'", è‹´>'[sackcloth]'; 苹>'[artemisia]'; 苺>'[berries]'; è‹»>'[kind of herb]'; 茂>'[thick]'; 范>'[surname]'; 茄>'[eggplant]'; 茅>'[reeds]'; 茆>'[species of grass]'; 茉>'[white jasmine]'; 茎>'[stem]'; 茖>'[allium victorialis]'; 茗>'[tea]'; #"茗>'[tea]'", 茜>'[madder]'; #"茣>'[................................]'", 茨>'[caltrop]'; 茫>'[vast]'; 茯>'[china root]'; 茱>'[dogwood]'; 茲>'[now]'; 茴>'[fennel]'; 茵>'[cushion]'; 茶>'[tea]'; 茸>'[soft]'; 茹>'[roots]'; è€>'[surname]'; è…>'[answer: small bean]'; è‰>'[grass]'; èŠ>'[thorns]'; è>'[beans]'; è>'[repeat]'; è’>'[wasteland]'; è˜>'[village]'; è³>'[beans]'; #"èµ>'[................................]'", è·>'[lotus]'; è»>'[reed]'; è¼>'[bitter vegetable]'; 莅>'[attend]'; #"莇>'[................................]'", 莉>'[white jasmine]'; 莊>'[village]'; 莎>'[kind of sedge grass]'; 莓>'[moss]'; 莖>'[stem]'; 莚>'[bamboo mat]'; 莞>'[smiling]'; #"莟>'[................................]'", 莠>'[weeds]'; 莢>'[pods of leguminous plants]'; 莨>'[herb]'; 莪>'[artemisia]'; 莫>'[do not]'; 莱>'[goosefoot]'; 莵>'[dodder]'; 莽>'[thicket]'; è>'[flower of leek family]'; è…>'[coarse grass]'; èŠ>'[chrysanthemum]'; èŒ>'[mushroom]'; èŽ>'[beautiful jade]'; è“>'[fruits]'; è–>'[iris]'; è˜>'[celery]'; èœ>'[vegetables]'; èŸ>'[dodder]'; è >'[spinach and similar greens]'; è©>'[herb]'; è«>'[celery]'; è¯>'[flowery]'; è°>'[wild rice]'; è±>'[water-chestnut]'; è²>'[fragrant]'; è´>'[small buddhist monastery]'; #"è·>'[................................]'", è»>'[artemisia]'; è½>'[beans and peas]'; èƒ>'[dense]'; è„>'[grapes]'; è‡>'[averrhora carambola]'; è‹>'[luxuriant foliage]'; èŒ>'[bud]'; è>'[duckweed]'; èŽ>'[wither]'; #"è“>'[................................]'", è >'[bud]'; #"è¢>'[................................]'", è©>'[scandent hop]'; #"èª>'[................................]'", è¬>'[ten thousand]'; è±>'[day-lily]'; èµ>'[lettuce]'; è¸>'[dogwood]'; è¼>'[calyx of flower]'; è½>'[fall]'; 葆>'[reserve]'; 葉>'[leaf]'; #"葎>'[................................]'", è‘—>'[manifest]'; è‘›>'[edible bean]'; è‘¡>'[grapes]'; è‘¢>'[cover]'; è‘£>'[direct]'; 葦>'[reed]'; è‘©>'[flowers]'; è‘«>'[bottle-gourd]'; 葬>'[bury]'; è‘­>'[bulrush]'; #"è‘­>'[bulrush]'", 葯>'[leaf of angelica plant]'; 葱>'[scallions]'; 葵>'[sunflower]'; è‘·>'[meat diet]'; 葹>'[kind of chrysanthemum]'; 葺>'[thatch]'; è’‚>'[peduncle or stem of plants]'; #"è’„>'[................................]'", è’‹>'[surname]'; è’>'[collect]'; è’”>'[transplant]'; è’™>'[cover]'; è’œ>'[garlic]'; è’Ÿ>'[betel pepper]'; è’¡>'[burdock]'; è’­>'[to cutgrass]'; è’²>'[type of rush]'; è’¸>'[steam]'; è’¹>'[reed]'; è’»>'[rushes]'; è’¼>'[blue]'; è’¿>'[mugwort]'; è“>'[abundant]'; è“„>'[store]'; 蓆>'[straw mat]'; 蓉>'[hibiscus]'; 蓊>'[luxuriant vegetation]'; è“‹>'[cover]'; è“>'[milfoil]'; è“>'[straw bed mat]'; è“‘>'[rain coat made of straw]'; è“–>'[castor-oil plant]'; #"è“™>'[................................]'", 蓚>'[oxalic (used in compounds)]'; 蓬>'[type of raspberry]'; è“®>'[lotus]'; è“´>'[edible water plant]'; 蓼>'[smartweed]'; è“¿>'[clover]'; 蔀>'[screen]'; 蔆>'[water-chestnut]'; 蔑>'[disdain]'; 蔓>'[creeping plants]'; è””>'[radish]'; 蔕>'[peduncle or stem of plants]'; è”—>'[sugar cane]'; 蔘>'[ginsen]'; 蔚>'[luxuriant]'; 蔟>'[frame on which silkworms spin]'; 蔡>'[surname]'; 蔦>'[parasitic plants]'; 蔬>'[vegetables]'; è”­>'[shade]'; 蔵>'[hide]'; 蔽>'[cover]'; #"è•€>'[................................]'", è•>'[nettle]'; 蕃>'[foreign things]'; 蕈>'[mushrooms]'; 蕉>'[banana]'; 蕊>'[unopened flowers]'; è•‹>'[unopened flowers]'; 蕎>'[buckwheat]'; è••>'[caryopteris divaricata]'; #"è•—>'[................................]'", 蕘>'[fuel]'; 蕚>'[calyx of flower]'; è•£>'[hibiscus]'; 蕨>'[pteris aquilina]'; è•©>'[pond]'; 蕪>'[luxurious growth of weeds]'; è•­>'[common artemisia]'; è•·>'[yam]'; 蕾>'[buds]'; è–€>'[the hippuris or mare''s tail plant]'; è–„>'[thin]'; è–‡>'[osmunda regalis]'; è–ˆ>'[luxuriant]'; è–Š>'[circium]'; è–>'[spinach]'; è–‘>'[ginger]'; è–”>'[rose]'; è–—>'[garden]'; è–™>'[weed]'; è–›>'[kind of marsh grass]'; è–œ>'[evergreen shrubs]'; è–¤>'[allium bakeri]'; è–¦>'[offer]'; è–¨>'[death of prince]'; è–©>'[transliteration of \"sat\" of boddhisattva etc.]'; è–ª>'[fuel]'; è–«>'[a medicinal herb]'; è–¬>'[drugs]'; è–®>'[marsh]'; è–¯>'[yam]'; è–¹>'[cyperus rotundus]'; è–º>'[water-chestnuts]'; è—>'[straw]'; è—‰>'[mat]'; è—>'[blue]'; è—>'[hide]'; è—>'[disregard]'; è—•>'[lotus root]'; è—œ>'[chenopodium album]'; è—>'[art]'; è—¤>'[rattan]'; è—¥>'[drugs]'; è—©>'[fence]'; è—ª>'[marsh]'; è—·>'[yam]'; è—¹>'[lush]'; è—º>'[rush used in making mats]'; è—»>'[splendid]'; è—¾>'[shade]'; 蘂>'[stamen or pistil]'; 蘆>'[rushes]'; 蘇>'[thyme]'; 蘊>'[collect]'; 蘋>'[apple]'; 蘓>'[thyme]'; 蘖>'[stump]'; 蘗>'[stump]'; 蘚>'[moss]'; 蘢>'[tall grass]'; 蘭>'[orchid]'; 蘯>'[to toss about]'; #"蘯>'[to toss about]'", 蘿>'[type of creeping plant]'; è™>'[tiger]'; 虎>'[tiger]'; è™>'[cruel]'; è™”>'[act with reverence]'; 處>'[place]'; 虚>'[false]'; 虜>'[capture]'; 虞>'[concerned about]'; 號>'[mark]'; è™§>'[lose]'; 虫>'[insects]'; è™±>'[louse]'; 虹>'[rainbow]'; è™»>'[horsefly]'; 蚊>'[mosquito]'; èš‹>'[gnat]'; 蚌>'[oysters]'; èš“>'[earthworm]'; èš•>'[silkworms]'; 蚣>'[centipede]'; 蚤>'[flea]'; èš©>'[worm]'; 蚪>'[tadpole]'; èš«>'[abalone]'; 蚯>'[earthworm]'; èš°>'[millipede]'; èš¶>'[kind of clam]'; 蛄>'[mole cricket]'; 蛆>'[maggots]'; 蛇>'[snake]'; 蛉>'[dragonfly]'; 蛋>'[eggs]'; è›>'[glow-worm]'; 蛎>'[oyster]'; è›”>'[tapeworm]'; è›™>'[frog]'; è››>'[spider]'; 蛞>'[snail]'; 蛟>'[scaly dragon with four legs]'; 蛤>'[clam]'; 蛩>'[cricket]'; #"蛩>'[cricket]'", è›­>'[leech]'; è›®>'[barbarians]'; 蛯>'[shrimp]'; 蛸>'[long legged spider]'; 蛹>'[chrysalis]'; è›»>'[molt]'; 蛾>'[moth]'; 蜀>'[name of an ancient state]'; 蜂>'[bee]'; 蜃>'[marine monster which can change its shape]'; 蜆>'[a variety of bivalves]'; 蜈>'[centipede]'; 蜉>'[mayfly]'; 蜊>'[clam]'; èœ>'[toad]'; 蜑>'[egg]'; 蜒>'[millipede]'; 蜘>'[spider]'; 蜚>'[cockroach]'; 蜜>'[honey]'; 蜥>'[lizard]'; 蜩>'[cicada]'; 蜴>'[lizard]'; 蜷>'[creep like worm]'; 蜻>'[dragonfly]'; 蜿>'[creep]'; è‰>'[cicada]'; è‹>'[wax]'; èŒ>'[tadpole]'; èŽ>'[scorpion]'; è“>'[snail]'; è•>'[nibble away]'; è—>'[kind of locust]'; è™>'[bat]'; èŸ>'[hedgehog]'; è >'[kind of bat]'; è£>'[mayfly]'; è¦>'[shrimp]'; è¨>'[louse]'; #"è¨>'[louse]'", è®>'[venomous snake]'; è´>'[butterfly]'; è¶>'[butterfly]'; è¸>'[snail]'; è¿>'[flies]'; èž‚>'[mantis]'; èž>'[melt]'; 螟>'[kind of caterpillar]'; 螢>'[glow-worm]'; èž«>'[poison]'; 螯>'[nippers]'; èž³>'[mantis]'; 螺>'[spiral shell]'; èž»>'[gryllotalpa africana]'; èž½>'[katydid]'; 蟀>'[cricket]'; 蟄>'[to hibernate]'; 蟆>'[frog]'; 蟇>'[frog]'; 蟋>'[cricket]'; #"蟋>'[cricket]'", 蟒>'[python]'; 蟠>'[coil]'; 蟯>'[worms]'; 蟲>'[worms]'; 蟶>'[razor clam]'; 蟷>'[mantis]'; 蟹>'[crab]'; 蟻>'[ants]'; 蟾>'[toad]'; è …>'[flies]'; è >'[scorpion]'; è Ž>'[python]'; è >'[crab]'; è ‘>'[lizard]'; è •>'[eumenes polifomis]'; è –>'[measuring worm]'; è ¡>'[wood-boring insect]'; è ¢>'[wriggle]'; è £>'[oyster]'; è §>'[moth]'; è ±>'[posion]'; è ¶>'[silkworms]'; è ¹>'[moth]'; è »>'[barbarians]'; è¡€>'[blood]'; è¡‚>'[to be defeated]'; è¡„>'[epistaxis]'; 衆>'[multitude]'; 行>'[go]'; è¡>'[overflow]'; è¡’>'[brag]'; è¡“>'[art]'; è¡—>'[street]'; è¡™>'[public office]'; è¡›>'[guard]'; è¡>'[rush against]'; 衞>'[guard]'; è¡¡>'[measure]'; è¡¢>'[highway]'; è¡£>'[clothes]'; 表>'[show]'; è¡«>'[shirt]'; è¡°>'[decline]'; 衲>'[mend]'; 衵>'[chemise]'; è¡·>'[heart]'; 衽>'[lapel]'; 衾>'[coverlet]'; è¡¿>'[collar or lapel of garment]'; è¢>'[robe]'; 袂>'[sleeves]'; 袈>'[buddhist cassock]'; 袋>'[pocket]'; è¢>'[long gown]'; 袒>'[strip]'; 袖>'[sleeve]'; 袗>'[unlined garments]'; #"袙>'[................................]'", 袞>'[ceremonial dress worn by emperor]'; 袢>'[robe]'; 袤>'[longitude]'; 被>'[passive indicator \"by\"]'; #"袮>'[................................]'", #"袰>'[................................]'", 袱>'[piece of cloth used wrap bundles]'; 袴>'[pants]'; 袵>'[lapel]'; 袷>'[lined garment]'; 袿>'[gown]'; è£>'[cut out]'; 裂>'[split]'; #"裂>'[split]'", #"裂>'[split]'", 装>'[dress]'; è£>'[inside]'; 裔>'[progeny]'; 裕>'[abundant]'; 裘>'[fur garments]'; 裙>'[skirt]'; 補>'[mend]'; è£>'[dress]'; 裟>'[a cassock or robe of a monk]'; 裡>'[inside]'; 裨>'[aid]'; 裲>'[waistcoat]'; 裳>'[clothes]'; 裴>'[surname]'; 裸>'[bare]'; 裹>'[wrap]'; 裼>'[to take off one''s top]'; 製>'[make]'; 裾>'[lapel]'; 褂>'[jacket]'; #"褃>'[a seam in a garment]'", 複>'[repeat]'; 褊>'[cramped]'; 褌>'[trousers]'; è¤>'[coarse woolen cloth]'; 褒>'[praise]'; 褓>'[swaddling cloth]'; è¤>'[unlined garment]'; #"褞>'[................................]'", 褥>'[mattress]'; 褪>'[strip]'; 褫>'[strip]'; 褶>'[pleat]'; 褸>'[lapel]'; 褻>'[dirty]'; è¥>'[swaddling clothes]'; 襃>'[commend]'; 襄>'[aid]'; 襌>'[unlined garment]'; è¥>'[mixed]'; 襖>'[outer garments]'; 襞>'[fold]'; 襟>'[lapel]'; 襠>'[crotch or seat of pants]'; 襤>'[ragged]'; 襦>'[short coat]'; 襪>'[socks]'; 襭>'[tuck up hem of garment and wrap]'; 襯>'[underwear]'; 襲>'[raid]'; 襴>'[a one piece garment]'; #"襶>'[ignorant]'", 襾>'[cover]'; 西>'[west(ern)]'; è¦>'[necessary]'; 覃>'[reach to]'; 覆>'[cover]'; 覇>'[rule by might rather than right]'; 覈>'[investigate]'; 覊>'[halter]'; 見>'[see]'; è¦>'[rules]'; 覓>'[seek]'; 視>'[look at]'; 覗>'[peek]'; 覘>'[peek]'; 覚>'[wake up from sleep]'; 覡>'[wizard]'; 覦>'[desire strongly]'; 覧>'[look at]'; 覩>'[see]'; 親>'[relatives]'; 覬>'[covet]'; 覯>'[meet or see unexpectedly]'; 覲>'[have imperial audience]'; 観>'[see]'; 覺>'[wake up from sleep]'; 覽>'[look at]'; 覿>'[see]'; è§€>'[see]'; è§’>'[horn]'; è§š>'[jug]'; è§œ>'[beak]'; è§>'[gore]'; è§£>'[loosen]'; 触>'[butt]'; è§§>'[loosen]'; è§´>'[wine vessel]'; 觸>'[touch]'; 言>'[words]'; 訂>'[draw up agreement]'; 訃>'[obituary]'; 計>'[plan]'; 訊>'[inquire]'; 訌>'[confusion]'; 討>'[ask for]'; è¨>'[expose other''s secrets]'; 訓>'[teach]'; 訖>'[finish]'; 託>'[entrust]'; 記>'[record]'; 訛>'[swindle]'; è¨>'[express surprise]'; 訟>'[accuse]'; 訣>'[take leave of]'; 訥>'[slow of speech]'; 訪>'[visit]'; 設>'[build]'; 許>'[allow]'; 訳>'[translate]'; 訴>'[accuse]'; 訶>'[scold loudly]'; 診>'[examine patient]'; 註>'[explain]'; 証>'[prove]'; è©>'[exegesis]'; 詆>'[slander]'; 詈>'[scold]'; è©>'[cheat]'; è©‘>'[cheat]'; è©’>'[bequeath]'; è©”>'[decree]'; è©•>'[appraise]'; è©›>'[curse]'; 詞>'[words]'; è© >'[sing]'; è©¢>'[inquire into]'; è©£>'[reach]'; 試>'[test]'; è©©>'[poetry]'; è©«>'[be surprised]'; 詬>'[abuse]'; è©­>'[deceive]'; è©®>'[explain]'; è©°>'[question]'; 話>'[speech]'; 該>'[should]'; 詳>'[detailed]'; 詼>'[tease]'; 誂>'[tempt]'; 誄>'[eulogize]'; 誅>'[execute]'; 誇>'[exaggerate]'; 誉>'[fame]'; 誌>'[write down]'; èª>'[recognize]'; 誑>'[deceive]'; 誓>'[swear]'; 誕>'[bear children]'; 誘>'[persuade]'; 誚>'[criticize]'; 語>'[language]'; 誠>'[sincere]'; 誡>'[warn]'; 誣>'[make false accusation]'; 誤>'[err]'; 誥>'[inform]'; 誦>'[recite]'; 誨>'[teach]'; 説>'[speak]'; 読>'[read]'; 誰>'[who? whom? whose? anyone?]'; 課>'[lesson]'; 誹>'[slander]'; 誼>'[friendship]'; 調>'[transfer]'; è«‚>'[flatter]'; è«„>'[patient]'; 談>'[talk]'; è«‹>'[ask]'; 諌>'[remonstrate]'; è«>'[to expostulate]'; è«>'[consult]'; è«’>'[excuse]'; è«–>'[debate]'; 諚>'[(kokuji) command]'; è«›>'[flatter]'; 諜>'[intelligence report]'; 諞>'[brag]'; è« >'[noisy]'; è«¡>'[posthumous name]'; è«¢>'[jokes]'; 諤>'[honest speech]'; 諦>'[careful]'; è«§>'[harmonize]'; è««>'[remonstrate]'; è«­>'[proclaim]'; è«®>'[consult]'; 諱>'[conceal]'; 諳>'[versed in]'; è«·>'[recite]'; 諸>'[several]'; 諺>'[proverb]'; 諾>'[promise]'; 謀>'[plan]'; è¬>'[visit]'; 謂>'[say]'; 謄>'[copy]'; 謇>'[stutter]'; 謌>'[slander]'; 謎>'[riddle]'; è¬>'[calm]'; 謔>'[jeer]'; 謖>'[rise up]'; 謗>'[slander]'; 謙>'[humble]'; 謚>'[to confer posthumous titles]'; 講>'[explain]'; è¬>'[thank]'; 謠>'[sing]'; 謡>'[sing]'; 謦>'[t speak softly]'; 謨>'[scheme]'; 謫>'[charge]'; 謬>'[error]'; 謳>'[sing]'; 謹>'[prudent]'; 謾>'[deceive]'; è­>'[noise]'; è­‰>'[proof]'; è­Œ>'[false]'; è­Ž>'[cunning]'; è­>'[ridicule]'; è­–>'[to slander]'; è­˜>'[recognize]'; è­š>'[surname]'; è­›>'[to slander]'; è­œ>'[register]'; è­Ÿ>'[clamor]'; è­¦>'[guard]'; è­«>'[talkative]'; è­¬>'[metaphor]'; è­¯>'[translate]'; è­°>'[consult]'; #"è­±>'[................................]'", è­²>'[allow]'; è­´>'[reprimand]'; è­·>'[protect]'; è­½>'[fame]'; 讀>'[read]'; 讃>'[praise]'; 變>'[change]'; 讌>'[feast]'; 讎>'[enemy]'; è®>'[enemy]'; è®’>'[slander]'; 讓>'[allow]'; è®–>'[prophecy]'; è®™>'[cheer]'; 讚>'[praise]'; è°·>'[valley]'; è°º>'[the mouth of a valley]'; è°¿>'[valley]'; è±>'[open up]'; 豆>'[beans]'; 豈>'[how? what?]'; 豊>'[abundant]'; 豌>'[peas]'; 豎>'[vertical]'; è±>'[abundant]'; 豕>'[pigs]'; 豚>'[small pig]'; 象>'[elephant]'; è±¢>'[domestic animals]'; 豪>'[brave]'; 豫>'[relaxed]'; 豬>'[pig]'; 豸>'[radical 153]'; è±¹>'[leopard]'; 豺>'[wolf]'; è±¼>'[fox]'; 貂>'[marten]'; è²…>'[brave]'; 貉>'[badger]'; 貊>'[leopard]'; 貌>'[countenance]'; è²>'[a fox-like animal]'; 貎>'[lion]'; è²”>'[fox]'; 貘>'[the panther]'; è²>'[sea shell]'; 貞>'[virtuous]'; è² >'[load]'; 財>'[wealth]'; è²¢>'[offer tribute]'; è²§>'[poor]'; 貨>'[goods]'; 販>'[peddler]'; 貪>'[greedy]'; 貫>'[string of 1000 coins]'; 責>'[one''s responsibility]'; è²­>'[matter]'; è²®>'[number two]'; 貯>'[store]'; è²°>'[borrow]'; è²²>'[property]'; è²³>'[number two]'; è²´>'[expensive]'; è²¶>'[decrease]'; è²·>'[buy]'; 貸>'[lend]'; è²»>'[expenses]'; è²¼>'[paste to]'; è²½>'[give to]'; 貿>'[trade]'; è³€>'[congratulate]'; è³>'[forge ahead]'; 賂>'[bribe]'; 賃>'[rent]'; 賄>'[bribe]'; 資>'[property]'; 賈>'[surname]'; 賊>'[thief]'; è³>'[booty]'; 賎>'[mean]'; 賑>'[relieve]'; 賓>'[guest]'; 賚>'[give]'; è³›>'[help]'; 賜>'[give]'; 賞>'[reward]'; è³ >'[indemnify]'; è³¢>'[virtuous]'; è³£>'[sell]'; 賤>'[mean]'; 賦>'[tax]'; 質>'[matter]'; è³­>'[bet]'; 賺>'[make money]'; è³»>'[gift of money help pay funeral]'; è³¼>'[buy]'; è³½>'[compete]'; è´„>'[gift superior]'; è´…>'[unnecessary]'; è´‡>'[affable]'; è´ˆ>'[give present]'; è´Š>'[help]'; è´‹>'[false]'; è´>'[support]'; è´>'[win]'; è´>'[farewell present]'; è´“>'[booty]'; è´”>'[strong]'; è´–>'[buy]'; 赤>'[red]'; 赦>'[forgive]'; èµ§>'[blush]'; 赫>'[bright]'; èµ­>'[reddish brown]'; èµ°>'[walk]'; èµ±>'[walk]'; èµ³>'[grand]'; èµ´>'[go to]'; èµ·>'[rise]'; è¶>'[take advantage of]'; è¶…>'[jump over]'; è¶Š>'[exceed]'; è¶™>'[surname]'; è¶£>'[what attracts one''s attention]'; 趨>'[hasten]'; è¶³>'[foot]'; 趺>'[sit cross-legged]'; è¶¾>'[toe]'; è·‚>'[creeping]'; è·‹>'[go by foot]'; è·Œ>'[stumble]'; è·>'[sit cross-legged]'; è·–>'[sole (of the foot)]'; è·š>'[stagger]'; è·›>'[lame]'; è·>'[distance]'; è·Ÿ>'[heel]'; è·¡>'[search]'; è·£>'[bare footed]'; è·¨>'[straddle]'; è·ª>'[kneel]'; è·«>'[sound of footsteps]'; è·¯>'[road]'; è·³>'[jump]'; è·µ>'[trample]'; è·¼>'[bent]'; #"è·¿>'[................................]'", 踈>'[neglect]'; 踉>'[hop]'; 踊>'[leap]'; è¸>'[step on]'; è¸>'[trample]'; è¸>'[ankle]'; 踞>'[crouch]'; 踟>'[hesitate]'; 踪>'[footprints]'; 踰>'[exceed]'; 踴>'[leap]'; 踵>'[heel]'; 蹂>'[trample under foot]'; 蹄>'[hoof]'; 蹇>'[lame]'; 蹈>'[stamp feet]'; 蹉>'[error]'; 蹊>'[footpath]'; 蹌>'[walk rapidly]'; è¹>'[take short steps]'; 蹕>'[clear way]'; è¹™>'[urgent]'; 蹟>'[trace]'; è¹ >'[step on]'; è¹£>'[to jump over]'; 蹤>'[footprints]'; è¹²>'[squat]'; è¹´>'[kick]'; è¹¶>'[stumble]'; è¹¼>'[webbed feet of waterfowl]'; èº>'[tense]'; 躄>'[cripple]'; 躅>'[walk carefully]'; 躇>'[hesitate]'; 躊>'[hesitate]'; 躋>'[ascend]'; èº>'[skip]'; 躑>'[waver]'; 躓>'[stumble]'; 躔>'[follow in]'; 躙>'[trample down]'; 躡>'[tread]'; 躪>'[trample down]'; 身>'[body]'; 躬>'[body]'; 躯>'[body]'; 躰>'[body]'; 躱>'[hide]'; #"躺>'[lie down]'", #"軄>'[to govern]'", 軆>'[body]'; #"軆>'[body]'", 車>'[cart]'; 軋>'[crush by weight]'; 軌>'[track]'; è»>'[army]'; è»’>'[carriage]'; è»›>'[yoke]'; 軟>'[soft]'; 転>'[shift]'; 軣>'[rumble]'; 軫>'[cross board at rear of carriage]'; 軸>'[axle]'; è»»>'[axle]'; 軼>'[rush forth]'; 軽>'[light]'; 軾>'[horizontal wooden bar in front of a sedan chair]'; 較>'[compare]'; è¼…>'[chariot]'; 載>'[load]'; 輊>'[low rear portion of cart]'; 輌>'[numerary adjunct for vehicles]'; è¼’>'[sides of chariot where weapons]'; 輓>'[mourn]'; è¼”>'[cheek bone]'; 輕>'[light]'; è¼™>'[sides of chariot were weapons]'; è¼›>'[numerary adjunct for vehicles]'; 輜>'[supply cart]'; è¼>'[brightness]'; 輟>'[stop]'; 輦>'[hand-cart]'; 輩>'[generation]'; 輪>'[wheel]'; 輯>'[gather up]'; è¼³>'[hubs of wheel]'; 輸>'[transport]'; è¼¹>'[two pieces of wood underneath ca]'; è¼»>'[spokes of wheel]'; è¼¾>'[turn over]'; 輿>'[cart]'; 轂>'[hub of wheel]'; 轄>'[linchpin of wheel]'; è½…>'[axle]'; 轆>'[windlass]'; 轉>'[shift]'; 轌>'[sled]'; è½>'[wagon ruts]'; 轎>'[sedan-chair]'; è½—>'[fail]'; 轜>'[hearse]'; 轟>'[rumble]'; 轡>'[bridle of horse]'; è½¢>'[run over something with vehicle]'; #"è½£>'[................................]'", 轤>'[pulley]'; è¾›>'[bitter]'; 辜>'[crime]'; 辞>'[words]'; 辟>'[law]'; è¾£>'[peppery]'; è¾§>'[manage]'; 辨>'[distinguish]'; è¾­>'[words]'; è¾®>'[braid]'; 辯>'[dispute]'; è¾°>'[early morning]'; è¾±>'[humiliate]'; è¾²>'[agriculture]'; è¾·>'[smooth]'; 辺>'[edge]'; è¾»>'[crossroads]'; è¾¼>'[crowd into]'; 辿>'[follow]'; è¿‚>'[doctrinaire]'; è¿„>'[extend]'; è¿…>'[quick]'; 迎>'[receive]'; è¿‘>'[near]'; è¿”>'[return]'; 迚>'[very]'; è¿¢>'[far]'; è¿¥>'[distant]'; 迦>'[character for transliteration]'; è¿©>'[be near]'; 迪>'[enlighten]'; è¿«>'[coerce]'; è¿­>'[repeatedly]'; 迯>'[escape]'; è¿°>'[narrate]'; è¿´>'[revolve]'; è¿·>'[bewitch]'; 迸>'[gush out]'; 迹>'[traces]'; 迺>'[then]'; 追>'[pursue]'; 退>'[step back]'; é€>'[see off]'; 逃>'[escape]'; 逅>'[meet unexpectedly]'; 逆>'[disobey]'; 逋>'[flee]'; é€>'[ramble]'; 逎>'[strong]'; é€>'[penetrate]'; é€>'[chase]'; 逑>'[collect]'; 逓>'[hand over]'; 途>'[way]'; 逕>'[pass by]'; 逖>'[far]'; 逗>'[tempt]'; 這>'[this]'; 通>'[pass through]'; é€>'[pass away]'; 逞>'[indulge oneself]'; 速>'[quick]'; 造>'[construct]'; 逡>'[retreat]'; 逢>'[come upon]'; 連>'[join]'; #"逦>'[meandering]'", 逮>'[seize]'; 週>'[week]'; 進>'[advance]'; 逵>'[thoroughfare]'; 逶>'[winding]'; 逸>'[flee]'; 逹>'[arrive at]'; 逼>'[compel]'; 逾>'[go over]'; é>'[hide]'; é‚>'[comply with]'; é…>'[late]'; é‡>'[meet]'; é‰>'[spy]'; éŠ>'[wander]'; é‹>'[luck]'; é>'[everywhere]'; éŽ>'[pass]'; é>'[stop]'; é>'[afar]'; é‘>'[leisure]'; é’>'[strong]'; é“>'[path]'; é”>'[arrive at]'; é•>'[disobey]'; #"é•>'[disobey]'", é˜>'[to meet]'; é™>'[far away]'; éœ>'[humble]'; éž>'[hand over]'; é >'[distant]'; é¡>'[go upstream]'; é£>'[send]'; é¥>'[far away]'; é¨>'[ramble]'; é©>'[match]'; é­>'[come across]'; é®>'[cover]'; é¯>'[deceive]'; é²>'[late]'; éµ>'[obey]'; é¶>'[entwine]'; é·>'[move]'; é¸>'[choose]'; éº>'[lose]'; é¼>'[distant]'; é½>'[suddenly]'; é¿>'[avoid]'; é‚€>'[invite]'; é‚>'[take a big stride]'; é‚‚>'[unexpected meeting]'; 邃>'[profound]'; é‚„>'[still]'; 邇>'[be near]'; 邉>'[edge]'; 邊>'[edge]'; é‚>'[patrol]'; é‚‘>'[area]'; é‚£>'[that]'; 邦>'[nation]'; 邨>'[village]'; 邪>'[wrong]'; 邯>'[city in hebei province]'; 邱>'[surname]'; 邵>'[surname]'; 邸>'[official residence]'; éƒ>'[sweet smelling]'; 郊>'[suburbs]'; 郎>'[gentleman]'; 郛>'[outer walls of city]'; 郡>'[administrative division]'; 郢>'[state in today''s hubei province]'; 郤>'[crack]'; 部>'[part]'; 郭>'[outer part (of a city)]'; 郵>'[postal]'; 郷>'[country]'; 都>'[metropolis]'; é„‚>'[hubei province]'; é„’>'[name of an ancient state]'; é„™>'[mean]'; é„­>'[state in today''s henan]'; é„°>'[neighbor]'; 鄲>'[county in hebei proincev]'; é…‰>'[tenth in series of twelve cyclic]'; é…Š>'[drunk]'; é…‹>'[chief of tribe]'; é…Œ>'[serve wine]'; é…>'[match]'; é…Ž>'[double-fermented wine]'; é…’>'[wine]'; é…”>'[intoxicated]'; é…–>'[wine with bird poison added]'; #"é…˜>'[................................]'", é…¢>'[toast one''s host with wine]'; é…£>'[enjoy intoxicants]'; é…¥>'[butter]'; é…©>'[drunk]'; é…ª>'[cream]'; é…¬>'[toast]'; é…²>'[hangover]'; #"é…²>'[hangover]'", é…µ>'[yeast]'; é…·>'[strong]'; é…¸>'[tart]'; #"é†>'[a kind of green-colored wine]'", 醇>'[rich]'; 醉>'[intoxicated]'; 醋>'[vinegar]'; é†>'[essential oil of butter]'; é†>'[purest cream]'; 醒>'[wake up]'; 醗>'[to brew for the second time]'; 醜>'[ugly looking]'; 醢>'[minced pickled meat]'; 醤>'[any jam-like or paste-like food]'; 醪>'[unclear wine]'; 醫>'[cure]'; 醯>'[vinegar]'; 醴>'[sweet wine]'; 醵>'[contribute for drinks]'; 醸>'[brew]'; 醺>'[get drunk]'; 釀>'[brew]'; é‡>'[smear with blood in sacrifice]'; 釆>'[distinguish]'; 采>'[collect]'; 釈>'[interprete]'; 釉>'[glaze]'; 釋>'[interprete]'; 里>'[unit of distance]'; é‡>'[heavy]'; 野>'[open country]'; é‡>'[measure]'; é‡>'[manage]'; 金>'[gold]'; 釖>'[knife]'; 釘>'[nail]'; #"釛>'[................................]'", 釜>'[cauldron]'; é‡>'[needle]'; #"釟>'[................................]'", 釡>'[cauldron]'; 釣>'[fish]'; 釦>'[button]'; 釧>'[bracelet]'; 釵>'[ornamental hairpin]'; #"釶>'[................................]'", 釼>'[sword]'; #"釿>'[................................]'", éˆ>'[blunt]'; 鈎>'[hook]'; 鈑>'[plate]'; 鈔>'[paper money]'; 鈕>'[button]'; 鈞>'[unit of measure equivalent thirt]'; 鈩>'[fireplace]'; 鈬>'[bell]'; 鈴>'[bell]'; 鈷>'[cobalt]'; 鈿>'[hairpin]'; 鉄>'[iron]'; 鉅>'[steel]'; 鉈>'[thallium]'; 鉉>'[device for carrying a tripod]'; 鉋>'[carpenter''s plane]'; #"é‰>'[................................]'", 鉗>'[pincers]'; 鉚>'[rivet]'; 鉛>'[lead plumbum]'; 鉞>'[broad-axe]'; 鉢>'[earthenware basin]'; 鉤>'[hook]'; 鉦>'[kind of gong used in ancient tim]'; 鉱>'[mine]'; 鉾>'[spear]'; 銀>'[silver]'; 銃>'[ancient weapon]'; 銅>'[copper]'; 銑>'[mill]'; 銓>'[weigh]'; 銕>'[iron]'; 銖>'[unit of weight]'; 銘>'[inscribe]'; 銚>'[large hoe]'; 銛>'[sharp]'; 銜>'[bit]'; 銭>'[money]'; 銷>'[melt]'; 銹>'[rust]'; é‹>'[tongs]'; é‹’>'[point of spear]'; 鋤>'[hoe]'; é‹©>'[point of sword]'; 鋪>'[spread out]'; é‹­>'[sharp]'; 鋲>'[rivet]'; 鋳>'[melt]'; 鋸>'[a saw]'; #"鋺>'[................................]'", 鋼>'[steel]'; 錆>'[the color of a mineral]'; éŒ>'[soft steel]'; éŒ>'[gimlet]'; 錘>'[balance weight on scale]'; 錙>'[8 oz]'; 錚>'[clanging sound]'; 錠>'[spindle]'; 錢>'[money]'; #"錣>'[................................]'", 錦>'[brocade]'; 錨>'[anchor]'; 錫>'[tin]'; 錬>'[smelt metals]'; 錮>'[run metal into cracks]'; 錯>'[error]'; 録>'[copy]'; #"錵>'[................................]'", #"錺>'[................................]'", #"錻>'[................................]'", #"é„>'[................................]'", é‹>'[cooking-pot]'; é>'[plate]'; é”>'[high]'; #"é–>'[................................]'", é›>'[forge metal]'; #"éœ>'[................................]'", é >'[weapon]'; é¬>'[shovel]'; é®>'[brass]'; éµ>'[door bolt]'; é¼>'[needle]'; é¾>'[cup]'; 鎌>'[sickle]'; 鎔>'[fuse]'; 鎖>'[lock]'; 鎗>'[rifle]'; 鎚>'[hammer]'; 鎧>'[armor]'; 鎬>'[stove]'; 鎭>'[town]'; 鎮>'[town]'; 鎰>'[measure of weight for gold]'; #"鎹>'[................................]'", éƒ>'[arrowhead]'; éˆ>'[chain]'; é>'[pure gold]'; é‘>'[dysprosium the barb of an arrow]'; é–>'[fight end]'; é—>'[strike]'; é˜>'[tinkle]'; é>'[trowel]'; é¡>'[mirror]'; é¤>'[carve]'; é¥>'[rust]'; é¨>'[engraving tool]'; éƒ>'[cymbals]'; é‡>'[vanadium]'; é>'[fetters]'; é“>'[ferrule]'; é”>'[dagger]'; é˜>'[clock]'; é™>'[lamp]'; éš>'[soft steel]'; é¡>'[iron]'; é«>'[engraving tool]'; éµ>'[iron]'; é¶>'[metal ring]'; é¸>'[bell]'; éº>'[frying pan]'; #"é‘>'[................................]'", é‘„>'[melt]'; é‘‘>'[mirror]'; é‘’>'[mirror]'; é‘“>'[spear]'; 鑚>'[drill]'; é‘›>'[mine]'; 鑞>'[solder]'; é‘ >'[melt]'; é‘¢>'[file]'; 鑪>'[fireplace]'; é‘°>'[key]'; 鑵>'[jar]'; é‘·>'[tweezers]'; 鑼>'[gong]'; 鑽>'[drill]'; 鑾>'[bells hung on horse]'; é‘¿>'[chisel]'; é’>'[a mattock]'; é•·>'[long]'; é–€>'[gate]'; é–‚>'[bolt]'; é–ƒ>'[flash]'; é–‡>'[shut]'; é–‰>'[shut]'; #"é–‰>'[shut]'", é–‹>'[open]'; é–>'[intercalary]'; é–‘>'[fence]'; é–“>'[interval]'; é–”>'[mourn]'; #"é–”>'[mourn]'", é–˜>'[sluice]'; é–™>'[quarrel]'; é– >'[intercalary]'; é–¢>'[frontier pass]'; é–£>'[chamber]'; é–¤>'[small side door]'; é–¥>'[powerful and influential group]'; é–§>'[boisterous]'; é–¨>'[small entrance]'; é–­>'[village of twenty-five families]'; é–²>'[examine]'; é–¹>'[castrate]'; é–»>'[village gate]'; é–¼>'[block]'; é–¾>'[threshold]'; é—ƒ>'[alone]'; é—‡>'[close]'; é—Š>'[broad]'; é—Œ>'[door screen]'; é—>'[tower over city gate]'; é—”>'[close]'; é—•>'[watch tower]'; é—–>'[rush in]'; é—˜>'[struggle]'; é—œ>'[frontier pass]'; é—¡>'[explain]'; é—¢>'[open]'; é—¥>'[door]'; 阜>'[mound]'; 阡>'[footpaths between fields]'; 阨>'[in distress]'; 阪>'[hillside farmland]'; 阮>'[ancient musical instrument: surname]'; 阯>'[foundation]'; 防>'[defend]'; 阻>'[impede]'; 阿>'[prefix to name]'; 陀>'[steep bank]'; 陂>'[dam]'; 附>'[adhere to]'; 陋>'[narrow]'; 陌>'[foot path between rice fields]'; é™>'[descend]'; #"é™>'[descend]'", é™>'[boundary]'; é™›>'[steps leading throne]'; 陜>'[narrow]'; é™>'[mountain pass]'; 陞>'[promote]'; 陟>'[climb]'; 院>'[courtyard]'; 陣>'[column]'; 除>'[eliminate]'; 陥>'[submerge]'; #"陥>'[submerge]'", 陪>'[accompany]'; 陬>'[corner]'; é™°>'[\"female\" principle]'; 陲>'[frontier]'; 陳>'[exhibit]'; 陵>'[hill]'; é™¶>'[pottery]'; é™·>'[submerge]'; 陸>'[land]'; 険>'[narrow pass]'; 陽>'[\"male\" principle]'; éš…>'[corner]'; 隆>'[prosperous]'; 隈>'[cove]'; 隊>'[team]'; éš‹>'[Sui dynasty]'; éš>'[dry ditch]'; 階>'[stairs]'; éš>'[follow]'; éš”>'[separate]'; éš•>'[fall]'; éš—>'[high]'; 隘>'[narrow]'; éš™>'[crack]'; éš›>'[border]'; éšœ>'[separate]'; #"éšœ>'[separate]'", 隣>'[neighbor]'; éš§>'[tunnel]'; 隨>'[follow]'; 險>'[narrow pass]'; éš°>'[low]'; éš±>'[hide]'; éš²>'[stallion]'; éš´>'[mountain located between shaanxi]'; éš¶>'[subservient]'; éš·>'[be subservient to]'; 隸>'[be subservient to]'; éš¹>'[bird]'; éš»>'[single]'; éš¼>'[aquiline (nose)]'; 雀>'[sparrow]'; é›>'[wild goose]'; 雄>'[male of species]'; é›…>'[elegant]'; 集>'[assemble]'; 雇>'[employ]'; 雉>'[pheasant]'; 雋>'[superior]'; 雌>'[female]'; é›>'[harmony]'; 雎>'[osprey]'; 雑>'[mixed]'; 雕>'[engrave]'; é›–>'[although]'; é›™>'[set of two]'; é››>'[chick]'; 雜>'[mixed]'; 離>'[leave]'; 難>'[difficult]'; 雨>'[rain]'; 雪>'[snow]'; #"雫>'[................................]'", é›°>'[atmosphere]'; 雲>'[clouds]'; é›¶>'[zero]'; é›·>'[thunder]'; 雹>'[hail]'; é›»>'[electricity]'; 需>'[need]'; 霄>'[sky]'; 霆>'[a sudden peal of thunder]'; 震>'[shake]'; 霈>'[torrential rains]'; 霊>'[spirit]'; éœ>'[quickly]'; 霎>'[light rain]'; éœ>'[falling of snow and rain]'; 霑>'[be moistened]'; 霓>'[rainbow]'; 霖>'[long spell of rain]'; 霙>'[sleet]'; 霜>'[frost]'; 霞>'[rosy clouds]'; 霤>'[drip]'; 霧>'[fog]'; 霪>'[long and heavy rain]'; 霰>'[hail]'; 露>'[dew]'; 霸>'[rule by might rather than right]'; 霹>'[thunder]'; 霽>'[clear up after rain cease be ang]'; 霾>'[misty]'; é‚>'[thunderclap]'; é„>'[cloudy sky]'; é†>'[cloudy sky]'; éˆ>'[spirit]'; é‰>'[cloudy sky]'; é’>'[blue]'; é–>'[pacify]'; é™>'[quiet]'; éœ>'[quiet]'; éž>'[not]'; é >'[lean on]'; é¡>'[divide]'; é¢>'[face]'; #"é¤>'[................................]'", é¦>'[timid]'; é¨>'[dimples]'; é©>'[leather]'; é«>'[strong and pliable]'; é­>'[strong and pliable]'; é±>'[strong and pliable]'; é´>'[boots]'; #"é¹>'[................................]'", éº>'[stocking]'; é¼>'[tartars]'; #"éž>'[................................]'", éž„>'[to work hides]'; éž…>'[leather strap over horse''s neck]'; #"éž…>'[leather strap over horse''s neck]'", éž‹>'[shoes]'; éž>'[saddle]'; éž>'[bind]'; #"éž>'[bind]'", 鞘>'[scabbard]'; #"éžœ>'[................................]'", éž >'[bow]'; 鞣>'[tan]'; 鞦>'[leather stap]'; 鞨>'[tribe]'; éž«>'[interrogate]'; éž­>'[whip]'; #"éž³>'[................................]'", éž´>'[saddle up horse]'; 韃>'[tatars]'; 韆>'[swing]'; 韈>'[socks]'; 韋>'[tanned leather]'; 韓>'[fence]'; 韜>'[sheath]'; 韭>'[scallion]'; 韮>'[scallion]'; 韲>'[break or smash into pieces]'; 音>'[sound]'; 韵>'[rhyme]'; 韶>'[music of emperor Shun]'; 韻>'[rhyme]'; 響>'[make sound]'; é >'[page]'; é ‚>'[top]'; é ƒ>'[moment]'; é …>'[neck]'; é †>'[obey]'; é ˆ>'[must]'; é Œ>'[laud]'; é >'[fly down or downward]'; é >'[prepare]'; é ‘>'[obstinate]'; é ’>'[confer]'; é “>'[pause]'; é —>'[lean one side]'; é ˜>'[neck]'; é š>'[neck]'; é ¡>'[fly upward]'; é ¤>'[cheeks]'; é ¬>'[cheeks]'; é ­>'[head]'; é ´>'[rice tassel]'; é ·>'[chin]'; é ¸>'[neck]'; é »>'[frequently]'; é ¼>'[rely]'; é ½>'[ruined]'; 顆>'[grain]'; é¡‹>'[lower part of face]'; 題>'[forehead]'; é¡>'[forehead]'; 顎>'[jaw]'; é¡>'[face]'; é¡”>'[face]'; é¡•>'[manifest]'; 願>'[desire]'; é¡›>'[top]'; 類>'[class]'; é¡§>'[look back]'; é¡«>'[shiver]'; 顯>'[manifest]'; é¡°>'[frown]'; 顱>'[skull]'; 顳>'[the temporal bone]'; é¡´>'[cheek bones]'; 風>'[wind]'; #"風>'[wind]'", 颯>'[sound of wind]'; 颱>'[taiphoon]'; 颶>'[cyclone]'; 飃>'[whirlwind]'; 飄>'[whirlwind]'; 飆>'[whirlwind]'; 飛>'[fly]'; 飜>'[flip over]'; 食>'[eat]'; 飢>'[hunger]'; 飩>'[stuffed dumplings]'; 飫>'[surfeited]'; 飭>'[order]'; 飮>'[drink]'; 飯>'[cooked rice]'; 飲>'[drink]'; 飴>'[sweet-meats]'; 飼>'[raise animals]'; 飽>'[eat heartily]'; 飾>'[decorate]'; 餃>'[stuffed dumplings]'; 餅>'[rice-cakes]'; 餉>'[rations and pay for soldiers]'; 養>'[raise]'; 餌>'[bait]'; é¤>'[eat]'; 餒>'[hungry]'; 餓>'[be hungry]'; 餔>'[eat]'; 餘>'[surplus]'; #"é¤>'[................................]'", 餞>'[farewell party]'; 餠>'[rice-cakes]'; 餡>'[pastry filling]'; 餤>'[incite]'; 館>'[public building]'; 餬>'[porridge]'; 餮>'[a legendary animal]'; 餽>'[make present of food]'; 餾>'[distill]'; #"é¥>'[carry meal to workers in field]'", 饅>'[steamed bread]'; 饉>'[time of famine or crop failure]'; 饋>'[offer food superior]'; 饌>'[feed]'; é¥>'[spoiled]'; 饑>'[starve]'; 饒>'[bountiful]'; 饕>'[gluttonous]'; 饗>'[host banquet]'; 首>'[head]'; 馗>'[cheekbone]'; 馘>'[cut off left ear]'; 香>'[fragrant]'; 馥>'[fragrance]'; 馨>'[fragrant]'; 馬>'[horse]'; 馭>'[drive]'; 馮>'[surname]'; 馳>'[go quickly or swiftly]'; 馴>'[tame]'; #"馼>'[................................]'", é§>'[varicolored]'; #"駃>'[gallop]'", é§…>'[relay station]'; 駆>'[spur horse on]'; 駈>'[spur horse on]'; é§>'[to be stationed at]'; é§‘>'[tired]'; é§’>'[colt]'; é§•>'[drive]'; 駘>'[tired]'; é§›>'[sail]'; é§>'[camel]'; é§Ÿ>'[team of four horses]'; é§¢>'[team of horses]'; é§­>'[terrify]'; é§®>'[a kind of fierce animal]'; é§±>'[white horse w. black mane]'; #"é§±>'[white horse w. black mane]'", 駸>'[galloping]'; #"é§»>'[................................]'", é§¿>'[excellent horse]'; é¨>'[gallop horse]'; 騅>'[piebald horse]'; 騎>'[ride horseback]'; é¨>'[piebald horse]'; 騒>'[harass]'; 験>'[test]'; 騙>'[swindle]'; 騨>'[dappled]'; 騫>'[raise]'; 騰>'[fly]'; 騷>'[harass]'; 騾>'[mule]'; é©€>'[suddenly]'; é©‚>'[two outside ones in three horse]'; 驃>'[charger]'; é©…>'[spur horse on]'; é©>'[excellent horse]'; é©•>'[spirited horse]'; é©—>'[test]'; 驚>'[frighten]'; é©›>'[relay station]'; 驟>'[procedure]'; é©¢>'[donkey]'; 驤>'[gallop about with head uplifted]'; é©¥>'[thoroughbred horse]'; é©©>'[happy]'; 驪>'[pure black horse]'; é©«>'[horses]'; 骨>'[bone]'; 骭>'[shin bone]'; 骰>'[die]'; 骸>'[skelton]'; 骼>'[bone]'; é«€>'[buttocks]'; é«„>'[bone marrow]'; é«>'[skull]'; é«‘>'[skull]'; é«“>'[bone marrow]'; é«”>'[body]'; 高>'[high]'; 髞>'[high]'; 髟>'[hair]'; é«¢>'[wig]'; é«£>'[similar to]'; 髦>'[flowing hair of young child]'; 髪>'[hair]'; é««>'[children''s hair style]'; é«­>'[mustache]'; é«®>'[hair]'; 髯>'[beard]'; #"髱>'[................................]'", é«´>'[disheveled hair]'; #"é«·>'[................................]'", é«»>'[hair rolled up in a bun]'; 鬆>'[lax]'; 鬘>'[beautiful hair]'; 鬚>'[beard]'; 鬟>'[dress hair in coiled knot]'; 鬢>'[hair on temples]'; 鬣>'[horse''s mane]'; 鬥>'[struggle]'; 鬧>'[quarrel]'; 鬨>'[boisterous]'; 鬩>'[feud]'; 鬪>'[struggle]'; 鬮>'[lots (to be drawn)]'; 鬯>'[sacrificial wine]'; 鬱>'[luxuriant]'; 鬲>'[type of caldron]'; 鬻>'[sell]'; 鬼>'[ghost]'; é­>'[chief]'; é­‚>'[soul]'; é­ƒ>'[drought demon]'; é­„>'[vigor]'; é­…>'[kind of forest demon]'; é­>'[demons]'; é­Ž>'[a kind of monster]'; é­>'[kingdom of wei]'; é­‘>'[a montain demon resembling tiger]'; é­”>'[demon]'; é­˜>'[nightmare]'; é­š>'[fish]'; é­¯>'[foolish]'; é­´>'[bream]'; #"é®>'[the bonito]'", 鮎>'[sheatfish]'; 鮑>'[abalone]'; é®’>'[carp]'; 鮓>'[minced and salted fish]'; #"鮓>'[minced and salted fish]'", #"鮓>'[minced and salted fish]'", 鮟>'[anglerfish]'; é® >'[a kind of shad with a head like a sturgeon]'; #"鮨>'[................................]'", 鮪>'[kind of sturgeon]'; 鮫>'[shark]'; é®­>'[salmon]'; é®®>'[fresh]'; #"é®´>'[................................]'", #"鮹>'[................................]'", 鯀>'[giant fish]'; 鯆>'[the skate or ray]'; 鯉>'[carp]'; 鯊>'[shark]'; é¯>'[a dialect........ name of fish]'; #"鯑>'[................................]'", #"鯒>'[................................]'", 鯔>'[mullet]'; 鯖>'[mackerel]'; 鯛>'[pagrosomus major]'; 鯡>'[herring]'; 鯢>'[cryptobranchus japonicus]'; #"鯣>'[................................]'", 鯤>'[spawn]'; 鯨>'[whale]'; 鯰>'[sheat]'; #"鯱>'[................................]'", #"鯱>'[................................]'", #"鯱>'[................................]'", #"é°„>'[................................]'", #"é°†>'[................................]'", é°ˆ>'[flatfish]'; é°‰>'[sturgeon]'; #"é°Š>'[................................]'", é°Œ>'[loach]'; é°>'[loach]'; é°>'[alligator]'; é°’>'[abalone]'; é°“>'[fish gills]'; #"é°”>'[................................]'", é°•>'[shrimp]'; é°›>'[sardine]'; #"é°¡>'[................................]'", #"é°¤>'[................................]'", é°¥>'[huge fish]'; é°­>'[fin]'; é°®>'[sardine]'; #"é°¯>'[................................]'", #"é°¯>'[................................]'", é°²>'[huge sea turtle]'; é°¹>'[skipjack]'; #"é°º>'[................................]'", é°»>'[eel]'; é°¾>'[swimming bladder of fish]'; #"鱆>'[................................]'", 鱇>'[anglerfish]'; 鱈>'[codfish]'; é±’>'[barbel]'; é±—>'[fish scales]'; #"鱘>'[sturgeon]'", é± >'[minced fish]'; é±§>'[snakehead]'; #"é±¶>'[................................]'", 鱸>'[sea perch]'; é³¥>'[bird]'; é³§>'[wild duck]'; 鳩>'[pigeon]'; 鳫>'[wild goose]'; 鳬>'[wild duck]'; #"é³°>'[................................]'", é³³>'[male phoenix]'; é³´>'[cry of bird or animal]'; é³¶>'[kite]'; é´ƒ>'[shrike]'; é´†>'[bird resembling secretary falcon]'; é´‡>'[bustard]'; é´ˆ>'[wild goose]'; é´‰>'[crow]'; é´Ž>'[seagull]'; é´’>'[species of lark]'; é´•>'[ostrich]'; é´›>'[male mandarin duck]'; é´Ÿ>'[kite]'; é´£>'[species of taiwan pigeon]'; é´¦>'[female mandarin duck]'; é´¨>'[duck]'; é´ª>'[swoop]'; é´«>'[a snipe]'; é´¬>'[oriole]'; é´»>'[species of wild swan]'; #"é´¾>'[................................]'", é´¿>'[pigeon]'; #"éµ>'[................................]'", 鵄>'[kite]'; #"鵄>'[kite]'", #"鵄>'[kite]'", #"éµ>'[................................]'", 鵑>'[cuckoo]'; éµ™>'[a shrike]'; 鵜>'[pelican]'; éµ>'[goose]'; 鵞>'[goose]'; éµ >'[target]'; 鵡>'[species of parrot]'; #"鵡>'[species of parrot]'", 鵬>'[fabulous bird of enormous size]'; 鵯>'[bird]'; éµ²>'[magpie]'; #"鵺>'[................................]'", 鶇>'[thrush]'; 鶉>'[quail]'; é¶>'[chicken]'; é¶š>'[osprey]'; #"鶤>'[................................]'", é¶©>'[duck]'; é¶«>'[thrush]'; 鶯>'[oriole]'; #"é¶±>'[soar]'", é¶´>'[crane]'; 鶸>'[[not found in any dictionary]]'; 鶺>'[wagtail]'; é¶»>'[a kind of pigeon]'; é·>'[fishhawk bow or prow]'; é·‚>'[sparrow hawk]'; é·„>'[chicken]'; é·†>'[bird name]'; é·>'[bird name]'; é·“>'[partridge]'; é·™>'[hawk]'; é·¦>'[wren]'; #"é·«>'[turquoise kingfisher]'", é·¯>'[wren]'; é·²>'[condor]'; é·¸>'[snipe]'; é·¹>'[eagle]'; é·º>'[heron]'; é·½>'[oriental bullfinch]'; 鸚>'[species of parrot]'; 鸛>'[crane]'; 鸞>'[fabulous bird]'; é¹µ>'[saline soil]'; 鹸>'[alkaline]'; é¹¹>'[salty]'; é¹½>'[salt]'; 鹿>'[deer]'; éº>'[rough]'; 麈>'[species of deer]'; 麋>'[elk]'; 麌>'[stag]'; 麑>'[fawn]'; 麒>'[legendary auspicious animal]'; 麓>'[foot of hill]'; 麕>'[muntjac deer]'; 麗>'[beautiful]'; éº>'[musk deer]'; 麟>'[female of chinese unicorn]'; 麥>'[wheat]'; 麦>'[wheat]'; 麩>'[bran]'; 麪>'[flour]'; #"麫>'[flour]'", 麸>'[bran]'; 麹>'[yeast]'; 麺>'[flour]'; 麻>'[hemp]'; 麼>'[interrogative final particle]'; 麾>'[pennant]'; 麿>'[I]'; 黄>'[yellow]'; 黌>'[school]'; é»>'[glutinous millet]'; 黎>'[surname]'; é»>'[stick to]'; é»>'[stick]'; é»’>'[black]'; é»”>'[black]'; 默>'[silent]'; é»™>'[silent]'; é»›>'[blacken eyebrows]'; 黜>'[dismiss]'; é»>'[black]'; 點>'[dot]'; é» >'[sly]'; 黥>'[tattooing face]'; 黨>'[political party]'; 黯>'[dark]'; é»´>'[mold]'; é»¶>'[mole]'; é»·>'[dishonor]'; 黹>'[embroidery]'; é»»>'[special pattern of embroidery]'; 黼>'[embroidered official or sacrific]'; 黽>'[to strive]'; 鼇>'[huge sea turtle]'; 鼈>'[fresh water turtle]'; 鼎>'[large]'; 鼓>'[drum]'; 鼕>'[rattle of drums]'; é¼ >'[rat]'; 鼡>'[rat]'; 鼬>'[weasel]'; é¼»>'[nose]'; é¼¾>'[snore loudly]'; 齊>'[even]'; 齋>'[vegetarian diet]'; 齎>'[take in both hands and offer to]'; é½>'[break or smash into pieces]'; é½’>'[teeth]'; é½”>'[lose baby teeth and get adult te]'; 齟>'[irregular teeth]'; é½ >'[lose baby teeth and get adult teeth]'; 齡>'[age]'; é½¢>'[age]'; é½£>'[act]'; 齦>'[gums]'; é½§>'[bite]'; 齪>'[narrow]'; 齬>'[uneven teeth]'; é½²>'[tooth decay]'; é½¶>'[palate]'; é½·>'[narrow]'; é¾>'[dragon]'; 龕>'[niche]'; 龜>'[turtle or tortoise]'; é¾>'[autumn]'; é¾ >'[flute]'; # eof Transliterator_Kanji_OnRomaji.txt000066400000000000000000001570661172643025600332170ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/resources#-------------------------------------------------------------------- # Copyright (c) 1999-2001, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- # Date: Tue Jan 23 12:42:03 2001 #-------------------------------------------------------------------- # Kanji-OnRomaji ä¸>Tei; 七>Shichi; 万>Man; 丈>Jou; 三>San; 上>Jou; 下>Ka; ä¸>Fu; 与>Yo; ä¸>Kai; 丑>Chuu; 且>Sha; 丕>Hi; 世>Se; 丗>Sei; 丘>Kyuu; 丙>Hei; 丞>Shou; 両>Ryou; 並>Hei; 个>Ka; 中>Chuu; 丱>Kan; 串>Sen; 丶>Chu; 丸>Gan; 丹>Tan; 主>Shu; 丼>Sei; 丿>Hetsu; 乂>Gai; 乃>Dai; ä¹…>Kyuu; 之>Shi; ä¹>Saku; 乎>Ko; ä¹>Bou; 乕>Ko; ä¹–>Kai; ä¹—>Jou; 乘>Jou; ä¹™>Otsu; ä¹>Kyuu; 乞>Kotsu; 也>Ya; ä¹¢>Gai; ä¹±>Ran; ä¹³>Nyuu; ä¹¾>Kan; 亀>Ki; 亂>Ran; 亅>Ketsu; 了>Ryou; 予>Yo; 争>Sou; 亊>Ji; 事>Ji; 二>Ni; 于>U; 云>Un; 互>Go; 五>Go; 井>Sei; 亘>Sen; 亙>Kou; 些>Sa; 亜>A; 亞>A; 亟>Kyoku; 亠>Tou; 亡>Bou; 亢>Kou; 交>Kou; 亥>Gai; 亦>Eki; 亨>Kyou; 享>Kyou; 京>Kyou; 亭>Tei; 亮>Ryou; 亰>Kei; 亳>Haku; 亶>Tan; 人>Jin; 什>Shuu; ä»>Jin; 仂>Roku; 仄>Soku; 仆>Fu; 仇>Kyuu; 今>Kon; 介>Kai; ä»>Jou; 从>Juu; ä»>Butsu; ä»”>Shi; 仕>Shi; ä»–>Ta; ä»—>Jou; 付>Fu; ä»™>Sen; ä»>Dou; 仞>Jin; 仟>Sen; 代>Dai; 令>Rei; 以>I; ä»­>Jin; ä»®>Ka; ä»°>Gyou; 仲>Chuu; ä»¶>Ken; ä»·>Kai; ä»»>Nin; ä¼>Ki; 伉>Kou; 伊>I; ä¼>Go; 伎>Ki; ä¼>Fuku; ä¼>Batsu; 休>Kyuu; 会>Kai; 伜>Sai; ä¼>Den; 伯>Haku; ä¼°>Ko; ä¼´>Han; ä¼¶>Rei; 伸>Shin; 伺>Shi; ä¼¼>Ji; ä¼½>Kya; 佃>Ten; 但>Tan; 佇>Cho; ä½>I; 低>Tei; ä½>Juu; ä½>Sa; 佑>Yuu; 体>Tei; 何>Ka; ä½—>Ta; ä½™>Yo; 佚>Itsu; ä½›>Butsu; 作>Saku; ä½>Kou; 佞>Nei; 佩>Hai; 佯>You; ä½°>Haku; ä½³>Ka; ä½µ>Hei; ä½¶>Kitsu; ä½»>Chou; ä½¼>Kou; 使>Shi; 侃>Kan; 來>Rai; 侈>Shi; 例>Rei; ä¾>Ji; ä¾>Shu; 侑>Yuu; ä¾–>Ron; 侘>Ta; ä¾›>Kyou; ä¾>I; ä¾ >Kyou; 価>Ka; 侫>Nei; ä¾­>Jin; ä¾®>Bu; 侯>Kou; ä¾µ>Shin; ä¾¶>Ryo; 便>Ben; ä¿‚>Kei; 促>Soku; ä¿„>Ga; 俊>Shun; 俎>Sho; ä¿>Ri; ä¿‘>You; ä¿”>Ken; ä¿—>Zoku; 俘>Fu; 俚>Ri; ä¿›>Ben; ä¿>Ho; 俟>Shi; ä¿¡>Shin; ä¿®>Shuu; 俯>Fu; 俳>Hai; 俵>Hyou; ä¿¶>Shuku; 俸>Hou; 俺>En; 俾>Hi; 倅>Sai; 倆>Ryou; 倉>Sou; 個>Ko; å€>Bai; å€>Shuku; 們>Mon; 倒>Tou; 倔>Kutsu; 倖>Kou; 候>Kou; 倚>I; 借>Shaku; 倡>Shou; 倣>Hou; 値>Chi; 倥>Kou; 倦>Ken; 倨>Kyo; 倩>Sen; 倪>Gei; 倫>Rin; 倬>Taku; 倭>I; 倶>Ku; 倹>Ken; åƒ>En; å‡>Ka; åˆ>Ketsu; å‰>I; å>Hen; å>Gan; å•>Kai; å–>Sha; åš>Saku; åœ>Tei; å¥>Ken; å¬>Sou; å²>Shi; å´>Soku; åµ>Tei; å¶>Guu; å¸>Chuu; å½>Gi; å‚€>Kai; å‚…>Fu; å‚>Bou; å‚‘>Ketsu; 傘>San; å‚™>Bi; 傚>Kou; 催>Sai; å‚­>You; 傲>Gou; 傳>Den; å‚´>U; 債>Sai; å‚·>Shou; 傾>Kei; 僂>Rou; 僅>Kin; 僉>Sen; 僊>Sen; åƒ>Dou; åƒ>Zou; 僑>Kyou; 僕>Boku; 僖>Ki; 僚>Ryou; 僞>Gi; 僣>Sen; 僥>Kyou; 僧>Sou; 僭>Sen; 僮>Dou; 僵>Kyou; 價>Ka; 僻>Heki; å„€>Gi; å„>Shun; å„‚>Dou; å„„>Oku; 儉>Ken; å„’>Ju; å„”>Chuu; å„•>Sei; å„–>Ran; 儘>Jin; 儚>Bou; 償>Shou; å„¡>Rai; 優>Yuu; 儲>Cho; å„·>Rei; 儺>Da; å„»>Tou; 儼>Gen; å„¿>Jin; å…€>Kotsu; å…>In; å…ƒ>Gen; å…„>Kei; å……>Juu; å…†>Chou; å…‡>Kyou; å…ˆ>Sen; å…‰>Kou; å…‹>Koku; å…Œ>Da; å…>Men; å…Ž>To; å…>Ji; å…’>Ji; å…”>To; å…š>Tou; å…œ>Tou; å…¢>Kyou; å…¥>Nyuu; å…¨>Zen; å…©>Ryou; å…ª>Yu; å…«>Hachi; å…¬>Kou; å…­>Roku; å…®>Kei; å…±>Kyou; å…µ>Hei; å…¶>Ki; å…·>Gu; å…¸>Ten; å…¼>Ken; 冀>Ki; 冂>Kei; 内>Dai; 円>En; 冉>Nen; 冊>Satsu; 册>Satsu; å†>Sai; å†>Kei; å†>Bou; 冑>Chuu; 冒>Bou; 冓>Kou; 冕>Ben; 冖>Beki; 冗>Jou; 写>Sha; 冠>Kan; 冢>Chou; 冤>En; 冥>Mei; 冦>Kou; 冨>Fu; 冩>Sha; 冪>Beki; 冫>Hyou; 冬>Tou; 冰>Hyou; 冱>Go; 冲>Chuu; 决>Ketsu; 冴>Go; 况>Kyou; 冶>Ya; 冷>Rei; 冽>Retsu; 凄>Sei; 凅>Ko; 准>Jun; 凉>Ryou; 凋>Chou; 凌>Ryou; å‡>Tou; 凖>Jun; 凛>Rin; 凜>Rin; å‡>Gyou; 几>Ki; 凡>Bon; 処>Sho; 凭>Hyou; 凰>Kou; 凱>Gai; 凵>Kan; 凶>Kyou; 凸>Totsu; 凹>Ou; 出>Shutsu; 函>Kan; 凾>Kan; 刀>Tou; 刃>Jin; 刄>Jin; 分>Bun; 切>Setsu; 刈>Gai; 刊>Kan; 刋>Sen; 刎>Fun; 刑>Kei; 刔>Ketsu; 列>Retsu; åˆ>Sho; 判>Han; 別>Betsu; 刧>Gou; 利>Ri; 刪>San; 刮>Katsu; 到>Tou; 刳>Ko; 制>Sei; 刷>Satsu; 券>Ken; 刹>Satsu; 刺>Shi; 刻>Koku; 剃>Tei; 剄>Kei; 則>Soku; 削>Saku; 剋>Koku; 剌>Ratsu; å‰>Zen; å‰>Sou; 剔>Teki; 剖>Bou; 剛>Gou; 剞>Ki; 剣>Ken; 剤>Zai; 剥>Haku; 剩>Jou; 剪>Sen; 副>Fuku; 剰>Jou; 剱>Ken; 割>Katsu; 剳>Tou; 剴>Gai; 創>Sou; 剽>Hyou; 剿>Shou; 劃>Kaku; 劇>Geki; 劈>Heki; 劉>Ru; åŠ>Ken; 劑>Zai; 劒>Ken; 劔>Ken; 力>Ryoku; 功>Kou; 加>Ka; 劣>Retsu; 助>Jo; 努>Do; 劫>Gou; 劬>Ku; 劭>Shou; 励>Rei; 労>Rou; 劵>Ken; 効>Kou; 劼>Katsu; 劾>Gai; å‹>Kei; 勃>Botsu; å‹…>Choku; 勇>Yuu; 勉>Ben; å‹>Kei; å‹’>Roku; å‹•>Dou; å‹—>Bou; 勘>Kan; å‹™>Mu; å‹>Shou; 勞>Rou; 募>Bo; å‹ >Riku; å‹¢>Sei; å‹£>Seki; 勤>Kin; 勦>Sou; å‹§>Kan; 勲>Kun; 勳>Kun; 勵>Rei; 勸>Kan; 勹>Hou; 勺>Shaku; 勾>Kou; å‹¿>Butsu; 包>Hou; 匆>Sou; 匈>Kyou; åŒ>Ho; åŒ>Hou; åŒ>Hoku; 匕>Hi; 化>Ka; 北>Hoku; 匙>Shi; 匚>Hou; åŒ>Sou; 匠>Shou; 匡>Kyou; 匣>Kou; 匪>Hi; 匯>Wai; 匱>Ki; 匳>Ren; 匸>Kei; 匹>Hitsu; 区>Ku; 医>I; 匿>Toku; å€>Ku; å>Juu; åƒ>Sen; å…>Sou; å†>Sotsu; å‡>Shou; åˆ>Go; å‰>Ki; åŠ>Han; å>Ban; å‘>Hi; å’>Sotsu; å“>Taku; å”>Kyou; å—>Nan; å˜>Tan; åš>Haku; åœ>Boku; åž>Hen; å >Sen; å¦>Ka; å©>Setsu; å®>Shi; å¯>Bou; å°>In; å±>Ki; å³>Soku; å´>Kyaku; åµ>Ran; å·>Kan; å¸>Sha; å»>Kyaku; å¿>Kyou; 厂>Kan; 厄>Yaku; 厖>Bou; 厘>Rin; 厚>Kou; 原>Gen; 厠>Shi; 厥>Ketsu; 厦>Ka; 厨>Zu; 厩>Kyuu; 厭>En; 厮>Shi; 厰>Shou; 厳>Gen; 厶>Shi; 去>Kyo; å‚>San; åƒ>San; åˆ>Yuu; å‰>Sha; åŠ>Kyuu; å‹>Yuu; åŒ>Sou; å>Han; åŽ>Shuu; å”>Shuku; å–>Shu; å—>Ju; å™>Jo; å›>Han; åŸ>Sou; å¡>Ei; å¢>Sou; å£>Kou; å¤>Ko; å¥>Ku; å¨>Tou; å©>Kou; åª>Shi; å«>Kyou; å¬>Shou; å­>Hatsu; å®>Tei; å¯>Ka; å°>Dai; å±>Shitsu; å²>Shi; å³>U; å¶>Kyou; å·>Gou; å¸>Shi; å>Ku; åƒ>Kitsu; å„>Kaku; åˆ>Gou; å‰>Kichi; åŠ>Chou; å‹>Sun; åŒ>Dou; å>Mei; åŽ>Kou; å>Ri; å>To; å‘>Kou; å›>Kun; å>Rin; åŸ>Gin; å >Hai; å¦>Hi; å©>Fun; å«>Gan; å¬>Kin; å­>Kou; å®>Sen; å¶>Totsu; å¸>Kyuu; å¹>Sui; å»>Fun; å¼>Kou; å½>In; å¾>Go; å‘€>Ga; å‘‚>Ryo; 呆>Bou; 呈>Tei; 呉>Go; 告>Koku; 呎>Seki; å‘‘>Don; 呟>Gen; 周>Shuu; 呪>Ju; å‘°>Shi; 呱>Ko; 味>Mi; 呵>Ka; å‘¶>Do; å‘·>Kou; å‘»>Shin; 呼>Ko; 命>Mei; å’€>So; å’„>Totsu; å’†>Hou; å’‹>Saku; å’Œ>Wa; å’Ž>Kyuu; å’>Ei; å’>Ho; å’’>Shu; å’¢>Gaku; å’¤>Ta; å’¥>Ki; å’¨>Shi; å’«>Shi; å’¬>Kou; å’¯>Kaku; å’²>Shou; å’³>Gai; å’¸>Kan; å’¼>Ka; å’½>In; å’¾>Rou; å“€>Ai; å“>Hin; å“‚>Shin; å“„>Kou; 哇>Ai; 哈>Gou; 哉>Sai; å“¡>In; å“¢>Rou; å“¥>Ka; 哦>Ga; 哨>Shou; å“©>Ri; å“­>Koku; å“®>Kou; 哲>Tetsu; 哺>Ho; 哽>Kou; 唄>Bai; 唆>Sa; 唇>Shin; å”>Ki; å”>Tou; å””>Go; å”–>A; å”®>Shuu; 唯>Yui; å”±>Shou; 唳>Rei; 唸>Ten; 唹>Yo; 唾>Da; å•€>Gai; å•„>Taku; å•…>Taku; 商>Shou; 啌>Kou; å•>Mon; å•“>Kei; å•–>Tan; å•—>Tan; 啜>Setsu; å•>Ka; å•£>Kan; å•»>Shi; 啼>Tei; 啾>Shuu; å–€>Kaku; å–ƒ>Nan; å–„>Zen; å–‡>Ratsu; å–‰>Kou; å–Š>Kan; å–‹>Chou; å–˜>Zen; å–™>Kai; å–š>Kan; å–œ>Ki; å–>Katsu; å–ž>Soku; å–Ÿ>Ki; å–§>Ken; å–¨>Ryou; å–©>Yu; å–ª>Sou; å–«>Kitsu; å–¬>Kyou; å–®>Tan; å–¶>Ei; å—„>Sa; å—…>Kyuu; å—‡>Shoku; å—”>Shin; å—š>O; å—œ>Shi; å—Ÿ>Sa; å—£>Shi; å—¤>Shi; å—·>Gou; å—¹>Ren; å—½>Soku; å—¾>Sou; 嘆>Tan; 嘉>Ka; 嘔>Ou; 嘖>Saku; 嘗>Shou; 嘘>Kyo; 嘛>Ma; 嘩>Ka; 嘯>Shou; 嘱>Shoku; 嘲>Tou; 嘴>Shi; 嘶>Sei; 嘸>Bu; 噂>Son; 噌>Sou; 噎>Itsu; å™>Ki; å™›>Gou; 噤>Kin; 器>Ki; 噪>Sou; 噫>I; 噬>Zei; å™´>Fun; 噸>Ton; 嚀>Dei; 嚆>Kou; 嚇>Kaku; 嚊>Hi; åš>Tei; åš”>Tei; åš >Ryuu; 嚢>Nou; 嚥>En; åš®>Kou; åš´>Gen; åš¶>Ou; åš¼>Shaku; 囀>Ten; å›>Shou; 囂>Gou; 囃>Sou; 囈>Gei; 囎>So; 囑>Shoku; 囓>Ketsu; å›—>I; 囘>Kai; 囚>Shuu; å››>Shi; 回>Kai; å› >In; 団>Dan; å›®>Ka; å›°>Kon; 囲>I; 図>To; 囹>Rei; 固>Ko; 国>Koku; 囿>Yuu; 圀>Koku; 圃>Ho; 圄>Gyo; 圈>Ken; 圉>Gyo; 國>Koku; åœ>I; åœ>Ken; 園>En; 圓>En; 圖>To; 團>Dan; 圜>Kan; 土>Do; 圧>Atsu; 在>Zai; 圭>Kei; 地>Chi; 圻>Ki; å€>Shi; å‚>Han; å‡>Kin; åŠ>Bou; åŽ>Kan; å>Hai; å>Za; å‘>Kou; å¡>Ha; å¤>Kon; å¦>Tan; å©>Kan; åª>Hei; å¿>Fu; åž‚>Sui; 垈>Tai; 垉>Hou; åž‹>Kei; åž“>Gai; åž >Gin; 垢>Kou; 垣>En; 垤>Tetsu; 埀>Sui; 埃>Ai; 埆>Kaku; 埋>Mai; 城>Jou; 埒>Rachi; 埓>Rachi; 埔>Ho; 埜>Sho; 域>Iki; 埠>Fu; 埣>Sai; 埴>Shoku; 執>Shitsu; 培>Bai; 基>Ki; 埼>Ki; å €>Kutsu; å ‚>Dou; å …>Ken; å †>Tai; å Š>A; å ‹>Hou; å •>Da; å ™>In; å >Ka; å ¡>Hou; å ¤>Tei; å ª>Kan; å ¯>Gyou; å °>En; å ±>Hou; å ´>Jou; å µ>To; å º>Kai; å ½>Kou; å¡>Rui; 塊>Kai; å¡‹>Ei; å¡‘>So; å¡’>Shi; å¡”>Tou; å¡—>To; 塘>Tou; å¡™>Kaku; 塚>Chou; 塞>Soku; å¡¢>O; å¡©>En; å¡«>Ten; 塲>Jou; 塵>Jin; 塹>Zan; 塾>Juku; 境>Kyou; 墅>Sho; 墓>Bo; 増>Zou; 墜>Tsui; 墟>Kyo; 墨>Boku; 墫>Shun; 墮>Da; 墳>Fun; 墸>Sho; 墺>Ou; 墻>Shou; 墾>Kon; å£>Heki; 壅>You; 壇>Dan; 壊>Kai; 壌>Jou; 壑>Gaku; 壓>Atsu; 壕>Gou; 壘>Rui; 壙>Kou; 壜>Tan; 壞>Kai; 壟>Ryou; 壤>Jou; 壥>Ten; 士>Shi; 壬>Jin; 壮>Sou; 壯>Sou; 声>Sei; 壱>Ichi; 売>Bai; 壷>Ko; 壹>Ichi; 壺>Ko; 壻>Sei; 壼>Kon; 壽>Ju; 夂>Chi; 変>Hen; 夊>Sui; å¤>Ka; å¤>Kei; 夕>Seki; 外>Gai; 夘>Bou; 夙>Shuku; 多>Ta; 夛>Ta; 夜>Ya; 夢>Mu; 夥>Ka; 大>Tai; 天>Ten; 太>Ta; 夫>Fu; 夬>Ketsu; 夭>You; 央>Ou; 失>Shitsu; 夲>Tou; 夷>I; 夸>Ko; 夾>Kou; 奄>En; 奇>Ki; 奈>Na; 奉>Hou; 奎>Kei; å¥>Sou; å¥>Kan; 契>Setsu; 奔>Hon; 奕>Eki; 套>Tou; 奘>Jou; 奚>Kei; 奠>Ten; 奢>Sha; 奥>Ou; 奧>Ou; 奨>Shou; 奩>Ren; 奪>Datsu; 奬>Shou; 奮>Fun; 女>Jo; 奴>Do; 奸>Kan; 好>Kou; å¦>Shaku; 如>Jo; 妃>Hi; 妄>Bou; 妊>Nin; å¦>Ken; 妓>Ki; 妖>You; 妙>Myou; 妛>Shi; å¦>Sou; 妣>Hi; 妥>Da; 妨>Bou; 妬>To; 妲>Datsu; 妹>Mai; 妻>Sai; 妾>Shou; 姆>Bo; 姉>Shi; å§‹>Shi; å§>So; å§‘>Ko; å§“>Sei; å§”>I; å§™>Nin; å§š>You; å§œ>Kyou; å§¥>Bo; 姦>Kan; 姨>I; 姪>Tetsu; å§«>Ki; å§¶>Ou; å§»>In; å§¿>Shi; å¨>I; 娃>A; 娉>Hei; 娑>Sha; 娘>Jou; 娚>Nan; 娜>Da; 娟>Ken; 娠>Shin; 娥>Ga; 娩>Ben; 娯>Go; 娵>Shu; 娶>Shu; 娼>Shou; å©€>A; å©>Rou; 婆>Ba; 婉>En; 婚>Kon; å©¢>Hi; 婦>Fu; 婪>Ran; 婬>In; å©¿>Sei; 媒>Bai; 媚>Bi; 媛>En; 媼>Ou; 媽>Bo; 媾>Kou; å«>Ka; å«‚>Sou; 嫉>Shitsu; å«‹>Jou; 嫌>Ken; å«>Jou; å«–>Hyou; å«—>Ou; å«¡>Chaku; å«£>En; 嫦>Kou; å«©>Don; 嫺>Kan; å«»>Kan; 嬉>Ki; 嬋>Sen; 嬌>Kyou; 嬖>Hei; 嬢>Jou; 嬪>Hin; 嬬>Shu; 嬰>Ei; 嬲>Jou; 嬾>Ran; å­€>Sou; å­ƒ>Jou; å­…>Sen; å­>Shi; å­‘>Getsu; å­”>Kou; å­•>You; å­—>Ji; å­˜>Son; å­š>Fu; å­›>Botsu; å­œ>Shi; å­>Kou; å­Ÿ>Mou; å­£>Ki; å­¤>Ko; å­¥>Do; å­¦>Gaku; å­©>Kai; å­«>Son; å­°>Juku; å­±>Sen; å­³>Shi; å­µ>Fu; å­¸>Gaku; å­º>Ju; 宀>Ben; 它>Ta; å®…>Taku; 宇>U; 守>Shu; 安>An; 宋>Sou; 完>Kan; å®>Niku; å®>Kou; 宕>Tou; å®—>Shuu; 官>Kan; å®™>Chuu; 定>Tei; å®›>En; 宜>Gi; å®>Hou; 実>Jitsu; 客>Kyaku; 宣>Sen; 室>Shitsu; 宥>Yuu; 宦>Kan; å®®>Kyuu; å®°>Sai; 害>Gai; å®´>En; 宵>Shou; å®¶>Ka; 宸>Shin; 容>You; 宿>Shuku; 寂>Jaku; 寃>En; 寄>Ki; 寅>In; 密>Mitsu; 寇>Kou; 寉>Kaku; 富>Fu; å¯>Bi; 寒>Kan; 寓>Guu; 寔>Shoku; 寛>Kan; å¯>Shin; 寞>Baku; 察>Satsu; 寡>Ka; 寢>Shin; 寤>Go; 寥>Ryou; 實>Jitsu; 寧>Nei; 寨>Sai; 審>Shin; 寫>Sha; 寮>Ryou; 寰>Kan; 寳>Hou; 寵>Chou; 寶>Hou; 寸>Sun; 寺>Ji; 対>Tai; 寿>Ju; å°>Fuu; å°‚>Sen; å°„>Sha; å°…>Koku; å°†>Shou; å°‡>Shou; å°ˆ>Sen; å°‰>I; å°Š>Son; å°‹>Jin; å°>Tai; å°Ž>Dou; å°>Shou; å°‘>Shou; å°“>Ji; å°–>Sen; å°š>Shou; å° >Sen; å°¢>Ou; å°¤>Yuu; å°¨>Bou; å°­>Gyou; å°±>Shuu; å°¸>Shi; å°¹>In; å°º>Shaku; å°»>Kou; å°¼>Ni; å°½>Jin; å°¾>Bi; å°¿>Nyou; å±€>Kyoku; å±>Hi; å±…>Kyo; 屆>Kai; 屈>Kutsu; 届>Kai; 屋>Oku; å±>Shi; 屎>Shi; å±>Hei; å±>Geki; 屑>Setsu; 屓>Ki; 展>Ten; 属>Zoku; å± >To; 屡>Ru; 層>Sou; å±¥>Ri; 屬>Zoku; å±®>Sa; 屯>Ton; å±±>San; å±¹>Kitsu; 岌>Kyuu; å²>Ki; 岑>Shin; å²”>Sa; 岡>Kou; 岨>So; 岩>Gan; 岫>Shuu; 岬>Kou; å²±>Tai; å²³>Gaku; å²¶>Haku; å²·>Bin; 岸>Gan; å²»>Ji; å²¾>Sen; 峇>Kou; å³™>Ji; 峡>Kyou; 峨>Ga; 峩>Ga; 峪>Yoku; å³­>Shou; 峯>Hou; å³°>Hou; å³¶>Tou; 峺>Kou; å³»>Shun; å³½>Kyou; å´‡>Suu; å´‹>Ka; å´Ž>Ki; å´‘>Kon; å´”>Sai; å´•>Gai; å´–>Gai; å´—>Kou; å´˜>Ron; å´™>Ron; å´š>Ryou; å´›>Kutsu; å´Ÿ>Gin; å´¢>Sou; å´©>Hou; 嵋>Bi; 嵌>Kan; 嵎>Guu; åµ>Ran; åµ’>Gan; 嵜>Ki; 嵩>Suu; 嵬>Kai; 嵯>Sa; åµ³>Sa; å¶‚>Shou; å¶„>San; 嶇>Ku; å¶‹>Tou; å¶Œ>Tou; å¶>Ryuu; å¶>Tou; å¶¢>Gyou; 嶬>Gi; å¶®>Ken; å¶·>Gi; 嶺>Rei; å¶¼>Sho; å¶½>Gaku; å·‰>San; å·Œ>Gan; å·>Gi; å·’>Ran; å·“>Ten; å·–>Gan; å·›>Sen; å·>Sen; å·ž>Shuu; å·¡>Jun; å·£>Sou; å·¥>Kou; å·¦>Sa; å·§>Kou; å·¨>Kyo; å·«>Fu; å·®>Shi; å·±>Ki; å·²>I; å·³>Shi; å·´>Ha; å·µ>Shi; å··>Kou; å·»>Kan; å·½>Son; å·¾>Kin; 市>Shi; 布>Fu; 帆>Han; 帋>Shi; 希>Ki; 帑>Do; 帖>Jou; 帙>Chitsu; 帚>Sou; 帛>Haku; å¸>Tei; 帥>Sotsu; 師>Shi; 席>Seki; 帯>Tai; 帰>Ki; 帳>Chou; 帶>Tai; 帷>I; 常>Jou; 帽>Bou; å¹€>Tei; 幃>I; 幄>Aku; å¹…>Fuku; 幇>Hou; 幌>Kou; 幎>Beki; å¹”>Ban; 幕>Maku; å¹—>Kaku; 幟>Shi; 幡>Han; å¹¢>Tou; å¹£>Hei; 幤>Hei; å¹²>Kan; å¹³>Hei; å¹´>Nen; å¹µ>Ken; å¹¶>Hei; 幸>Kou; å¹¹>Kan; 幺>You; å¹»>Gen; å¹¼>You; å¹½>Yuu; å¹¾>Ki; 广>Gen; åº>Chou; 広>Kou; 庄>Sou; 庇>Hi; 床>Shou; åº>Jo; 底>Tei; 庖>Hou; 店>Ten; 庚>Kou; 府>Fu; 庠>Shou; 度>Taku; 座>Za; 庫>Ko; 庭>Tei; 庵>An; 庶>Sho; 康>Kou; 庸>You; å»>Shi; 廂>Shou; 廃>Hai; 廈>Ka; 廉>Ren; 廊>Rou; å»>Kyuu; 廓>Kaku; å»–>Ryou; 廚>Zu; å»›>Ten; å»>Shi; 廟>Byou; å» >Shou; 廡>Bu; 廢>Hai; 廣>Kou; 廨>Kai; 廩>Rin; 廬>Ryo; å»°>Chou; å»±>You; 廳>Chou; å»´>In; å»¶>En; å»·>Tei; 廸>Teki; 建>Ken; å»»>Kai; 廼>Dai; 廾>Kyou; 廿>Juu; å¼>Ben; 弃>Ki; 弄>Rou; 弉>Jou; 弊>Hei; 弋>Yoku; 弌>Itsu; å¼>Ni; å¼>Shiki; å¼>Ni; 弑>Shi; 弓>Kyuu; å¼”>Chou; 引>In; å¼—>Futsu; 弘>Kou; å¼›>Shi; 弟>Tei; å¼¥>Mi; 弦>Gen; å¼§>Ko; 弩>Do; å¼­>Bi; 弯>Wan; å¼±>Jaku; å¼µ>Chou; å¼·>Kyou; 弸>Hou; å¼¼>Hitsu; å¼¾>Dan; å½>Sei; 彈>Dan; 彊>Kyou; 彌>Bi; 彎>Wan; 彑>Kei; 当>Tou; å½–>Tan; å½—>Sui; å½™>I; 彜>I; å½>I; 彡>San; å½¢>Kei; 彦>Gen; 彩>Sai; 彪>Hyou; 彫>Chou; 彬>Hin; å½­>Hou; å½°>Shou; å½±>Ei; å½³>Teki; å½·>Hou; å½¹>Yaku; å½¼>Hi; 彿>Futsu; å¾€>Ou; å¾>Sei; 徂>So; 徃>Ou; 径>Kei; å¾…>Tai; 徇>Shun; 很>Kon; 徊>Kai; 律>Ritsu; 後>Go; å¾>Jo; 徑>Kei; å¾’>To; 従>Juu; å¾—>Toku; 徘>Hai; å¾™>Shi; 從>Juu; å¾ >Rai; 御>Gyo; 徨>Kou; 復>Fuku; 循>Jun; å¾­>You; å¾®>Bi; å¾³>Toku; å¾´>Chou; å¾¹>Tetsu; å¾¼>Kyou; å¾½>Ki; 心>Shin; å¿…>Hitsu; 忌>Ki; å¿>Nin; å¿–>Son; å¿—>Shi; 忘>Bou; å¿™>Bou; 応>Ou; å¿>Ten; å¿ >Chuu; 忤>Go; å¿«>Kai; å¿°>Sui; 忱>Shin; 念>Nen; 忸>Jiku; å¿»>Kin; 忽>Kotsu; å¿¿>Fun; 怎>Shin; æ€>You; æ€>Kou; 怒>Do; 怕>Ha; 怖>Fu; 怙>Ko; 怛>Datsu; 怜>Rei; æ€>Shi; 怠>Tai; 怡>I; 急>Kyuu; 怦>Hou; 性>Sei; 怨>En; 怩>Ji; 怪>Kai; 怫>Futsu; 怯>Kyou; 怱>Sou; æ>In; æ‚>Jun; æƒ>Ji; æ†>Kou; æŠ>Kyou; æ‹>Ren; æ>Kou; æ>Kyou; æ’>Kou; æ•>Jo; æ™>You; æš>I; æŸ>Kyou; æ >Kai; æ¢>Kai; æ£>Shi; æ¤>Jutsu; æ¥>Chi; æ¨>Kon; æ©>On; æª>Kaku; æ«>Dou; æ¬>Ten; æ­>Kyou; æ¯>Soku; æ°>Kou; æµ>Kei; æ·>Kyuu; æ‚>En; 悃>Kon; æ‚„>Shou; 悉>Shitsu; æ‚‹>Rin; 悌>Tei; æ‚>Kan; æ‚’>Yuu; æ‚”>Kai; æ‚–>Hai; æ‚—>Ban; 悚>Shou; æ‚›>Sen; 悟>Go; æ‚ >Yuu; æ‚£>Kan; 悦>Etsu; æ‚§>Ri; æ‚©>Nou; 悪>Aku; 悲>Hi; 悳>Toku; æ‚´>Sui; 悵>Chou; æ‚¶>Mon; 悸>Ki; 悼>Tou; 悽>Sei; 情>Jou; 惆>Chuu; 惇>Ton; 惑>Waku; 惓>Ken; 惘>Bou; 惚>Kotsu; 惜>Seki; 惟>I; 惠>Kei; 惡>O; 惣>Sou; 惧>Ku; 惨>San; 惰>Da; 惱>Nou; 想>Sou; 惴>Zui; 惶>Kou; 惷>Shun; 惹>Ja; 惺>Sei; 惻>Soku; æ„€>Shou; æ„>Shuu; 愃>Ken; 愆>Ken; 愈>Yu; 愉>Yu; æ„>Bin; 愎>Hyoku; æ„>I; æ„•>Gaku; 愚>Gu; æ„›>Ai; 感>Kan; æ„¡>Sou; æ„§>Ki; 愨>Kaku; 愬>So; æ„´>Sou; 愼>Shin; 愽>Haku; 愾>Ki; æ„¿>Gen; æ…‚>You; æ…„>Ritsu; æ…‡>In; æ…ˆ>Ji; æ…Š>Ken; æ…‹>Tai; æ…Œ>Kou; æ…>Un; æ…Ž>Shin; æ…“>Hyou; æ…•>Bo; æ…˜>San; æ…™>Zan; æ…š>Zan; æ…>Toku; æ…Ÿ>Dou; æ…¢>Man; æ…£>Kan; æ…¥>Zou; æ…§>Kei; æ…¨>Gai; æ…«>Shou; æ…®>Ryo; æ…¯>Shou; æ…°>I; æ…±>Tan; æ…³>Kan; æ…´>Shou; æ…µ>You; æ…¶>Kei; æ…·>Kou; æ…¾>Yoku; 憂>Yuu; 憇>Kei; 憊>Hai; 憎>Zou; æ†>Ren; 憑>Hyou; 憔>Shou; 憖>Gin; 憙>Ki; 憚>Tan; 憤>Fun; 憧>Dou; 憩>Kei; 憫>Bin; 憬>Kei; 憮>Bu; 憲>Ken; 憶>Oku; 憺>Tan; 憾>Kan; 懃>Kin; 懆>Sou; 懇>Kon; 懈>Kai; 應>You; 懊>Ou; 懋>Bou; 懌>Eki; æ‡>Rin; æ‡>Kai; 懣>Mon; 懦>Da; 懲>Chou; 懴>Zan; 懶>Ran; 懷>Kai; 懸>Ken; 懺>Zan; 懼>Ku; 懽>Kan; 懾>Shou; 懿>I; 戀>Ren; 戈>Ka; 戉>Etsu; 戊>Bo; 戌>Jutsu; æˆ>Ju; 戎>Juu; æˆ>Sei; 我>Ga; 戒>Kai; 戔>San; 或>Waku; 戚>Seki; 戛>Katsu; æˆ>Zoku; 戞>Katsu; 戟>Geki; 戡>Kan; 戦>Sen; 截>Setsu; 戮>Riku; 戯>Gi; 戰>Sen; 戲>Gi; 戳>Taku; 戴>Tai; 戸>Ko; 戻>Rei; 房>Bou; 所>Sho; æ‰>Hen; 扇>Sen; 扈>Ko; 扉>Hi; 手>Shu; æ‰>Sai; 扎>Satsu; 打>Da; 払>Futsu; 托>Taku; 扛>Kou; 扞>Kan; 扠>Sa; 扣>Kou; 扮>Fun; 扱>Sou; 扶>Fu; 批>Hi; 扼>Aku; 找>Ka; 承>Shou; 技>Gi; 抂>Kyou; 抃>Ben; 抄>Shou; 抉>Ketsu; 把>Ha; 抑>Yoku; 抒>Jo; 抓>Sou; 抔>Hou; 投>Tou; 抖>Tou; 抗>Kou; 折>Setsu; 抛>Hou; 抜>Batsu; 択>Taku; 披>Hi; 抬>Tai; 抱>Hou; 抵>Tei; 抹>Matsu; 抻>Shin; 押>Ou; 抽>Chuu; æ‹‚>Futsu; æ‹…>Tan; 拆>Taku; 拇>Bo; 拈>Den; 拉>Ratsu; 拊>Fu; 拌>Han; æ‹>Haku; æ‹>Da; æ‹>Kai; æ‹‘>Kan; æ‹’>Kyo; æ‹“>Taku; æ‹”>Batsu; æ‹—>Ou; 拘>Kou; æ‹™>Setsu; æ‹›>Shou; 拜>Hai; æ‹>Hai; æ‹ >Kyo; æ‹¡>Kaku; 括>Katsu; æ‹­>Shiki; æ‹®>Kitsu; 拯>Jou; 拱>Kyou; 拳>Ken; 拵>Son; æ‹¶>Satsu; æ‹·>Gou; 拾>Shuu; æ‹¿>Da; æŒ>Ji; 挂>Kei; 指>Shi; 挈>Ketsu; 按>An; 挌>Kaku; 挑>Chou; 挙>Kyo; 挟>Kyou; 挧>Ku; 挨>Ai; 挫>Za; 振>Shin; 挺>Tei; 挽>Ban; 挾>Kyou; 挿>Sou; æ‰>Soku; æŒ>Hatsu; æ>Kan; æ>Detsu; æ>En; æ•>Ho; æ—>Ho; æœ>Sou; æ§>Hou; æ¨>Sha; æ©>Retsu; æ«>Mon; æ®>Kyo; æ²>Ken; æ¶>Sui; æ·>Shou; æº>Natsu; æ»>Nen; 掀>Kin; 掃>Sou; 授>Ju; 掉>Tou; 掌>Shou; 掎>Ki; æŽ>Tou; 排>Hai; 掖>Eki; 掘>Kutsu; 掛>Ka; 掟>Tou; 掠>Ryaku; 採>Sai; 探>Tan; 掣>Sei; 接>Setsu; 控>Kou; 推>Sui; 掩>En; 措>So; 掫>Sou; 掬>Kiku; 掲>Kei; 掴>Kaku; 掻>Sou; 掾>En; æ€>Kan; æƒ>Sen; æ„>Yu; æ†>Ki; æ‰>Juu; æ>Byou; æ>Tei; æ’>Sou; æ–>Yuu; æš>You; æ›>Kan; æ¡>Aku; æ£>Shi; æ©>Kai; æ®>Ki; æ´>En; æ¶>Ya; æº>You; æ†>Kou; æ>Son; æ>Haku; æ“>Sa; æ–>You; æ—>Tou; æœ>Sou; æ¦>Jaku; æ¨>Tou; æ¬>Han; æ­>Tou; æ´>Ken; æ¶>Shou; æº>Kei; æ¾>Saku; æ‘‚>Setsu; 摎>Kyuu; 摘>Teki; æ‘§>Sai; æ‘©>Ma; 摯>Shi; æ‘¶>Tan; 摸>Mo; 摺>Shou; æ’ƒ>Geki; æ’ˆ>Rou; æ’’>San; æ’“>Dou; æ’•>Sei; æ’š>Nen; æ’ž>Shu; æ’¤>Tetsu; æ’¥>Hatsu; æ’©>Ryou; æ’«>Bu; æ’­>Ha; æ’®>Satsu; æ’°>San; æ’²>Boku; æ’¹>Kaku; æ’»>Tachi; æ’¼>Kan; æ“>You; æ“‚>Rai; æ“…>Sen; 擇>Taku; æ“>Sou; æ“’>Kin; æ“”>Tan; 擘>Haku; 據>Kyo; æ“ >Sei; æ“¡>Tai; æ“¢>Teki; æ“£>Tou; 擦>Satsu; æ“§>Kyo; 擬>Gi; 擯>Hin; 擱>Kaku; 擲>Teki; æ“´>Kaku; æ“¶>Sen; 擺>Hai; 擽>Ryaku; 擾>Jou; 攀>Han; æ”…>San; 攘>Jou; 攜>Kei; æ”>Setsu; 攣>Ren; 攤>Tan; 攪>Kaku; 攫>Kaku; 攬>Ran; 支>Shi; æ”´>Hoku; 攵>Boku; æ”¶>Shuu; æ”·>Kou; 攸>Yuu; 改>Kai; æ”»>Kou; 放>Hou; 政>Sei; æ•…>Ko; 效>Kou; æ•>Jo; æ•>Bin; æ•‘>Kyuu; æ••>Choku; æ•–>Gou; æ•—>Hai; 敘>Jo; æ•™>Kyou; æ•>Hei; 敞>Shou; æ•¢>Kan; æ•£>San; 敦>Ton; 敬>Kei; æ•°>Suu; 敲>Kou; æ•´>Sei; 敵>Teki; æ•·>Fu; 數>Suu; æ–‚>Ren; æ–ƒ>Hei; æ–‡>Bun; æ–ˆ>Gaku; æ–‰>Sei; æ–Œ>Hin; æ–Ž>Sai; æ–>Hi; æ–‘>Han; æ–—>To; æ–™>Ryou; æ–›>Koku; æ–œ>Sha; æ–Ÿ>Shin; æ–¡>Atsu; æ–¤>Kin; æ–¥>Seki; æ–§>Fu; æ–«>Shaku; æ–¬>Zan; æ–­>Dan; æ–¯>Shi; æ–°>Shin; æ–·>Dan; æ–¹>Hou; æ–¼>O; æ–½>Shi; æ—>Hou; æ—ƒ>Sen; æ—„>Bou; æ—…>Ryo; æ—†>Hai; æ—‹>Sen; æ—Œ>Sei; æ—>Zoku; æ—’>Ryuu; æ——>Ki; æ—™>Han; æ—›>Han; æ— >Bu; æ—¡>Ki; æ—¢>Ki; æ—¥>Nichi; æ—¦>Tan; æ—§>Kyuu; æ—¨>Shi; æ—©>Sou; æ—¬>Jun; æ—­>Kyoku; æ—±>Kan; æ—º>Ou; æ—»>Bin; 昂>Kou; 昃>Soku; 昆>Kon; 昇>Shou; 昊>Kou; 昌>Shou; 明>Mei; æ˜>Kon; 易>Eki; 昔>Seki; 昜>You; 星>Sei; 映>Ei; 春>Shun; 昧>Mai; 昨>Saku; 昭>Shou; 是>Ze; 昴>Bou; 昵>Jitsu; 昶>Chou; 昼>Chuu; 昿>Kou; æ™>Chou; 時>Ji; 晃>Kou; 晄>Kou; 晉>Shin; 晋>Shin; æ™>An; æ™’>Sai; æ™>Chuu; 晞>Ki; 晟>Sei; 晢>Setsu; 晤>Go; 晦>Kai; æ™§>Kou; 晨>Shin; 晩>Ban; æ™®>Fu; 景>Kei; æ™°>Seki; æ™´>Sei; æ™¶>Shou; 智>Chi; æš>Gyou; 暃>Hi; æš„>Ken; 暇>Ka; 暈>Un; 暉>Ki; 暎>Ei; æš‘>Sho; æš–>Dan; æš—>An; 暘>You; æš>Mei; 暢>Chou; 暦>Reki; æš«>Zan; æš®>Bo; æš´>Bou; 暸>Ryou; æš¹>Sen; æš¼>Hetsu; æš¾>Ton; æ›>Ki; 曄>You; 曇>Don; 曉>Gyou; æ›–>Ai; æ›™>Sho; 曚>Bou; 曜>You; æ›>Baku; æ› >Kou; 曦>Gi; 曩>Dou; æ›°>Etsu; 曲>Kyoku; 曳>Ei; æ›´>Kou; 曵>Ei; æ›·>Katsu; 書>Sho; 曹>Sou; 曼>Ban; 曽>Zo; 曾>So; 替>Tai; 最>Sai; 會>Kai; 月>Getsu; 有>Yuu; 朋>Hou; æœ>Fuku; æœ>Hi; 朔>Saku; 朕>Chin; 朖>Rou; 朗>Rou; 望>Bou; æœ>Chou; 朞>Ki; 期>Ki; 朦>Bou; 朧>Rou; 木>Boku; 未>Mi; 末>Matsu; 本>Hon; 札>Satsu; 朮>Jutsu; 朱>Shu; 朴>Boku; 朶>Da; 朷>Tou; 朸>Ryoku; 机>Ki; 朽>Kyuu; 朿>Shi; æ†>Kan; æ‰>San; æŽ>Ri; æ>Kyou; æ>Zai; æ‘>Son; æ“>Hyou; æ–>Jou; æ™>Yoku; æœ>Do; æž>Ko; æŸ>Soku; æ >Kou; æ¡>Jou; æ¥>Rai; æª>Byou; æ­>Kou; æ¯>Hai; æ°>Ketsu; æ±>Tou; æ²>Kou; æ³>You; æµ>Sho; æ·>Ha; æ¼>Cho; æ¾>Shou; æ¿>Han; æž…>Kei; 枇>Hi; 枉>Ou; æž‹>Hou; 枌>Fun; æž>Seki; æž•>Chin; æž—>Rin; æžš>Mai; æžœ>Ka; æž>Shi; 枢>Suu; 枦>Ro; æž©>Shou; 枯>Ko; æž³>Ki; æž´>Kai; æž¶>Ka; æž·>Ka; 枸>Ku; æž¹>Hou; æŸ>Ta; 柄>Hei; 柆>Rou; 柊>Shuu; 柎>Fu; æŸ>Haku; æŸ>Bou; 柑>Kan; 染>Sen; 柔>Nyuu; 柘>Sha; 柚>Yuu; æŸ>Taku; 柞>Saku; 柢>Tei; 柤>Sa; 柧>Ko; 柩>Kyuu; 柬>Kan; 柮>Totsu; 柯>Ka; 柱>Chuu; 柳>Ryuu; 柴>Sai; 柵>Saku; 査>Sa; 柾>Kyuu; 柿>Shi; æ „>Ei; æ “>Sen; æ –>Sei; æ —>Ritsu; æ ž>Kan; æ ¡>Kou; æ ¢>Haku; æ ©>Ku; æ ª>Chu; æ «>Son; æ ²>Gou; æ ´>Sen; æ ¸>Kaku; æ ¹>Kon; æ ¼>Kou; æ ½>Sai; æ¡€>Ketsu; æ¡>Kou; æ¡‚>Kei; 桃>Tou; 框>Kyou; 案>An; æ¡>Ko; 桎>Shitsu; æ¡>Dou; æ¡‘>Sou; æ¡“>Kan; æ¡”>Kitsu; æ¡™>U; 桜>Ou; 桟>San; æ¡£>Tou; æ¡§>Kai; æ¡´>Fu; æ¡¶>Tou; æ¡·>Kaku; 桾>Kun; æ¡¿>Kan; æ¢>Ryou; 梃>Tei; 梅>Bai; æ¢>Sou; æ¢>Koku; 梓>Shi; 梔>Shi; 梗>Kou; 梛>Da; æ¢>Jou; 梟>Kyou; 梠>Ryo; 梢>Shou; 梦>Mu; 梧>Go; 梨>Ri; 梭>Sa; 梯>Tei; 械>Kai; 梱>Kon; 梳>So; 梵>Fuu; 梶>Bi; 梹>Bin; 梼>Tou; 棄>Ki; 棆>Rin; 棉>Men; 棊>Ki; 棋>Ki; æ£>Kon; 棒>Bou; 棔>Kon; 棕>Shu; 棗>Sou; 棘>Kyoku; 棚>Hou; 棟>Tou; 棠>Tou; 棡>Kou; 棣>Tei; 棧>San; 森>Shin; 棯>Jin; 棲>Sei; 棹>Tou; 棺>Kan; 椀>Wan; æ¤>Kaku; 椄>Setsu; 椅>I; 椈>Kiku; 椋>Ryou; 椌>Kou; æ¤>Shoku; 椎>Tsui; æ¤>A; 椒>Shou; 検>Ken; 椢>Kai; 椦>Ken; 椰>Ya; 椴>Tan; 椶>Shu; 椹>Chin; 椽>Ten; 椿>Chin; 楊>You; 楓>Fuu; 楔>Setsu; 楕>Da; 楙>Bou; 楚>So; 楜>Ko; æ¥>Ren; 楞>Rou; 楠>Nan; 楡>Yu; 楢>Shuu; 楪>You; 楫>Shuu; 業>Gyou; 楮>Cho; 楯>Jun; 楳>Bai; 楴>Tei; 極>Goku; 楷>Kai; 楸>Shuu; 楹>Ei; 楼>Rou; 楽>Gaku; 概>Gai; 榎>Ka; 榑>Fu; 榔>Rou; 榕>You; 榛>Shin; 榜>Bou; 榠>Bei; 榧>Hi; 榮>Ei; 榱>Sui; 榲>Otsu; 榴>Ryuu; 榻>Tou; 榾>Kotsu; 榿>Ki; æ§>Kou; 槃>Han; 槇>Ten; æ§Š>Saku; æ§‹>Kou; æ§Œ>Tsui; æ§>Sou; æ§Ž>Sa; æ§>Kai; æ§“>Kou; 様>You; æ§™>Ten; æ§>Tou; æ§ž>Rou; æ§§>San; 槨>Kaku; æ§«>Tan; æ§­>Shuku; æ§²>Koku; æ§¹>Kou; æ§»>Ki; æ§½>Sou; æ§¿>Kin; 樂>Gaku; 樅>Shou; 樊>Han; 樋>Tou; 樌>Kan; 樒>Mitsu; 樓>Rou; 樔>Sou; 樗>Cho; 標>Hyou; 樛>Kyuu; 樞>Suu; 樟>Shou; 模>Mo; 樢>Boku; 樣>You; 権>Ken; 横>Ou; 樵>Shou; 樶>Sai; 樸>Boku; 樹>Ju; 樺>Ka; 樽>Son; æ©„>Kan; 橇>Zei; 橈>Dou; æ©‹>Kyou; 橘>Kitsu; æ©™>Tou; 機>Ki; æ©¡>Shou; æ©¢>Da; 橦>Tou; 橸>Shou; æ©¿>Kyou; 檀>Tan; 檄>Geki; æª>Yoku; 檎>Go; æª>En; 檗>Haku; 檜>Kai; 檠>Kei; 檢>Ken; 檣>Shou; 檪>Reki; 檬>Bou; 檮>Tou; 檳>Bin; 檸>Nei; 檻>Kan; æ«>Mitsu; æ«‚>Tou; 櫃>Ki; æ«‘>Rai; æ«“>Ro; 櫚>Ryo; æ«›>Shitsu; 櫞>En; 櫟>Reki; 櫨>Ro; 櫪>Reki; 櫺>Rei; æ«»>Ou; 欄>Ran; 欅>Kyo; 權>Ken; 欒>Ran; 欖>Ran; æ¬>Utsu; 欠>Ketsu; 次>Ji; 欣>Gon; 欧>Ou; 欲>Yoku; 欷>Ki; 欸>Ai; 欹>I; 欺>Gi; 欽>Kin; 款>Kan; æ­ƒ>Sou; æ­‡>Ketsu; æ­‰>Ken; æ­Œ>Ka; æ­Ž>Tan; æ­>Ou; æ­“>Kan; æ­”>Kyo; æ­™>Kyuu; æ­›>Kan; æ­Ÿ>Yo; æ­¡>Kan; æ­¢>Shi; æ­£>Sei; æ­¤>Shi; æ­¦>Bu; æ­©>Ho; æ­ª>Wai; æ­¯>Shi; æ­³>Sei; æ­´>Reki; æ­¸>Ki; æ­¹>Gatsu; æ­»>Shi; æ­¿>Botsu; 殀>You; 殃>You; 殄>Ten; 殆>Tai; 殉>Jun; 殊>Shu; 残>Zan; æ®>Hyou; 殕>Fuu; æ®–>Shoku; 殘>Zan; 殞>In; 殤>Shou; 殪>Ei; 殫>Tan; 殯>Hin; æ®±>Sen; 殲>Sen; 殳>Shu; æ®´>Ou; 段>Dan; æ®·>In; 殺>Satsu; æ®»>Kaku; 殼>Kaku; 殿>Ten; 毀>Ki; 毅>Ki; 毆>Ou; 毋>Bu; æ¯>Bo; 毎>Mai; 毒>Doku; 毓>Iku; 比>Hi; 毘>Hi; 毛>Mou; 毫>Kou; 毬>Kyuu; 毯>Tan; 毳>Zei; æ°ˆ>Sen; æ°>Shi; æ°‘>Min; æ°“>Bou; æ°”>Ki; æ°—>Ki; æ°›>Fun; æ°£>Ki; æ°¤>In; æ°´>Sui; æ°·>Hyou; æ°¸>Ei; æ°¾>Han; æ±€>Tei; æ±>Juu; 求>Kyuu; 汎>Han; æ±>Seki; 汕>San; æ±—>Kan; 汚>O; æ±>Jo; 汞>Kou; 江>Kou; æ± >Chi; 汨>Beki; 汪>Ou; æ±°>Ta; æ±²>Kyuu; æ±³>Hen; 決>Ketsu; æ±½>Ki; æ±¾>Fun; æ²>Shin; 沂>Ki; 沃>Yoku; 沈>Chin; 沌>Ton; æ²>Go; æ²>Boku; æ²’>Botsu; 沓>Tou; æ²–>Chuu; æ²™>Sa; 沚>Shi; æ²›>Hai; 没>Botsu; æ²¢>Taku; 沫>Matsu; æ²®>Sho; æ²±>Ta; æ²³>Ka; 沸>Futsu; æ²¹>Yu; 沺>Ten; æ²»>Ji; æ²¼>Shou; æ²½>Ko; æ²¾>Ten; 沿>En; æ³>Kyou; 泄>Ei; æ³…>Shuu; 泉>Sen; 泊>Haku; 泌>Hitsu; 泓>Ou; 法>Hou; æ³—>Shi; æ³™>Hou; æ³›>Han; æ³>So; 泡>Hou; æ³¢>Ha; æ³£>Kyuu; æ³¥>Dei; 注>Chuu; 泪>Rui; 泯>Bin; æ³°>Tai; æ³±>Ou; æ³³>Ei; æ´‹>You; æ´Œ>Retsu; æ´’>Sei; æ´—>Sen; æ´™>Shu; æ´›>Raku; æ´ž>Dou; æ´Ÿ>I; æ´¥>Shin; æ´©>Ei; æ´ª>Kou; æ´«>Kyoku; æ´²>Shuu; æ´³>Jo; æ´µ>Shun; æ´¶>Kyou; æ´¸>Kou; æ´»>Katsu; æ´½>Kou; æ´¾>Ha; æµ>Ryuu; 浄>Jou; æµ…>Sen; æµ™>Setsu; 浚>Shun; 浜>Hin; æµ£>Kan; 浤>Kou; 浦>Ho; 浩>Kou; 浪>Rou; 浬>Ri; æµ®>Fu; æµ´>Yoku; æµ·>Kai; 浸>Shin; æµ¹>Shou; æ¶…>Netsu; 消>Shou; æ¶Œ>Yuu; æ¶Ž>Sen; æ¶“>Ken; æ¶•>Tei; æ¶™>Rui; æ¶›>Tou; æ¶œ>Toku; 涯>Gai; æ¶²>Eki; æ¶µ>Kan; 涸>Ko; æ¶¼>Ryou; æ·€>Ten; æ·…>Seki; æ·†>Kou; æ·‡>Ki; æ·‹>Rin; æ·Œ>Shou; æ·‘>Shuku; æ·’>Sei; æ·•>Riku; æ·˜>Tou; æ·™>Sou; æ·ž>Shou; æ·¡>Tan; æ·¤>Yo; æ·¦>Kan; æ·¨>Jou; æ·ª>Rin; æ·«>In; æ·¬>Sai; æ·®>Wai; æ·±>Shin; æ·³>Shun; æ·µ>En; æ··>Kon; æ·¹>En; æ·º>Sen; æ·»>Ten; 清>Sei; 渇>Katsu; 済>Sai; 渉>Shou; 渊>En; 渋>Juu; 渓>Kei; 渕>En; 渙>Kan; 渚>Sho; 減>Gen; æ¸>Yu; 渟>Tei; 渠>Kyo; 渡>To; 渣>Sa; 渤>Botsu; 渥>Aku; 渦>Ka; 温>On; 渫>Setsu; 測>Soku; 渭>I; 渮>Ka; 港>Kou; 游>Yuu; 渺>Byou; 渾>Kon; 湃>Hai; 湊>Sou; æ¹>Tan; 湎>Ben; æ¹–>Ko; 湘>Shou; æ¹›>Tan; 湟>Kou; æ¹§>Yuu; 湫>Shou; æ¹®>In; 湯>Tou; æ¹²>Kan; æ¹¶>Sen; æ¹¾>Wan; 湿>Shitsu; 満>Man; 溂>Ratsu; 溌>Hatsu; æº>Tou; æº>Gen; 準>Jun; 溘>Kou; 溜>Ryuu; æº>Kou; 溟>Mei; 溢>Itsu; 溥>Ho; 溪>Kei; 溯>So; 溲>Sou; 溶>You; 溷>Kon; 溺>Deki; 溽>Joku; 滂>Bou; 滄>Sou; æ»…>Metsu; 滉>Kou; 滋>Ji; 滌>Deki; 滑>Katsu; 滓>Sai; æ»”>Tou; 滕>Tou; æ»>Sou; 滞>Tai; 滬>Ko; 滯>Tai; 滲>Shin; æ»´>Teki; æ»·>Ro; 滸>Ko; 滾>Kon; 滿>Man; æ¼>Ryou; 漂>Hyou; 漆>Shitsu; 漉>Roku; æ¼>Rou; 漑>Gai; 漓>Ri; æ¼”>En; 漕>Sou; æ¼ >Baku; æ¼¢>Kan; æ¼£>Ran; 漫>Man; 漬>Shi; æ¼±>Sou; æ¼²>Chou; 漸>Zen; æ¼¾>You; 漿>Shou; æ½>Ei; æ½…>Kan; æ½”>Ketsu; 潘>Han; æ½›>Sen; 潜>Sen; 潟>Seki; 潤>Jun; 潦>Rou; æ½­>Tan; æ½®>Chou; 潯>Jin; æ½°>Kai; æ½´>Cho; 潸>San; 潺>San; æ½¼>Dou; æ¾€>Juu; æ¾>Juu; 澂>Chou; 澄>Chou; 澆>Gyou; 澎>Hou; 澑>Ryuu; æ¾—>Kan; 澡>Sou; æ¾£>Kan; 澤>Taku; 澪>Rei; æ¾±>Ten; æ¾³>Iku; æ¾¹>Tan; æ¿€>Geki; æ¿>Daku; æ¿‚>Ren; 濃>Nou; 濆>Fun; æ¿”>Dei; æ¿•>Shitsu; 濘>Nei; 濟>Sai; æ¿ >Gou; æ¿¡>Ju; 濤>Tou; æ¿«>Ran; 濬>Shun; æ¿®>Hoku; 濯>Taku; 濱>Hin; 濳>Sen; æ¿¶>Katsu; 濺>Sen; 濾>Ryo; ç€>You; 瀉>Sha; 瀋>Shin; ç€>Ryuu; 瀑>Baku; 瀕>Hin; 瀘>Ro; 瀚>Kan; 瀛>Ei; ç€>Reki; 瀞>Jou; 瀟>Shou; 瀦>Cho; 瀧>Sou; 瀬>Rai; 瀰>Bi; 瀲>Ren; 瀾>Ran; çŒ>Kan; ç‘>Sai; ç˜>Dan; ç£>Wan; ç«>Ka; ç¯>Tou; ç°>Kai; ç¸>Kyuu; ç¼>Shaku; ç½>Sai; 炉>Ro; 炊>Sui; 炎>En; ç‚’>Sou; ç‚™>Sha; 炬>Ko; ç‚­>Tan; ç‚®>Hou; 炯>Kei; 炳>Hei; 炸>Saku; 点>Ten; 為>I; 烈>Retsu; 烋>Kou; çƒ>U; 烙>Raku; çƒ>Jou; 烟>En; 烱>Kei; 烹>Hou; 烽>Hou; 焉>En; ç„”>En; ç„™>Hou; 焚>Fun; 焜>Kon; ç„¡>Mu; 焦>Shou; ç„¶>Zen; 焼>Shou; ç…‰>Ren; ç…Œ>Kou; ç…Ž>Sen; ç…•>Ki; ç…–>Dan; ç…™>En; ç…¢>Kei; ç…¤>Bai; ç…¥>Kan; ç…¦>Ku; ç…§>Shou; ç…©>Han; ç…¬>You; ç…®>Sha; ç…½>Sen; 熄>Soku; 熈>Ki; 熊>Yuu; ç†>Kun; 熔>You; 熕>Kou; 熙>Ki; 熟>Juku; 熨>I; 熬>Gou; 熱>Netsu; 熹>Ki; 熾>Shi; 燃>Nen; 燈>Tou; 燉>Ton; 燎>Ryou; ç‡>Rin; 燒>Shou; 燔>Han; 燕>En; 燗>Ran; 營>Ei; 燠>Iku; 燥>Sou; 燦>San; 燧>Sui; 燬>Ki; 燭>Shoku; 燮>Shou; 燵>Tatsu; 燹>Sen; 燻>Kun; 燼>Jin; 燿>You; 爆>Baku; çˆ>Shaku; çˆ>Ro; 爛>Ran; 爨>San; 爪>Sou; 爬>Ha; 爭>Sou; 爰>En; 爲>I; 爵>Shaku; 父>Fu; 爺>Ya; 爻>Kou; 爼>Sho; 爽>Sou; 爾>Ji; 爿>Shou; 牀>Sou; 牆>Shou; 片>Hen; 版>Han; 牋>Sen; 牌>Hai; 牒>Chou; 牘>Toku; 牙>Ga; 牛>Gyuu; ç‰>Hin; 牟>Bou; 牡>Bo; 牢>Rou; 牧>Boku; 物>Motsu; 牲>Sei; 牴>Tei; 特>Toku; 牽>Ken; 牾>Go; 犀>Sei; çŠ>Ri; 犂>Ri; 犇>Hon; 犒>Kou; 犖>Raku; 犠>Gi; 犢>Toku; 犧>Gi; 犬>Ken; 犯>Han; 犲>Sai; 状>Jou; 犹>Yuu; ç‹‚>Kyou; 狃>Juu; ç‹„>Teki; 狆>Chuu; 狎>Kou; ç‹>Ko; ç‹’>Hi; ç‹—>Kou; ç‹™>Sho; ç‹›>Haku; ç‹ >Gan; ç‹¡>Kou; ç‹¢>Kaku; ç‹©>Shu; 独>Doku; ç‹­>Kyou; ç‹·>Ken; 狸>Ri; 狹>Kyou; 狼>Rou; 狽>Hai; 猊>Gei; 猖>Shou; 猗>I; 猛>Mou; 猜>Sai; çŒ>Sotsu; 猟>Ryou; 猥>Wai; 猩>Sei; 猪>Cho; 猫>Byou; 献>Ken; 猯>Tan; 猴>Kou; 猶>Yuu; 猷>Yuu; 猾>Katsu; 猿>En; ç„>Goku; ç…>Shi; çŽ>Shou; ç>Baku; ç—>Ketsu; ç£>Juu; ç¨>Doku; çª>Kai; ç°>Dou; ç²>Kaku; çµ>Ryou; ç¸>Juu; çº>Datsu; ç»>Ken; 玄>Gen; 率>Ritsu; 玉>Gyoku; 王>Ou; 玖>Kyuu; 玩>Gan; 玲>Rei; 玳>Tai; 玻>Ha; ç€>Haku; ç‚>Ka; çˆ>Ka; çŠ>San; ç>Chin; çŽ>Chin; çž>Raku; ç >Shu; ç¥>Ji; çª>Kei; ç­>Han; ç®>Hai; ç±>Ei; ç¸>Go; ç¾>Gen; çƒ>Kyuu; ç…>Rou; ç†>Ri; ç‰>Ryuu; ç¢>Taku; ç¥>Ko; ç²>Hai; ç³>Rin; ç´>Kin; çµ>Bi; ç¶>Ha; çº>Hou; ç¿>Kon; ç‘>Bou; ç‘•>Ka; ç‘™>Dou; 瑚>Ko; ç‘›>Ei; 瑜>Yu; 瑞>Zui; 瑟>Shitsu; ç‘ >Ryuu; ç‘£>Sa; 瑤>You; ç‘©>Ei; 瑪>Ba; 瑯>Rou; ç‘°>Kai; 瑳>Sa; ç‘¶>You; 瑾>Kin; ç’ƒ>Ri; ç’‹>Shou; ç’ž>Haku; ç’¢>Ryuu; ç’§>Heki; ç’°>Kan; ç’½>Ji; 瓊>Kei; ç“>Rou; ç“”>Ei; 瓜>Ka; ç“ >Ko; ç“¢>Hyou; ç“£>Ben; 瓦>Ga; ç“®>Ou; ç“¶>Hei; ç“·>Shi; 甃>Shuu; 甄>Ken; 甌>Ou; ç”>Bou; 甎>Sen; 甑>Sou; 甓>Heki; 甕>Ou; 甘>Kan; 甚>Shin; 甜>Ten; 甞>Shou; 生>Sei; 産>San; 甥>Sei; 甦>So; 用>You; 甫>Ho; 甬>You; ç”°>Den; ç”±>Yuu; 甲>Kou; 申>Shin; ç”·>Dan; 甸>Ten; 町>Chou; ç”»>Ga; 甼>Chou; ç•„>Ryuu; 畆>Ho; 畉>Fu; 畊>Kou; ç•‹>Ten; 界>Kai; ç•>Kai; ç•>I; ç•”>Han; ç•™>Ryuu; 畚>Hon; ç•›>Shin; 畜>Chiku; ç•>Ho; ç•¢>Hitsu; 畤>Shi; ç•¥>Ryaku; 畦>Kei; ç•§>Ryaku; 番>Ban; ç•«>Kaku; ç•­>Yo; ç•°>I; 畳>Jou; ç•´>Chuu; ç•¶>Tou; ç•·>Tetsu; 畸>Ki; ç•¿>Ki; ç–‚>Jou; ç–†>Kyou; ç–‡>Chuu; ç–‰>Jou; ç–Š>Jou; ç–‹>So; ç–Ž>So; ç–>So; ç–‘>Gi; ç–”>Chou; ç–š>Kyuu; ç–>San; ç–£>Yuu; ç–¥>Kai; ç–«>Eki; ç–±>Hou; ç–²>Hi; ç–³>Kan; ç–µ>Shi; ç–¸>Tan; ç–¹>Shin; ç–¼>Tou; ç–½>Sho; ç–¾>Shitsu; ç—‚>Ka; ç—ƒ>Ken; ç—…>Byou; ç—‡>Shou; ç—Š>Sen; ç—>I; ç—’>You; ç—”>Ji; ç—•>Kon; ç—˜>Tou; ç—™>Kei; ç—›>Ts; ç—ž>Hi; ç—¢>Ri; ç—£>Shi; ç—©>Sou; ç—°>Tan; ç—²>Ma; ç—³>Rin; ç—´>Chi; ç—º>Hi; ç—¼>Ko; ç—¾>A; ç—¿>I; ç˜>Sui; 瘉>Yu; 瘋>Fuu; ç˜>You; 瘟>On; 瘠>Seki; 瘡>Sou; 瘢>Han; 瘤>Ryuu; 瘧>Gyaku; 瘰>Rui; 瘴>Shou; 瘻>Rou; 療>Ryou; 癆>Rou; 癇>Kan; 癈>Hai; 癌>Gan; ç™’>Yu; ç™–>Heki; 癘>Rei; 癜>Den; 癡>Chi; 癢>You; ç™§>Reki; 癨>Kaku; 癩>Rai; 癪>Shaku; 癬>Sen; ç™°>You; 癲>Ten; ç™¶>Hatsu; 癸>Ki; 発>Hotsu; ç™»>Tou; 發>Hotsu; 白>Haku; 百>Hyaku; 皀>Hyuu; 皃>Bou; çš„>Teki; 皆>Kai; 皇>Kou; 皈>Ki; çš‹>Kou; 皎>Kou; çš>Kou; çš“>Kou; çš–>Kan; çš™>Seki; çšš>Gai; çš®>Hi; çš°>Hou; çš´>Shun; çš·>Ko; 皸>Kun; çš¹>Kun; 皺>Suu; çš¿>Bai; 盂>U; 盃>Hai; 盆>Bon; 盈>Ei; 益>Eki; ç›>Kou; ç›’>Kou; ç›–>Gai; ç›—>Tou; ç››>Sei; 盜>Tou; 盞>San; 盟>Mei; 盡>Jin; 監>Kan; 盤>Ban; 盥>Kan; ç›§>Ro; 盪>Tou; ç›®>Moku; 盲>Mou; ç›´>Choku; 相>Shou; ç›»>Kei; 盾>Jun; çœ>Sei; 眄>Ben; 眇>Byou; 眈>Tan; 眉>Bi; 看>Kan; 県>Ken; 眛>Mai; 眞>Shin; 真>Shin; 眠>Min; 眤>Tei; 眥>Sei; 眦>Sei; 眩>Gen; 眷>Ken; 眸>Bou; 眺>Chou; 眼>Gan; ç€>Chaku; ç‡>Tei; çš>Gai; ç›>Sei; ç¡>Sui; ç£>Toku; ç¥>Hei; ç¦>Boku; ç¨>Gei; ç«>Shou; ç¹>To; ç¾>Kou; ç¿>Ei; çž‹>Shin; 瞎>Katsu; çž‘>Mei; çžž>Ban; çž >Dou; 瞥>Betsu; 瞬>Shun; çž­>Ryou; çž°>Kan; çž³>Dou; çž¶>Ki; çž¹>Ai; çž»>Sen; çž¼>Ken; çž½>Ko; çž¿>Ku; 矇>Mou; çŸ>Kaku; 矗>Chiku; 矚>Shoku; 矛>Mu; 矜>Kin; 矢>Shi; 矣>I; 知>Chi; 矧>Shin; 矩>Ku; 短>Tan; 矮>Wai; 矯>Kyou; 石>Shaku; 矼>Kou; ç ‚>Sa; ç Œ>Sei; ç ’>Hi; ç ”>Ken; ç •>Sai; ç  >Sho; ç ¥>Shi; ç ¦>Sai; ç §>Chin; ç ²>Hou; ç ´>Ha; ç º>Rei; ç ¿>Kou; ç¡…>Kei; ç¡>Shou; ç¡«>Ryuu; 硬>Kou; 硯>Ken; 硼>Hou; ç¢>Go; 碆>Ha; 碇>Tei; 碌>Roku; ç¢>Gai; 碎>Sai; 碑>Hi; 碓>Tai; 碕>Ki; 碗>Wan; 碚>Hai; 碣>Ketsu; 碧>Heki; 碩>Seki; 碪>Chin; 碯>Dou; 碵>Seki; 確>Kaku; 碼>Ba; 碾>Ten; ç£>Ji; 磅>Hou; 磆>Katsu; 磊>Rai; 磋>Sa; ç£>Han; 磑>Gai; 磔>Taku; 磚>Sen; 磧>Seki; 磨>Ma; 磬>Kei; 磯>Ki; 磴>Tou; 磽>Kou; ç¤>Shou; 礇>Iku; 礎>So; 礑>Tou; 礒>Gi; 礙>Gai; 礦>Kou; 礪>Rei; 礫>Reki; 礬>Ban; 示>Shi; 礼>Rei; 社>Sha; 祀>Shi; ç¥>Ki; 祇>Ki; 祈>Ki; 祉>Shi; ç¥>Yuu; 祓>Futsu; 祕>Hi; 祖>So; 祗>Shi; 祚>So; ç¥>Shuku; 神>Shin; 祟>Sui; 祠>Shi; 祢>Dei; 祥>Shou; 票>Hyou; 祭>Sai; 祷>Tou; 祺>Ki; 祿>Roku; 禀>Rin; ç¦>Kin; 禄>Roku; 禅>Zen; 禊>Kei; ç¦>Ka; 禎>Tei; ç¦>Fuku; ç¦>Shoku; 禦>Gyo; 禧>Ki; 禪>Zen; 禮>Rei; 禰>Dei; 禳>Jou; 禹>U; 禺>Guu; 禽>Kin; 禾>Ka; 禿>Toku; ç§€>Shuu; ç§>Shi; 秉>Hei; ç§‹>Shuu; ç§‘>Ka; ç§’>Byou; ç§•>Hi; 秘>Hi; ç§Ÿ>So; ç§¡>Hatsu; ç§£>Matsu; 秤>Shou; 秦>Shin; ç§§>Ou; ç§©>Chitsu; 秬>Kyo; ç§°>Shou; ç§»>I; 稀>Ki; 稈>Kan; 程>Tei; ç¨>Sou; 税>Zei; 稔>Jin; 稗>Hai; 稘>Ki; 稙>Choku; 稚>Chi; 稜>Ryou; 稟>Rin; 稠>Chuu; 種>Shu; 稱>Shou; 稲>Tou; 稷>Shoku; 稻>Tou; 稼>Ka; 稽>Kei; 稾>Kou; 稿>Kou; ç©€>Koku; ç©‚>Sui; 穃>You; 穆>Boku; 穉>Chi; ç©>Seki; 穎>Ei; ç©>On; ç©>Shuu; ç©—>Sui; ç©¡>Shoku; ç©¢>Ai; ç©£>Jou; ç©©>On; ç©«>Kaku; ç©°>Jou; ç©´>Ketsu; ç©¶>Kyuu; 穹>Kyuu; 空>Kuu; 穽>Sei; ç©¿>Sen; çª>Totsu; 窃>Setsu; 窄>Saku; 窈>You; 窒>Chitsu; 窓>Sou; 窕>Chou; 窖>Kou; 窗>Sou; 窘>Kin; 窟>Kutsu; 窩>Ka; 窪>Wa; 窮>Kyuu; 窯>You; 窰>You; 窶>Ku; 窺>Ki; 窿>Ryuu; 竃>Sou; ç«„>Zan; ç«…>Kyou; 竇>Tou; 竈>Sou; 竊>Setsu; ç«‹>Ritsu; ç«’>Ki; ç«™>Tan; 竚>Cho; 竜>Ryuu; ç«>Hei; 竟>Kei; ç« >Shou; ç«¢>Shi; ç«£>Shun; ç«¥>Dou; 竦>Shou; 竪>Ju; ç«­>Ketsu; 端>Tan; ç«¶>Kyou; 竸>Kei; 竹>Chiku; 竺>Toku; ç«¿>Kan; 笄>Kei; 笆>Ha; 笈>Kyuu; 笊>Sou; 笋>Jun; ç¬>Kotsu; 笑>Shou; 笘>Sen; 笙>Sou; 笛>Teki; 笞>Chi; 笠>Ryuu; 笥>Shi; 符>Fu; 笨>Hon; 第>Dai; 笳>Ka; 笵>Han; 笶>Shi; ç­…>Sen; ç­†>Hitsu; ç­ˆ>Katsu; ç­‰>Tou; ç­‹>Kin; ç­Œ>Sen; ç­>Jun; ç­>Batsu; ç­>Kyou; ç­‘>Chiku; ç­’>Tou; ç­”>Tou; ç­–>Saku; ç­>Sou; ç­¥>Kyo; ç­§>Ken; ç­¬>Sei; ç­®>Sei; ç­°>Saku; ç­±>Shou; ç­´>Kyou; ç­µ>En; ç­º>Kyou; 箆>Hei; 箇>Ka; 箋>Sen; ç®>Ko; ç®>Sou; ç®’>Sou; ç®”>Haku; 箕>Ki; ç®—>San; 箘>Kin; ç®™>Fuku; 箚>Satsu; 箜>Kou; ç®>Kan; 箟>Kin; 管>Kan; 箪>Tan; ç®­>Sen; ç®±>Shou; ç®´>Shin; 箸>Cho; 節>Setsu; ç¯>Kou; 範>Han; 篆>Ten; 篇>Hen; 築>Chiku; 篋>Kyou; 篌>Kou; ç¯>Kan; ç¯>Kou; 篠>Shou; 篤>Toku; 篥>Ritsu; 篦>Hei; 篩>Shi; 篭>Rou; 篳>Hitsu; 篶>En; 篷>Hou; ç°€>Saku; ç°‡>Sou; ç°>Rou; ç°‘>Sa; ç°’>San; ç°“>Sen; ç°”>Sa; ç°Ÿ>Ten; ç°¡>Kan; ç°£>Ki; ç°§>Kou; ç°ª>Shin; ç°«>Shou; ç°·>En; ç°¸>Ha; ç°½>Sen; ç°¾>Ren; ç°¿>Bo; ç±€>Chuu; 籃>Ran; 籌>Chuu; ç±>Seki; ç±>Tou; ç±”>Su; ç±–>Sen; 籘>Tou; 籟>Rai; ç± >Rou; 籤>Sen; ç±¥>Yaku; 籬>Ri; ç±³>Bei; 粃>Hi; 粉>Fun; 粋>Sui; ç²>Ro; ç²’>Ryuu; 粕>Haku; ç²—>So; 粘>Nen; ç²›>Shuku; 粟>Zoku; 粡>Tou; ç²¢>Shi; 粤>Etsu; ç²¥>Shuku; ç²§>Shou; 粫>Ji; ç²®>Ryou; ç²±>Ryou; ç²²>San; ç²³>Kou; ç²¹>Sui; ç²½>Sou; ç²¾>Sei; 糂>San; ç³…>Juu; 糊>Ko; ç³’>Hi; ç³–>Tou; 糜>Bi; 糞>Fun; 糟>Sou; ç³ >Kou; ç³¢>Bo; ç³§>Ryou; 糯>Da; ç³²>Rei; ç³´>Teki; ç³¶>Chou; 糸>Shi; 糺>Kyuu; ç³»>Kei; ç³¾>Kyuu; ç´€>Ki; ç´‚>Chuu; ç´„>Yaku; ç´…>Ku; ç´†>U; ç´Š>Bin; ç´‹>Mon; ç´>Tou; ç´>Chuu; ç´”>Shun; ç´•>Hi; ç´—>Sa; ç´˜>Kou; ç´™>Shi; ç´š>Kyuu; ç´›>Fun; ç´œ>Un; ç´ >So; ç´¡>Bou; ç´¢>Saku; ç´«>Shi; ç´¬>Chuu; ç´®>Satsu; ç´¯>Rui; ç´°>Sei; ç´²>Setsu; ç´³>Shin; ç´µ>Cho; ç´¹>Shou; ç´º>Kon; ç´¿>Tai; 終>Shuu; 絃>Gen; 組>So; çµ…>Kei; 絆>Ban; 絋>Kou; 経>Kei; 絎>Kou; çµ>Setsu; çµ>Ketsu; çµ–>Kou; çµ›>Jou; 絞>Kou; 絡>Raku; çµ¢>Ken; çµ£>Hou; 給>Kyuu; 絨>Juu; çµ®>Jo; çµ±>Tou; çµ²>Shi; çµ³>Kou; çµµ>Kai; çµ¶>Zetsu; çµ¹>Ken; çµ½>Ryo; 綉>Tou; ç¶>Sui; ç¶“>Kei; ç¶™>Kei; ç¶š>Zoku; ç¶œ>Sou; ç¶Ÿ>Rei; ç¶¢>Chuu; ç¶£>Ken; ç¶«>Sen; 綬>Ju; ç¶­>I; ç¶®>Kei; 綯>Tou; ç¶°>Wan; ç¶±>Kou; ç¶²>Mou; ç¶´>Tei; ç¶µ>Sai; 綸>Rin; 綺>Ki; ç¶»>Tan; ç¶½>Shaku; ç¶¾>Ryou; ç¶¿>Men; ç·‡>Shi; ç·Š>Kin; ç·‹>Hi; ç·>Sou; ç·‘>Ryoku; ç·’>Sho; ç·˜>Kan; ç·š>Sen; ç·œ>Ben; ç·>Shuu; ç·ž>Tan; ç· >Tei; ç·¡>Bin; ç·¤>Setsu; ç·¨>Hen; ç·©>Kan; ç·¬>Men; ç·¯>I; ç·²>Byou; ç·´>Ren; ç·»>Chi; ç¸>En; 縄>Jou; 縉>Shin; 縊>Ei; 縋>Tsui; 縒>Shi; 縛>Baku; 縞>Kou; 縟>Joku; 縡>Sai; 縢>Tou; 縣>Ken; 縦>Juu; 縫>Hou; 縮>Shuku; 縱>Juu; 縲>Rui; 縵>Ban; 縷>Ru; 縹>Hyou; 縺>Ren; 縻>Bi; 總>Sou; 績>Seki; ç¹>Han; 繃>Hou; 繆>Kyuu; 繊>Sen; 繋>Kei; ç¹>Shuu; ç¹”>Shoku; 繕>Zen; ç¹–>San; ç¹™>Han; 繚>Ryou; ç¹>Kan; 繞>Jou; 繦>Kyou; ç¹§>Un; 繩>Jou; 繪>Kai; ç¹­>Ken; ç¹°>Sou; ç¹¹>Eki; ç¹»>Ju; ç¹¼>Kei; ç¹½>Hin; 繿>Ran; 纂>San; 纈>Ketsu; 纉>San; 續>Zoku; 纎>Sen; çº>Ten; 纒>Ten; 纓>Ei; 纔>San; 纖>Sen; 纛>Tou; 纜>Ran; ç¼¶>Kan; 缸>Kou; 缺>Ketsu; ç½…>Ka; 罌>Ou; ç½>Rai; 罎>Tan; ç½>Kan; 网>Bou; ç½”>Bou; 罕>Kan; 罘>Fu; 罟>Ko; ç½ >Bin; ç½§>Shin; 罨>An; 罩>Tou; 罪>Zai; 罫>Kei; ç½®>Chi; ç½°>Batsu; ç½²>Sho; ç½µ>Ba; ç½·>Hi; 罸>Batsu; ç½¹>Ri; 羂>Ken; 羃>Beki; ç¾…>Ra; 羆>Hi; 羇>Ki; 羈>Ki; 羊>You; 羌>Kyou; 美>Bi; ç¾”>Kou; 羚>Rei; ç¾>Tei; 羞>Shuu; ç¾£>Gun; 群>Gun; 羨>Sen; 義>Gi; ç¾®>Kou; 羯>Katsu; ç¾²>Gi; ç¾¶>Sen; 羸>Rui; ç¾¹>Kou; ç¾½>U; ç¿>Ou; ç¿…>Shi; 翆>Sui; 翊>Yoku; 翌>Yoku; ç¿’>Shuu; ç¿”>Shou; ç¿•>Kyuu; ç¿ >Sui; ç¿¡>Hi; 翦>Sen; ç¿©>Hen; ç¿«>Gan; ç¿°>Kan; 翳>Ei; 翹>Gyou; ç¿»>Hon; 翼>Yoku; 耀>You; è€>Rou; 考>Kou; 耄>Mou; 者>Sha; 耆>Ki; 耋>Tetsu; 而>Ji; è€>Tai; 耒>Rai; 耕>Kou; 耗>Mou; 耘>Un; 耙>Ha; 耜>Shi; 耡>Jo; 耨>Dou; 耳>Ji; 耶>Ya; 耻>Chi; 耽>Tan; 耿>Kou; è†>Rei; èŠ>Ryou; è’>Katsu; è–>Sei; è˜>Hei; èš>Shuu; èž>Bun; èŸ>Sei; è¡>Sou; è¨>Ren; è¯>Ren; è°>Sou; è²>Sei; è³>Shou; è´>Chou; è¶>Jou; è·>Shoku; è¹>Dei; è½>Chou; è¾>Rou; è¿>Itsu; è‚„>I; è‚…>Shuku; 肆>Shi; 肇>Chou; 肉>Niku; è‚‹>Roku; 肌>Ki; è‚“>Kou; è‚–>Shou; 肘>Chuu; 肚>To; è‚›>Kou; è‚>Kan; è‚¡>Ko; è‚¢>Shi; è‚¥>Hi; è‚©>Ken; 肪>Bou; 肬>Yuu; è‚­>Dotsu; 肯>Kou; 肱>Kou; 育>Iku; è‚´>Kou; 肺>Hai; 胃>I; 胄>Chuu; 胆>Tan; 背>Hai; 胎>Tai; 胖>Han; 胙>So; 胚>Hai; 胛>Kou; èƒ>Chi; 胞>Hou; 胡>Ko; 胤>In; 胥>Sho; 胯>Ko; 胱>Kou; 胴>Dou; 胸>Kyou; 胼>Hen; 能>Nou; è„‚>Shi; è„…>Kyou; 脆>Zei; 脇>Kyou; 脈>Myaku; 脉>Myaku; 脊>Seki; 脚>Kyaku; è„›>Kei; è„£>Shin; è„©>Shuu; 脯>Ho; 脱>Datsu; 脳>Nou; 脹>Chou; 脾>Hi; è…†>Ten; è…‹>Eki; è…Ž>Jin; è…>Fu; è…‘>Fu; è…“>Hi; è…”>Kou; è…•>Wan; è…Ÿ>Chitsu; è…¥>Sei; è…¦>Nou; è…«>Shou; è…®>Sai; è…°>You; è…±>Ken; è…´>Yu; è…¸>Chou; è…¹>Fuku; è…º>Sen; è…¿>Tai; 膀>Hou; 膂>Ryo; 膃>Otsu; 膈>Kaku; 膊>Haku; è†>Kou; 膓>Chou; 膕>Kaku; 膚>Fu; 膜>Maku; è†>Shitsu; 膠>Kou; 膣>Chitsu; 膨>Bou; 膩>Ji; 膰>Han; 膳>Sen; 膵>Sui; 膸>Zui; 膺>You; 膽>Tan; 膾>Kai; 膿>Dou; 臀>Den; 臂>Hi; 臆>Oku; 臈>Rou; 臉>Ren; è‡>Sei; 臑>Dau; 臓>Zou; 臘>Rou; 臙>En; 臚>Ryo; 臟>Zou; 臠>Ren; 臣>Shin; 臥>Ga; 臧>Zou; 臨>Rin; 自>Shi; 臭>Shuu; 至>Shi; 致>Chi; 臺>Tai; 臻>Shin; 臼>Kyuu; 臾>Yu; èˆ>Yo; 舂>Shou; 舅>Kyuu; 與>Yo; 興>Kyou; 舉>Kyo; 舊>Kyuu; 舌>Zetsu; èˆ>Sha; 舎>Sha; èˆ>Shi; 舒>Jo; 舖>Ho; 舗>Ho; 舘>Kan; 舛>Sen; 舜>Shun; 舞>Bu; 舟>Shuu; 舩>Sen; 航>Kou; 舫>Hou; 般>Han; 舮>Ro; 舳>Chiku; 舵>Ta; 舶>Haku; 舷>Ken; 舸>Ka; 船>Sen; 艀>Fu; 艇>Tei; 艘>Sou; 艙>Sou; 艚>Sou; 艟>Dou; 艢>Shou; 艤>Gi; 艦>Kan; 艨>Mou; 艪>Ro; 艫>Ro; 艮>Kon; 良>Ryou; 艱>Kan; 色>Shoku; 艶>En; 艷>En; 艸>Sou; 艾>Gai; 芋>U; èŠ>Shaku; 芒>Bou; 芙>Fu; èŠ>Shi; 芟>San; 芥>Kai; 芦>Ro; 芫>Gen; 芬>Fun; 芭>Ba; 芯>Shin; 花>Ka; 芳>Hou; 芸>Gei; 芹>Kin; 芻>Suu; 芽>Ga; è‹…>Gai; è‹‘>En; è‹’>Zen; è‹“>Rei; è‹”>Tai; è‹—>Byou; è‹™>Ryuu; è‹›>Ka; 苜>Boku; 苞>Hou; 苟>Kou; è‹¡>I; è‹£>Kyo; è‹¥>Jaku; 苦>Ku; è‹§>Cho; è‹«>Sen; 英>Ei; 苳>Tou; è‹´>So; 苹>Hei; 苺>Mai; è‹»>Fu; 茂>Mo; 范>Han; 茄>Ka; 茅>Bou; 茆>Bou; 茉>Matsu; 茎>Kei; 茖>Kaku; 茗>Mei; 茘>Ri; 茜>Sen; 茣>Go; 茨>Shi; 茫>Bou; 茯>Fuku; 茱>Shu; 茲>Ji; 茴>Kai; 茵>In; 茶>Cha; 茸>Jou; 茹>Jo; è€>Jun; è…>Tou; è‰>Sou; èŠ>Kei; è>Jin; è>Sen; è’>Kou; è˜>Sou; è³>Tou; èµ>Jin; è·>Ka; è»>Teki; è¼>To; 莅>Ri; 莇>Cho; 莉>Chi; 莊>Sou; 莎>Sa; 莓>Mai; 莖>Kei; 莚>En; 莞>Kan; 莟>Kan; 莠>Yuu; 莢>Kyou; 莨>Rou; 莪>Ga; 莫>Bo; 莱>Rai; 莵>To; 莽>Bou; è>Sei; è…>Kan; èŠ>Kiku; èŒ>Kin; èŽ>Kon; è“>Ka; è–>Shou; è˜>Suu; èœ>Sai; èŸ>To; è >Ha; è©>Hai; è«>Kin; è¯>Ka; è°>Ko; è±>Ryou; è²>Hi; è´>An; è·>Sou; è»>Rin; è½>Shuku; èƒ>Sui; è„>Tou; è‡>Chou; è‹>Sei; èŒ>Hou; è>Hei; èŽ>I; è“>Gi; è >Hou; è©>Shuu; èª>Kuwa; è¬>Man; è±>Ken; èµ>Wa; è¸>Yu; è¼>Gaku; è½>Raku; 葆>Ho; 葉>You; 葎>Ritsu; è‘—>Cho; è‘›>Katsu; è‘¡>Ho; è‘¢>Gai; è‘£>Tou; 葦>I; è‘©>Ha; è‘«>Ko; 葬>Sou; è‘­>Ka; è‘®>Tan; 葯>Yaku; 葱>Sou; 葵>Ki; è‘·>Gun; 葹>Shi; 葺>Shuu; è’‚>Tei; è’„>Kan; è’‹>Shou; è’>Shuu; è’”>Shi; è’™>Bou; è’œ>San; è’Ÿ>Kon; è’¡>Hou; è’­>Suu; è’²>Ho; è’¸>Jou; è’¹>Ken; è’»>Jaku; è’¼>Sou; è’¿>Kou; è“>Shin; è“„>Chiku; 蓆>Seki; 蓉>You; 蓊>Ou; è“‹>Gai; è“>Shi; è“>Joku; è“‘>Sa; è“–>Hi; 蓚>Chou; 蓬>Hou; è“®>Ren; è“´>Shun; 蓼>Ryou; è“¿>Shuku; 蔀>Hou; 蔆>Ryou; 蔑>Betsu; 蔓>Ban; è””>Fuku; 蔕>Tei; è”—>Sho; 蔘>Shin; 蔚>Utsu; 蔟>Zoku; 蔡>Sai; 蔦>Chou; 蔬>So; è”­>In; 蔵>Zou; 蔽>Hei; è•€>Kyoku; è•>Jin; 蕃>Ban; 蕈>Shin; 蕉>Shou; 蕊>Zui; è•‹>Zui; 蕎>Kyou; è••>Yuu; è•—>Ro; 蕘>Jou; 蕚>Gaku; è•£>Shun; 蕨>Ketsu; è•©>Tou; 蕪>Bu; è•­>Shou; è•·>Yo; 蕾>Rai; è–€>Un; è–„>Haku; è–‡>Bi; è–ˆ>Kai; è–Š>Kei; è–>Rou; è–‘>Kyou; è–”>Shoku; è–—>En; è–™>Tei; è–›>Setsu; è–œ>Heki; è–¤>Kai; è–¦>Sen; è–¨>Kou; è–©>Satsu; è–ª>Shin; è–«>Kun; è–¬>Yaku; è–®>Sou; è–¯>Sho; è–¹>Tai; è–º>Sei; è—>Kou; è—‰>Sha; è—>Ran; è—>Zou; è—>Baku; è—•>Guu; è—œ>Rei; è—>Gei; è—¤>Tou; è—¥>Yaku; è—©>Han; è—ª>Sou; è—·>Sho; è—¹>Ai; è—º>Rin; è—»>Sou; è—¾>Rai; 蘂>Zui; 蘆>Ro; 蘇>So; 蘊>Un; 蘋>Hin; 蘓>So; 蘖>Getsu; 蘗>Haku; 蘚>Sen; 蘢>Rou; 蘭>Ran; 蘯>Tou; 蘿>Ra; è™>Ko; 虎>Ko; è™>Gyaku; è™”>Ken; 處>Sho; 虚>Kyo; 虜>Ryo; 虞>Gu; 號>Gou; è™§>Ki; 虫>Chuu; è™±>Shitsu; 虹>Kou; è™»>Bou; 蚊>Bun; èš‹>Zei; 蚌>Hou; èš“>In; èš•>San; 蚣>Kou; 蚤>Sou; èš©>Shi; 蚪>Tou; èš«>Hou; 蚯>Kyuu; èš°>Yuu; èš¶>Kan; 蛄>Ko; 蛆>Sho; 蛇>Ja; 蛉>Rei; 蛋>Tan; è›>Kei; 蛎>Rei; è›”>Kai; è›™>A; è››>Shu; 蛞>Katsu; 蛟>Kou; 蛤>Kou; 蛩>Kyou; 蛬>Kyou; è›­>Shitsu; è›®>Ban; 蛸>Sou; 蛹>You; è›»>Zei; 蛾>Ga; 蜀>Shoku; 蜂>Hou; 蜃>Shin; 蜆>Ken; 蜈>Go; 蜉>Fu; 蜊>Ri; èœ>Sho; 蜑>Tan; 蜒>En; 蜘>Chi; 蜚>Hi; 蜜>Mitsu; 蜥>Seki; 蜩>Chou; 蜴>Eki; 蜷>Ken; 蜻>Sei; 蜿>En; è‰>Sen; è‹>Rou; èŒ>Ka; èŽ>Katsu; è“>Yu; è•>Shoku; è—>Kou; è™>Hen; èŸ>I; è >Fuku; è£>Yuu; è¦>Ka; è¨>Shitsu; èª>Tou; è®>Fuku; è´>Ko; è¶>Chou; è¸>Ka; è¿>You; èž‚>Rou; èž>Yuu; 螟>Mei; 螢>Kei; èž«>Seki; 螯>Gou; èž³>Tou; 螺>Ra; èž»>Rou; èž½>Shuu; 蟀>Shutsu; 蟄>Chitsu; 蟆>Ba; 蟇>Ba; 蟋>Shitsu; èŸ>Tou; 蟒>Bou; 蟠>Han; 蟯>Gyou; 蟲>Ki; 蟶>Tei; 蟷>Tou; 蟹>Kai; 蟻>Gi; 蟾>Sen; è …>You; è >Katsu; è Ž>Bou; è >Kai; è ‘>Ei; è •>Da; è –>Kaku; è ¡>Rei; è ¢>Shun; è £>Rei; è §>To; è ±>Ko; è ¶>San; è ¹>To; è »>Ban; è¡€>Ketsu; è¡‚>Jiku; è¡„>Jiku; 衆>Shuu; 行>Kou; è¡>En; è¡’>Ken; è¡“>Jutsu; è¡—>Gai; è¡™>Gyo; è¡›>Ei; è¡>Shou; 衞>Ei; è¡¡>Kou; è¡¢>Ku; è¡£>I; 表>Hyou; è¡«>San; è¡°>Sa; 衲>Dou; 衵>Jitsu; è¡·>Chuu; 衽>Jin; 衾>Kin; è¡¿>Kin; è¢>En; 袂>Bei; 袈>Ka; 袋>Tai; è¢>Hou; 袒>Tan; 袖>Shuu; 袗>Shin; 袙>Ha; 袞>Kon; 袢>Han; 袤>Bou; 被>Hi; 袮>Ne; 袱>Fuku; 袴>Ko; 袵>Jin; 袷>Kou; 袿>Kei; è£>Sai; 裂>Retsu; 装>Sou; è£>Ri; 裔>Ei; 裕>Yuu; 裘>Kyuu; 裙>Kun; 補>Ho; è£>Sou; 裟>Sa; 裡>Ri; 裨>Hi; 裲>Ryou; 裳>Shou; 裴>Hai; 裸>Ra; 裹>Ka; 裼>Seki; 製>Sei; 裾>Kyo; 褂>Kai; 複>Fuku; 褊>Hen; 褌>Kon; è¤>Katsu; 褒>Hou; 褓>Ho; è¤>Tan; 褞>On; 褥>Joku; 褪>Tai; 褫>Chi; 褶>Chou; 褸>Rou; 褻>Setsu; è¥>Kyou; 襃>Hou; 襄>Jou; 襌>Tan; è¥>Zatsu; 襖>Ou; 襞>Heki; 襟>Kin; 襠>Tou; 襤>Ran; 襦>Ju; 襪>Betsu; 襭>Ketsu; 襯>Shin; 襲>Shuu; 襴>Ran; 襾>Aka; 西>Sei; è¦>You; 覃>Tan; 覆>Fuku; 覇>Ha; 覈>Kaku; 覊>Ki; 見>Ken; è¦>Ki; 覓>Beki; 視>Shi; 覗>Shi; 覘>Ten; 覚>Kaku; 覡>Geki; 覦>Yu; 覧>Ran; 覩>To; 親>Shin; 覬>Ki; 覯>Kou; 覲>Kin; 観>Kan; 覺>Kaku; 覽>Ran; 覿>Teki; è§€>Kan; è§’>Kaku; è§š>Ko; è§œ>Shi; è§>Tei; è§£>Kai; 触>Shoku; è§§>Kai; è§´>Shou; 觸>Shoku; 言>Gen; 訂>Tei; 訃>Fu; 計>Kei; 訊>Jin; 訌>Kou; 討>Tou; è¨>Ketsu; 訓>Kun; 訖>Kitsu; 託>Taku; 記>Ki; 訛>Ka; è¨>Ga; 訟>Shou; 訣>Ketsu; 訥>Totsu; 訪>Hou; 設>Setsu; 許>Kyo; 訳>Yaku; 訴>So; 訶>Ka; 診>Shin; 註>Chuu; 証>Shou; è©>Ko; 詆>Tei; 詈>Ri; è©>Sa; è©‘>Ta; è©’>Tai; è©”>Shou; è©•>Hyou; è©›>So; 詞>Shi; è© >Ei; è©¢>Jun; è©£>Kei; 試>Shi; è©©>Shi; è©«>Ta; 詬>Kou; è©­>Ki; è©®>Sen; è©°>Kitsu; 話>Wa; 該>Gai; 詳>Shou; 詼>Kai; 誂>Chou; 誄>Rui; 誅>Chuu; 誇>Ko; 誉>Yo; 誌>Shi; èª>Nin; 誑>Kyou; 誓>Sei; 誕>Tan; 誘>Yuu; 誚>Shou; 語>Go; 誠>Sei; 誡>Kai; 誣>Fu; 誤>Go; 誥>Kou; 誦>Shou; 誨>Kai; 説>Setsu; 読>Toku; 誰>Sui; 課>Ka; 誹>Hi; 誼>Gi; 調>Chou; è«‚>Ten; è«„>Jun; 談>Dan; è«‹>Sei; 諌>Kan; è«>Sou; è«>Shu; è«’>Ryou; è«–>Ron; 諚>Jou; è«›>Yu; 諜>Chou; 諞>Hen; è« >Ken; è«¡>Shi; è«¢>Kon; 諤>Gaku; 諦>Tei; è«§>Kai; è««>Kan; è«­>Yu; è«®>Shi; 諱>Ki; 諳>An; è«·>Fuu; 諸>Sho; 諺>Gen; 諾>Daku; 謀>Bou; è¬>Etsu; 謂>I; 謄>Tou; 謇>Ken; 謌>Ka; 謎>Mei; è¬>Hitsu; 謔>Gyaku; 謖>Shoku; 謗>Bou; 謙>Ken; 謚>Shi; 講>Kou; è¬>Sha; 謠>You; 謡>You; 謦>Kei; 謨>Bo; 謫>Taku; 謬>Byou; 謳>Ou; 謹>Kin; 謾>Ban; è­>Ka; è­‰>Shou; è­Œ>Ka; è­Ž>Kitsu; è­>Ki; è­–>Shin; è­˜>Shiki; è­š>Tan; è­›>Shin; è­œ>Fu; è­Ÿ>Sou; è­¦>Kei; è­«>Sen; è­¬>Hi; è­¯>Yaku; è­°>Gi; è­±>Zen; è­²>Jou; è­´>Ken; è­·>Go; è­½>Yo; 讀>Toku; 讃>San; 變>Hen; 讌>En; 讎>Shuu; è®>Shuu; è®’>San; 讓>Jou; è®–>Shin; è®™>Kan; 讚>San; è°·>Koku; è°º>Ka; è°¿>Kei; è±>Katsu; 豆>Tou; 豈>Ki; 豊>Hou; 豌>En; 豎>Ju; è±>Hou; 豕>Shi; 豚>Ton; 象>Shou; è±¢>Ken; 豪>Gou; 豫>Yo; 豬>Cho; 豸>Chi; è±¹>Hou; 豺>Sai; è±¼>Hi; 貂>Chou; è²…>Kyuu; 貉>Kaku; 貊>Haku; 貌>Bou; è²>Ri; 貎>Gei; è²”>Hi; 貘>Baku; è²>Bai; 貞>Tei; è² >Fu; 財>Zai; è²¢>Kou; è²§>Hin; 貨>Ka; 販>Han; 貪>Don; 貫>Kan; 責>Seki; è²­>Shitsu; è²®>Ni; 貯>Cho; è²°>Sei; è²²>Shi; è²³>Ni; è²´>Ki; è²¶>Hen; è²·>Bai; 貸>Tai; è²»>Hi; è²¼>Ten; è²½>I; 貿>Bou; è³€>Ga; è³>Hi; 賂>Ro; 賃>Chin; 賄>Wai; 資>Shi; 賈>Ko; 賊>Zoku; è³>Sou; 賎>Sen; 賑>Shin; 賓>Hin; 賚>Rai; è³›>San; 賜>Shi; 賞>Shou; è³ >Bai; è³¢>Ken; è³£>Bai; 賤>Sen; 賦>Fu; 質>Shitsu; è³­>To; 賺>Tan; è³»>Fu; è³¼>Kou; è³½>Sai; è´„>Shi; è´…>Zei; è´‡>In; è´ˆ>Zou; è´Š>San; è´‹>Gan; è´>Sen; è´>Ei; è´>Shin; è´“>Zou; è´”>Hi; è´–>Shoku; 赤>Seki; 赦>Sha; èµ§>Tan; 赫>Kaku; èµ­>Sha; èµ°>Sou; èµ±>Sou; èµ³>Kyuu; èµ´>Fu; èµ·>Ki; è¶>Chin; è¶…>Chou; è¶Š>Etsu; è¶™>Chou; è¶£>Shu; 趨>Suu; è¶³>Soku; 趺>Fu; è¶¾>Shi; è·‚>Ki; è·‹>Batsu; è·Œ>Tetsu; è·>Ka; è·–>Seki; è·š>San; è·›>Ha; è·>Kyo; è·Ÿ>Kon; è·¡>Seki; è·£>Sen; è·¨>Ko; è·ª>Ki; è·«>Kyou; è·¯>Ro; è·³>Chou; è·µ>Sen; è·¼>Kyoku; è·¿>To; 踈>Sho; 踉>Ryou; 踊>You; è¸>Tou; è¸>Sen; è¸>Ka; 踞>Kyo; 踟>Chi; 踪>Shou; 踰>Yu; 踴>You; 踵>Shou; 蹂>Juu; 蹄>Tei; 蹇>Ken; 蹈>Tou; 蹉>Sa; 蹊>Kei; 蹌>Shou; è¹>Seki; 蹕>Hitsu; è¹™>Shuku; 蹟>Seki; è¹ >Seki; è¹£>Man; 蹤>Shou; è¹²>Son; è¹´>Shuu; è¹¶>Ketsu; è¹¼>Boku; èº>Sou; 躄>Heki; 躅>Choku; 躇>Cho; 躊>Chuu; 躋>Sei; èº>Yaku; 躑>Teki; 躓>Chi; 躔>Ten; 躙>Rin; 躡>Jou; 躪>Rin; 身>Shin; 躬>Kyuu; 躯>Ku; 躰>Tei; 躱>Ta; 軆>Tei; 車>Sha; 軋>Atsu; 軌>Ki; è»>Gun; è»’>Ken; è»›>Aku; 軟>Nan; 転>Ten; 軣>Gou; 軫>Shin; 軸>Jiku; è»»>Ka; 軼>Itsu; 軽>Kei; 軾>Shoku; 較>Kaku; è¼…>Ro; 載>Sai; 輊>Chi; 輌>Ryou; è¼’>Chou; 輓>Ban; è¼”>Fu; 輕>Kei; è¼™>Chou; è¼›>Ryou; 輜>Shi; è¼>Ki; 輟>Tetsu; 輦>Ren; 輩>Hai; 輪>Rin; 輯>Shuu; è¼³>Sou; 輸>Yu; è¼¹>Fuku; è¼»>Fuku; è¼¾>Ten; 輿>Yo; 轂>Koku; 轄>Katsu; è½…>En; 轆>Roku; 轉>Ten; è½>Tetsu; 轎>Kyou; è½—>Kan; 轜>Ji; 轟>Gou; 轡>Hi; è½¢>Reki; è½£>Reki; 轤>Ro; è¾›>Shin; 辜>Ko; 辞>Ji; 辟>Heki; è¾£>Ratsu; è¾§>Ben; 辨>Ben; è¾­>Ji; è¾®>Hen; 辯>Ben; è¾°>Shin; è¾±>Joku; è¾²>Nou; 辺>Hen; 辿>Ten; è¿‚>U; è¿„>Kitsu; è¿…>Jin; 迎>Gei; è¿‘>Kin; è¿”>Hen; è¿¢>Chou; è¿¥>Kei; 迦>Ka; è¿©>Ji; 迪>Teki; è¿«>Haku; è¿­>Tetsu; 迯>Tou; è¿°>Jutsu; è¿´>Kai; è¿·>Mei; 迸>Hou; 迹>Seki; 迺>Dai; 追>Tsui; 退>Tai; é€>Sou; 逃>Tou; 逅>Kou; 逆>Gyaku; 逋>Ho; é€>Shou; 逎>Shuu; é€>Tou; é€>Chiku; 逑>Kyuu; 逓>Tei; 途>To; 逕>Kei; 逖>Teki; 逗>Tou; 這>Gen; 通>Ts; é€>Sei; 逞>Tei; 速>Soku; 造>Zou; 逡>Shun; 逢>Hou; 連>Ren; 逮>Tai; 週>Shuu; 進>Shin; 逵>Ki; 逶>I; 逸>Itsu; 逹>Tatsu; 逼>Hitsu; 逾>Yu; é>Ton; é‚>Sui; é…>Chi; é‡>Guu; é‰>Tei; éŠ>Yuu; é‹>Un; é>Hen; éŽ>Ka; é>Atsu; é>Ka; é‘>Kou; é’>Shuu; é“>Dou; é”>Tatsu; é•>I; é˜>Kou; é™>You; éœ>Son; éž>Tei; é >En; é¡>So; é£>Ken; é¥>You; é¨>Gou; é©>Teki; é­>Sou; é®>Sha; é¯>Ton; é²>Chi; éµ>Jun; é¶>Jou; é·>Sen; é¸>Sen; éº>I; é¼>Ryou; é½>Kyo; é¿>Hi; é‚€>You; é‚>Bai; é‚‚>Kai; 邃>Sui; é‚„>Kan; 邇>Ji; 邉>Hen; 邊>Hen; é‚>Ra; é‚‘>Yuu; é‚£>Da; 邦>Hou; 邨>Son; 邪>Ya; 邯>Kan; 邱>Kyuu; 邵>Shou; 邸>Tei; éƒ>Iku; 郊>Kou; 郎>Rou; 郛>Fu; 郡>Gun; 郢>Ei; 郤>Geki; 部>Bu; 郭>Kaku; 郵>Yuu; 郷>Kyou; 都>To; é„‚>Gaku; é„’>Suu; é„™>Hi; é„­>Tei; é„°>Rin; 鄲>Tan; é…‰>Yuu; é…Š>Tei; é…‹>Shuu; é…Œ>Shaku; é…>Hai; é…Ž>Chuu; é…’>Shu; é…”>Sui; é…–>Tan; é…˜>Tou; é…¢>Saku; é…£>Kan; é…¥>So; é…©>Mei; é…ª>Raku; é…¬>Shuu; é…²>Tei; é…³>In; é…µ>Kou; é…·>Koku; é…¸>San; 醂>Rin; 醇>Shun; 醉>Sui; 醋>Saku; é†>Tei; é†>Ko; 醒>Sei; 醗>Hatsu; 醜>Shuu; 醢>Kai; 醤>Shou; 醪>Rou; 醫>I; 醯>Kei; 醴>Rei; 醵>Kyo; 醸>Jou; 醺>Kun; 釀>Jou; é‡>Kin; 釆>Han; 采>Sai; 釈>Shaku; 釉>Yuu; 釋>Shaku; 里>Ri; é‡>Chou; 野>Ya; é‡>Ryou; é‡>Ri; 金>Kin; 釖>Tou; 釘>Tei; 釛>Koku; 釜>Fu; é‡>Shin; 釟>Hatsu; 釡>Fu; 釣>Chou; 釦>Kou; 釧>Sen; 釵>Sa; 釶>Shi; 釼>Ken; 釿>Kin; éˆ>Don; 鈎>Kou; 鈑>Han; 鈔>Shou; 鈕>Chuu; 鈞>Kin; 鈩>Ro; 鈬>Taku; 鈴>Rei; 鈷>Ko; 鈿>Ten; 鉄>Tetsu; 鉅>Kyo; 鉈>Sha; 鉉>Ken; 鉋>Hou; é‰>Seki; 鉗>Kan; 鉚>Ryuu; 鉛>En; 鉞>Etsu; 鉢>Hachi; 鉤>Kou; 鉦>Sei; 鉱>Kou; 鉾>Bou; 銀>Gin; 銃>Juu; 銅>Dou; 銑>Sen; 銓>Sen; 銕>Tetsu; 銖>Shu; 銘>Mei; 銚>You; 銛>Sen; 銜>Kan; 銭>Sen; 銷>Shou; 銹>Shuu; é‹>Kyou; é‹’>Hou; 鋤>Jo; é‹©>Bou; 鋪>Ho; é‹­>Ei; 鋳>Chuu; 鋸>Kyo; 鋺>En; 鋼>Kou; 錆>Sei; éŒ>A; éŒ>Sui; 錘>Tsui; 錙>Shi; 錚>Sou; 錠>Jou; 錢>Sen; 錣>Tei; 錦>Kin; 錨>Byou; 錫>Seki; 錬>Ren; 錮>Ko; 錯>Saku; 録>Roku; 錻>Bu; é„>Kei; é‹>Ka; é>To; é”>Gaku; é–>Chin; é›>Tan; éœ>Ka; é >Kou; é¬>Shuu; é®>Chuu; éµ>Ken; é¼>Shin; é¾>Shou; 鎌>Ren; 鎔>You; 鎖>Sa; 鎗>Sou; 鎚>Tsui; 鎧>Gai; 鎬>Kou; 鎭>Chin; 鎮>Chin; 鎰>Itsu; éƒ>Zoku; éˆ>Ren; é>Ryuu; é‘>Teki; é–>Ou; é—>Kou; é˜>Shou; é>Man; é¡>Kyou; é¤>Rou; é¥>Shuu; é¨>San; éƒ>Dou; é‡>Han; é>Ryou; é“>Tai; é”>Shin; é˜>Shou; é™>Tou; éš>A; é¡>Tetsu; é«>Sen; éµ>Tetsu; é¶>Kan; é¸>Taku; éº>Tou; é‘>Ban; é‘„>Chuu; é‘‘>Kan; é‘’>Kan; 鑚>San; é‘›>Kou; 鑞>Rou; é‘ >Shaku; é‘¢>Ryo; 鑪>Ro; é‘°>Yaku; 鑵>Kan; é‘·>Jou; 鑼>Ra; 鑽>San; 鑾>Ran; é‘¿>Saku; é’>Kaku; é•·>Chou; é–€>Mon; é–‚>San; é–ƒ>Sen; é–‡>Hei; é–‰>Hei; é–‹>Kai; é–>Jun; é–‘>Kan; é–“>Kan; é–”>Bin; é–˜>Kou; é–™>Tou; é–¢>Kan; é–£>Kaku; é–¤>Kou; é–¥>Batsu; é–§>Kou; é–¨>Kei; é–­>Ro; é–²>Etsu; é–¹>En; é–»>En; é–¼>A; é–¾>Yoku; é—ƒ>Geki; é—‡>An; é—Š>Katsu; é—Œ>Ran; é—>To; é—”>Kou; é—•>Ketsu; é—–>Chin; é—˜>Tou; é—œ>Kan; é—¡>Sen; é—¢>Heki; é—¥>Tatsu; 阜>Fu; 阡>Sen; 阨>Aku; 阪>Han; 阮>Gen; 阯>Shi; 防>Bou; 阻>So; 阿>A; 陀>Da; 陂>Ha; 附>Fu; 陋>Rou; 陌>Haku; é™>Kou; é™>Ta; é™>Gen; é™›>Hei; 陜>Kou; é™>Sen; 陞>Shou; 陟>Choku; 院>In; 陣>Jin; 除>Jo; 陥>Kan; 陦>Tou; 陪>Bai; 陬>Suu; é™°>In; 陲>Sui; 陳>Chin; 陵>Ryou; é™¶>Tou; é™·>Kan; 陸>Riku; 険>Ken; 陽>You; éš…>Guu; 隆>Ryuu; 隈>Wai; 隊>Tai; éš‹>Ta; éš>Kou; 階>Kai; éš>Zui; éš”>Kaku; éš•>In; éš—>Kai; 隘>Ai; éš™>Geki; éš›>Sai; éšœ>Shou; éš >In; 隣>Rin; éš§>Sui; 隨>Zui; 險>Ken; éš°>Shitsu; éš±>In; éš²>Shitsu; éš´>Rou; éš¶>Tai; éš·>Rei; 隸>Rei; éš¹>Sui; éš»>Seki; éš¼>Jun; 雀>Jaku; é›>Gan; 雄>Yuu; é›…>Ga; 集>Shuu; 雇>Ko; 雉>Chi; 雋>Sen; 雌>Shi; é›>You; 雎>Sho; 雑>Zatsu; 雕>Chou; é›–>Sui; é›™>Sou; é››>Suu; 雜>Zatsu; 離>Ri; 難>Nan; 雨>U; 雪>Setsu; 雫>Da; é›°>Fun; 雲>Un; é›¶>Rei; é›·>Rai; 雹>Haku; é›»>Den; 需>Ju; 霄>Shou; 霆>Tei; 震>Shin; 霈>Hai; 霊>Rei; éœ>Kaku; 霎>Sou; éœ>Hi; 霑>Ten; 霓>Gei; 霖>Rin; 霙>Ei; 霜>Sou; 霞>Ka; 霤>Ryuu; 霧>Mu; 霪>In; 霰>San; 露>Ro; 霸>Haku; 霹>Heki; 霽>Sei; 霾>Bai; é‚>Reki; é„>Ai; é†>Tai; éˆ>Rei; é‰>Ai; é’>Sei; é–>Sei; é™>Sei; éœ>Sei; éž>Hi; é >Kou; é¡>Hi; é¢>Men; é¤>Hou; é¦>Ten; é¨>You; é©>Kaku; é«>Sai; é­>Jin; é±>Jin; é´>Ka; é¹>Ketsu; éº>Matsu; é¼>Tan; éž>Hi; éž„>Hou; éž…>Ou; éž‹>Ai; éž>An; éž>Kyou; 鞘>Sou; éžœ>Tou; éž >Kiku; 鞣>Juu; 鞦>Shuu; 鞨>Katsu; éž«>Kiku; éž­>Hen; éž³>Tou; éž´>Fuku; 韃>Datsu; 韆>Sen; 韈>Betsu; 韋>I; 韓>Kan; 韜>Tou; 韭>Kyuu; 韮>Kyou; 韲>Sei; 音>On; 韵>In; 韶>Shou; 韻>In; 響>Kyou; é >Ketsu; é ‚>Chou; é ƒ>Kei; é …>Kou; é †>Jun; é ˆ>Shu; é Œ>Shou; é >Kou; é >Yo; é ‘>Gan; é ’>Han; é “>Ton; é —>Ha; é ˜>Ryou; é š>Kei; é ¡>Kitsu; é ¤>I; é ¬>Kyou; é ­>Tou; é ´>Ei; é ·>Kan; é ¸>Kei; é »>Hin; é ¼>Rai; é ½>Tai; 顆>Ka; é¡‹>Sai; 題>Dai; é¡>Gaku; 顎>Gaku; é¡>Gan; é¡”>Gan; é¡•>Ken; 願>Gan; é¡›>Ten; 類>Rui; é¡§>Ko; é¡«>Sen; 顯>Ken; é¡°>Hin; 顱>Ro; 顳>Shou; é¡´>Kan; 風>Fuu; 颯>Satsu; 颱>Tai; 颶>Ku; 飃>Hyou; 飄>Hyou; 飆>Hyou; 飛>Hi; 飜>Hon; 食>Shoku; 飢>Ki; 飩>Ton; 飫>Yo; 飭>Choku; 飮>In; 飯>Han; 飲>In; 飴>I; 飼>Shi; 飽>Hou; 飾>Shoku; 餃>Kou; 餅>Hei; 餉>Shou; 養>You; 餌>Ji; é¤>San; 餒>Dai; 餓>Ga; 餔>Ho; 餘>Yo; é¤>Shoku; 餞>Sen; 餠>Hei; 餡>Kan; 餤>Tan; 館>Kan; 餬>Ko; 餮>Tetsu; 餽>Ki; 餾>Ryuu; 饂>Un; 饅>Man; 饉>Kin; 饋>Ki; 饌>Sen; é¥>I; 饑>Ki; 饒>Jou; 饕>Tou; 饗>Kyou; 首>Shu; 馗>Ki; 馘>Kaku; 香>Kou; 馥>Fuku; 馨>Kei; 馬>Ba; 馭>Gyo; 馮>Hyou; 馳>Chi; 馴>Shun; 馼>Bun; é§>Baku; é§„>Ta; é§…>Eki; 駆>Ku; 駈>Ku; é§>Chuu; é§‘>Do; é§’>Ku; é§•>Ga; 駘>Tai; é§›>Shi; é§>Ta; é§Ÿ>Shi; é§¢>Hen; é§­>Kai; é§®>Haku; é§±>Raku; 駸>Shin; é§»>Kan; é§¿>Shun; é¨>Tei; 騅>Sui; 騎>Ki; é¨>Ki; 騒>Sou; 験>Ken; 騙>Hen; 騨>Tan; 騫>Ken; 騰>Tou; 騷>Sou; 騾>Ra; é©€>Baku; é©‚>San; 驃>Hyou; é©…>Ku; é©>Gyou; é©•>Kyou; é©—>Ken; 驚>Kyou; é©›>Eki; 驟>Shuu; é©¢>Ryo; 驤>Jou; é©¥>Ki; é©©>Kan; 驪>Ri; é©«>Hyuu; 骨>Kotsu; 骭>Kan; 骰>Tou; 骸>Kai; 骼>Kaku; é«€>Hi; é«„>Zui; é«>Rou; é«‘>Toku; é«“>Zui; é«”>Tei; 高>Kou; 髞>Sou; 髟>Hyou; é«¢>Tei; é«£>Hou; 髦>Bou; 髪>Hatsu; é««>Chou; é«­>Shi; é«®>Hatsu; 髯>Zen; 髱>Hou; é«´>Futsu; é«·>Kyoku; é«»>Kei; 鬆>Shou; 鬘>Ban; 鬚>Shu; 鬟>Kan; 鬢>Hin; 鬣>Ryou; 鬥>Tou; 鬧>Tou; 鬨>Kou; 鬩>Geki; 鬪>Tou; 鬮>Kyuu; 鬯>Chou; 鬱>Utsu; 鬲>Reki; 鬻>Shuku; 鬼>Ki; é­>Kai; é­‚>Kon; é­ƒ>Batsu; é­„>Haku; é­…>Mi; é­>Bou; é­Ž>Ryou; é­>Gi; é­‘>Chi; é­”>Ma; é­˜>En; é­š>Gyo; é­¯>Ro; é­´>Hou; 鮃>Hyou; 鮎>Nen; 鮑>Hou; é®’>Fu; 鮓>Sa; 鮟>An; é® >Gai; 鮨>Shi; 鮪>I; 鮫>Kou; é®­>Kei; é®®>Sen; 鮹>Sou; 鯀>Kon; 鯆>Ho; 鯉>Ri; 鯊>Sa; 鯔>Shi; 鯖>Sei; 鯛>Chou; 鯡>Hi; 鯢>Gei; 鯣>Eki; 鯤>Kon; 鯨>Gei; 鯰>Nen; 鯵>Sou; é°„>I; é°†>Shun; é°ˆ>Chou; é°‰>Kou; é°Š>Ren; é°Œ>Shuu; é°>Shuu; é°>Gaku; é°’>Fuku; é°“>Sai; é°”>Kan; é°•>Ka; é°›>On; é°¡>Ryuu; é°¤>Shi; é°¥>Kan; é°­>Ki; é°®>On; é°²>Gou; é°¹>Ken; é°º>Sou; é°»>Ban; é°¾>Hyou; 鱆>Shou; 鱇>Kou; 鱈>Setsu; é±’>Son; é±—>Rin; é± >Kai; é±§>Rei; é±¶>Shou; 鱸>Ro; é³¥>Chou; é³§>Fu; 鳩>Kyuu; 鳫>Gan; 鳬>Fu; é³³>Hou; é³´>Mei; é³¶>En; é´ƒ>Ketsu; é´†>Chin; é´‡>Hou; é´ˆ>Gan; é´‰>A; é´Ž>Ou; é´’>Rei; é´•>Ta; é´›>En; é´Ÿ>Shi; é´£>Ko; é´¦>You; é´¨>Ou; é´ª>Itsu; é´¬>Ou; é´»>Kou; é´¾>Bou; é´¿>Kou; éµ>Kou; 鵄>Shi; éµ>Bu; 鵑>Ken; éµ™>Geki; 鵜>Tei; éµ>Ga; 鵞>Ga; éµ >Koku; 鵡>Bu; 鵬>Hou; 鵯>Hi; éµ²>Jaku; 鵺>Ya; 鶇>Tou; 鶉>Shun; é¶>Kei; é¶š>Gaku; 鶤>Kon; é¶©>Boku; 鶯>Ou; é¶²>Ou; é¶´>Kaku; 鶸>Jaku; 鶺>Seki; é¶»>Kotsu; é·>Geki; é·‚>You; é·„>Kei; é·†>Ten; é·>Ten; é·“>Sha; é·™>Shi; é·¦>Shou; é·­>Ban; é·¯>Ryou; é·²>Shuu; é·¸>Itsu; é·¹>You; é·º>Ro; é·½>Kaku; 鸚>Ou; 鸛>Kan; 鸞>Ran; é¹µ>Ro; 鹸>Ken; é¹¹>Kan; é¹½>En; 鹿>Roku; éº>So; 麈>Shu; 麋>Bi; 麌>Gu; 麑>Gei; 麒>Ki; 麓>Roku; 麕>Kin; 麗>Rei; éº>Sha; 麟>Rin; 麥>Baku; 麦>Baku; 麩>Fu; 麪>Men; 麭>Hou; 麸>Fu; 麹>Kiku; 麺>Men; 麻>Ma; 麼>Ma; 麾>Ki; 麿>Ro; 黄>Kou; 黌>Kou; é»>Sho; 黎>Rei; é»>Nen; é»>Chi; é»’>Koku; é»”>Ken; 默>Moku; é»™>Moku; é»›>Tai; 黜>Chutsu; é»>Yuu; 點>Ten; é» >Katsu; 黥>Gei; 黨>Tou; 黯>An; é»´>Bai; é»¶>En; é»·>Toku; 黹>Chi; é»»>Futsu; 黼>Ho; 黽>Bou; 鼇>Gou; 鼈>Betsu; 鼎>Tei; 鼓>Ko; 鼕>Tou; é¼ >So; 鼡>Sho; 鼬>Yuu; é¼»>Bi; é¼¾>Kan; 齊>Sei; 齋>Sai; 齎>Sei; é½>Sei; é½’>Shi; é½”>Shin; 齟>So; é½ >Chou; 齡>Rei; é½¢>Rei; é½£>Shutsu; 齦>Gin; é½§>Ketsu; 齪>Soku; 齬>Gyo; é½²>Ku; é½¶>Gaku; é½·>Aku; é¾>Ryuu; 龕>Gan; 龜>Ki; é¾>Shuu; é¾ >Yaku; # eof icu4j-4.4-4.4.2.2/demos/src/com/ibm/icu/dev/demo/translit/thai_test.txt000066400000000000000000000212041172643025600253010ustar00rootroot00000000000000#-------------------------------------------------------------------- # Copyright (c) 1999-2004, International Business Machines # Corporation and others. All Rights Reserved. #-------------------------------------------------------------------- @UPPERFILTER@ Unicode คืออะไร? Unicode à¸à¸³à¸«à¸™à¸”หมายเลขเฉพาะสำหรับทุà¸à¸­à¸±à¸à¸‚ระ โดยไม่สนใจว่าเป็นà¹à¸žà¸¥à¹‡à¸•ฟอร์มใด ไม่ขึ้นà¸à¸±à¸šà¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¹‡à¸™à¹‚ปรà¹à¸à¸£à¸¡à¹ƒà¸” à¹à¸¥à¸°à¹„ม่ว่าจะเป็นภาษาใด โดยพื้นà¸à¸²à¸™à¹à¸¥à¹‰à¸§, คอมพิวเตอร์จะเà¸à¸µà¹ˆà¸¢à¸§à¸‚้องà¸à¸±à¸šà¹€à¸£à¸·à¹ˆà¸­à¸‡à¸‚องตัวเลข. คอมพิวเตอร์จัดเà¸à¹‡à¸šà¸•ัวอัà¸à¸©à¸£à¹à¸¥à¸°à¸­à¸±à¸à¸‚ระอื่นๆ โดยà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”หมายเลขให้สำหรับà¹à¸•่ละตัว. à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸—ี่๊ Unicode จะถูà¸à¸ªà¸£à¹‰à¸²à¸‡à¸‚ึ้น, ได้มีระบบ encoding อยู่หลายร้อยระบบสำหรับà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”หมายเลขเหล่านี้. ไม่มี encoding ใดที่มีจำนวนตัวอัà¸à¸‚ระมาà¸à¹€à¸žà¸µà¸¢à¸‡à¸žà¸­: ยà¸à¸•ัวอย่างเช่น, เฉพาะในà¸à¸¥à¸¸à¹ˆà¸¡à¸ªà¸«à¸ à¸²à¸žà¸¢à¸¸à¹‚รปเพียงà¹à¸«à¹ˆà¸‡à¹€à¸”ียว à¸à¹‡à¸•้องà¸à¸²à¸£à¸«à¸¥à¸²à¸¢ encoding ในà¸à¸²à¸£à¸„รอบคลุมทุà¸à¸ à¸²à¸©à¸²à¹ƒà¸™à¸à¸¥à¸¸à¹ˆà¸¡. หรือà¹à¸¡à¹‰à¹à¸•่ในภาษาเดี่ยว เช่น ภาษาอังà¸à¸¤à¸© à¸à¹‡à¹„ม่มี encoding ใดที่เพียงพอสำหรับทุà¸à¸•ัวอัà¸à¸©à¸£, เครื่องหมายวรรคตอน à¹à¸¥à¸°à¸ªà¸±à¸à¸¥à¸±à¸à¸©à¸“์ทางเทคนิคที่ใช้à¸à¸±à¸™à¸­à¸¢à¸¹à¹ˆà¸—ั่วไป. ระบบ encoding เหล่านี้ยังขัดà¹à¸¢à¹‰à¸‡à¸‹à¸¶à¹ˆà¸‡à¸à¸±à¸™à¹à¸¥à¸°à¸à¸±à¸™. นั่นà¸à¹‡à¸„ือ, ในสอง encoding สามารถใช้หมายเลขเดียวà¸à¸±à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸•ัวอัà¸à¸‚ระสองตัวที่à¹à¸•à¸à¸•่างà¸à¸±à¸™,หรือใช้หมายเลขต่างà¸à¸±à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸­à¸±à¸à¸‚ระตัวเดียวà¸à¸±à¸™. ในระบบคอมพิวเตอร์ (โดยเฉพาะเซิร์ฟเวอร์) ต้องมีà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸«à¸¥à¸²à¸¢ encoding; à¹à¸¥à¸°à¹€à¸¡à¸·à¹ˆà¸­à¸‚้อมูลที่ผ่านไปมาระหว่างà¸à¸²à¸£à¹€à¸‚้ารหัสหรือà¹à¸žà¸¥à¹‡à¸•ฟอร์มที่ต่างà¸à¸±à¸™, ข้อมูลนั้นจะเสี่ยงต่อà¸à¸²à¸£à¸œà¸´à¸”พลาดเสียหาย. Unicode จะเปลี่ยนà¹à¸›à¸¥à¸‡à¸ªà¸´à¹ˆà¸‡à¹€à¸«à¸¥à¹ˆà¸²à¸™à¸±à¹‰à¸™à¸—ั้งหมด! Unicode à¸à¸³à¸«à¸™à¸”หมายเลขเฉพาะสำหรับà¹à¸•่ละอัà¸à¸‚ระ, โดยไม่สนใจว่าเป็นà¹à¸žà¸¥à¹‡à¸•ฟอร์มใด, ไม่ขึ้นà¸à¸±à¸šà¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¹‡à¸™à¹‚ปรà¹à¸à¸£à¸¡à¹ƒà¸”à¹à¸¥à¸°à¹„ม่ว่าจะเป็นภาษาใด. มาตรà¸à¸²à¸™ Unicode ได้ถูà¸à¸™à¸³à¹„ปใช้โดยผู้นำในอุตสาหà¸à¸£à¸£à¸¡ เช่น Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys à¹à¸¥à¸°à¸­à¸·à¹ˆà¸™à¹† อีà¸à¸¡à¸²à¸. Unicode เป็นสิ่งที่จำเป็นสำหรับมาตรà¸à¸²à¸™à¹ƒà¸«à¸¡à¹ˆà¹† เช่น XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML ฯลฯ., à¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¹à¸™à¸§à¸—างอย่างเป็นทางà¸à¸²à¸£à¹ƒà¸™à¸à¸²à¸£à¸—ำ ISO/IEC 10646. Unicode ได้รับà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¹ƒà¸™à¸£à¸°à¸šà¸šà¸›à¸à¸´à¸šà¸±à¸•ิà¸à¸²à¸£à¸ˆà¸³à¸™à¸§à¸™à¸¡à¸²à¸, บราวเซอร์ใหม่ๆ ทà¸à¸•ัว, à¹à¸¥à¸°à¸œà¸¥à¸´à¸•ภัณฑ์อื่นๆ อีà¸à¸¡à¸²à¸. à¸à¸²à¸£à¹€à¸à¸´à¸”ขึ้นของ Unicode Standard à¹à¸¥à¸°à¸—ูลส์ต่างๆ ที่มีในà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™ Unicode, เป็นหนึ่งในà¹à¸™à¸§à¹‚น้มทางเทคโนโลยีซอฟต์à¹à¸§à¸£à¹Œà¸£à¸°à¸”ับโลà¸à¸—ี่มีความสำคัà¸à¸—ี่สุด. à¸à¸²à¸£à¸£à¸§à¸¡ Unicode เข้าไปในระบบไคลเอ็นต์-เซิร์ฟเวอร์ หรือà¹à¸­à¹‡à¸žà¸žà¸¥à¸´à¹€à¸„ชันà¹à¸šà¸š multi-tiered à¹à¸¥à¸°à¹€à¸§à¹‡à¸šà¹„ซต์ จะทำให้เà¸à¸´à¸”à¸à¸²à¸£à¸›à¸£à¸°à¸«à¸¢à¸±à¸”ค่าใช้จ่ายมาà¸à¸à¸§à¹ˆà¸²à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸Šà¸¸à¸”อัà¸à¸‚ระà¹à¸šà¸šà¹€à¸”ิม. Unicode ทำให้ผลิตภัณฑ์ซอฟต์à¹à¸§à¸£à¹Œà¸«à¸™à¸¶à¹ˆà¸‡à¹€à¸”ียว หรือเว็บไซต์à¹à¸«à¹ˆà¸‡à¹€à¸”ียว รองรับได้หลายà¹à¸žà¸¥à¹‡à¸•ฟอร์ม, หลายภาษาà¹à¸¥à¸°à¸«à¸¥à¸²à¸¢à¸›à¸£à¸°à¹€à¸—ศโดยไม่ต้องทำà¸à¸²à¸£à¸£à¸·à¹‰à¸­à¸›à¸£à¸±à¸šà¸£à¸°à¸šà¸š. Unicode ยังทำให้ข้อมูลสามารถเคลื่อนย้ายไปมาในหลายๆ ระบบโดยไม่เà¸à¸´à¸”ความผิดพลาดเสียหาย. เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸š Unicode Consortium Unicode Consortium เป็นองค์à¸à¸£à¹„ม่à¹à¸ªà¸§à¸‡à¸«à¸²à¸à¸³à¹„รที่à¸à¹ˆà¸­à¸•ั้งขึ้นเพื่อพัฒนา, ขยายà¹à¸¥à¸°à¸ªà¹ˆà¸‡à¹€à¸ªà¸£à¸´à¸¡à¸à¸²à¸£à¹ƒà¸Šà¹‰ Unicode Standard, ซึ่งà¸à¸³à¸«à¸™à¸”รูปà¹à¸šà¸šà¸à¸²à¸£à¹à¸—นค่าของข้อความในผลิตภัณฑ์ซอฟต์à¹à¸§à¸£à¹Œà¹à¸¥à¸°à¸¡à¸²à¸•รà¸à¸²à¸™à¹ƒà¸«à¸¡à¹ˆà¹†. สมาชิà¸à¸‚องสมาคมเป็นตัวà¹à¸—นจาà¸à¸šà¸£à¸´à¸©à¸±à¸—à¹à¸¥à¸°à¸­à¸‡à¸„์à¸à¸£à¹ƒà¸™à¸­à¸¸à¸•สาหà¸à¸£à¸£à¸¡à¸„อมพิวเตอร์à¹à¸¥à¸°à¸à¸²à¸£à¸›à¸£à¸°à¸¡à¸§à¸¥à¸œà¸¥à¸ªà¸²à¸£à¸ªà¸™à¹€à¸—ศ. สมาคมได้รับà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸—างà¸à¸²à¸£à¹€à¸‡à¸´à¸™à¸œà¹ˆà¸²à¸™à¸—างค่าธรรมเนียมของà¸à¸²à¸£à¹€à¸›à¹‡à¸™à¸ªà¸¡à¸²à¸Šà¸´à¸à¹€à¸—่านั้น. สมาชิà¸à¸ à¸²à¸žà¸‚อง Unicode Consortium เปิดà¸à¸§à¹‰à¸²à¸‡à¸ªà¸³à¸«à¸£à¸±à¸šà¸­à¸‡à¸„์à¸à¸£à¸«à¸£à¸·à¸­à¸šà¸¸à¸„คลใดๆ ในโลà¸à¸—ี่ต้องà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™ Unicode Standard à¹à¸¥à¸°à¸Šà¹ˆà¸§à¸¢à¹€à¸«à¸¥à¸·à¸­à¸à¸²à¸£à¸‚ยายตัวà¹à¸¥à¸°à¸à¸²à¸£à¸™à¸³ Unicode ไปใช้งาน. สำหรับข้อมูลเพิ่มเติม, ให้ดูที่ Glossary, Sample Unicode-Enabled Products, Technical Introduction à¹à¸¥à¸° Useful Resources. @TITLECASE@ à¸à¹Šà¸à¹€à¸®à¸‡ à¹à¸‹à¹ˆà¹à¸•้ à¸à¸Šà¸à¸£ ศราทธทัต à¸à¸•ิà¸à¸² อังคสุภณ à¸à¸™à¸ ธรรมประทีป à¸à¸™à¸ วงศ์ทองศรี à¸à¸™à¸à¸à¸£ ช้างเย็นฉ่ำ à¸à¸™à¸à¸‰à¸±à¸•ร์ ถาวรนันท์ à¸à¸™à¸à¸™à¸§à¸¥ โปษยะนันทน์ à¸à¸™à¸à¸žà¸£ คมคาย à¸à¸™à¸à¸žà¸£ ตีรเลิศพานิช à¸à¸™à¸à¸žà¸£ พันทร à¸à¸™à¸à¸žà¸£ ศรีบัณฑิต à¸à¸™à¸à¸žà¸£ อติวรรณาพัฒน์ à¸à¸™à¸à¸žà¸£à¸£à¸“ ศรีวนาภิรมย์ à¸à¸™à¸à¸£à¸±à¸•น์ เà¸à¸µà¸¢à¸£à¸•ิยิ่งอังศุลี à¸à¸™à¸à¸£à¸±à¸•น์ สุธรรมพิทัà¸à¸©à¹Œ à¸à¸™à¸à¸§à¸£à¸£à¸“ คงคาประเสริภà¸à¸™à¸à¸§à¸£à¸£à¸“ à¹à¸‹à¹ˆà¹€à¸•ียว à¸à¸™à¸à¸§à¸£à¸£à¸“ บุà¸à¸›à¸£à¸°à¹€à¸ªà¸£à¸´à¸ à¸à¸™à¸à¸§à¸£à¸£à¸“ รัà¸à¸—รัพย์ à¸à¸™à¸à¸§à¸£à¸£à¸“ สัจจพงษ์ à¸à¸™à¸à¸§à¸£à¸£à¸“ อุ้ยวงศ์ไพศาล à¸à¸™à¸à¸¨à¸±à¸à¸”ิ์ ยิ่งยง à¸à¸™à¸à¹à¸à¹‰à¸§ à¸à¸£à¸ªà¸¡à¸´à¸• à¸à¸™à¸´à¸©à¸à¸² ทนุถนอมราษฎร์ à¸à¸™à¸´à¸©à¸à¸² หวังวิบูลย์à¸à¸´à¸ˆ à¸à¸¡à¸¥ à¸à¸²à¸à¸ˆà¸™à¹‚รจน์ à¸à¸¡à¸¥ คัมภีร์ à¸à¸¡à¸¥ เจตน์มงคลรัตน์ à¸à¸¡à¸¥ ชูตระà¸à¸¹à¸¥à¸˜à¸£à¸£à¸¡icu4j-4.4-4.4.2.2/eclipse-build/000077500000000000000000000000001172643025600157315ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/build.properties000066400000000000000000000011341172643025600211450ustar00rootroot00000000000000#******************************************************************************* #* Copyright (C) 2010-2011, International Business Machines Corporation and * #* others. All Rights Reserved. * #******************************************************************************* icu4j.plugin.impl.version.string=4.4.2 copyright.eclipse=Licensed Materials - Property of IBM \n (C) Copyright IBM Corp. 2000, 2011. All Rights Reserved. \n IBM is a registered trademark of IBM Corp. icu4j.data.version.number=44 icu4j.eclipse.build.version.string=4.4.2.v20110831 icu4j-4.4-4.4.2.2/eclipse-build/build.xml000066400000000000000000000367001172643025600175600ustar00rootroot00000000000000 icu4j-4.4-4.4.2.2/eclipse-build/eclipse_mod_classes.txt000066400000000000000000000002531172643025600224720ustar00rootroot00000000000000# Copyright (C) 2011, International Business Machines Corporation and # others. All Rights Reserved. com/ibm/icu/lang/UCharacter.java com/ibm/icu/text/DecimalFormat.java icu4j-4.4-4.4.2.2/eclipse-build/eclipse_mod_test_classes.txt000066400000000000000000000004771172643025600235410ustar00rootroot00000000000000# Copyright (C) 2011, International Business Machines Corporation and # others. All Rights Reserved. com/ibm/icu/dev/test/format/IntlTestDecimalFormatAPI.java com/ibm/icu/dev/test/format/NumberFormatTest.java com/ibm/icu/dev/test/serializable/CompatibilityTest.java com/ibm/icu/dev/test/serializable/CoverageTest.java icu4j-4.4-4.4.2.2/eclipse-build/features.template/000077500000000000000000000000001172643025600213615ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/features.template/com.ibm.icu.base/000077500000000000000000000000001172643025600243755ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/features.template/com.ibm.icu.base/.project000066400000000000000000000006141172643025600260450ustar00rootroot00000000000000 com.ibm.icu.base-feature org.eclipse.pde.FeatureBuilder org.eclipse.pde.FeatureNature icu4j-4.4-4.4.2.2/eclipse-build/features.template/com.ibm.icu.base/build.properties000066400000000000000000000013341172643025600276130ustar00rootroot00000000000000############################################################################### # Copyright (c) 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### bin.includes =\ epl-v10.html,\ eclipse_update_120.jpg,\ feature.xml,\ feature.properties,\ license.html outputUpdateJars = true generate.plugin@com.ibm.icu.base.source=com.ibm.icu.base icu4j-4.4-4.4.2.2/eclipse-build/features.template/com.ibm.icu.base/feature.xml000066400000000000000000000014501172643025600265520ustar00rootroot00000000000000 [Enter Feature Description here.] [Enter Copyright Description here.] [Enter License Description here.] icu4j-4.4-4.4.2.2/eclipse-build/features.template/com.ibm.icu/000077500000000000000000000000001172643025600234645ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/features.template/com.ibm.icu/.project000066400000000000000000000005661172643025600251420ustar00rootroot00000000000000 com.ibm.icu-feature org.eclipse.pde.FeatureBuilder org.eclipse.pde.FeatureNature icu4j-4.4-4.4.2.2/eclipse-build/features.template/com.ibm.icu/build.properties000066400000000000000000000013041172643025600266770ustar00rootroot00000000000000############################################################################### # Copyright (c) 2000, 2008 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### bin.includes =\ epl-v10.html,\ eclipse_update_120.jpg,\ feature.xml,\ feature.properties,\ license.html outputUpdateJars = true generate.plugin@com.ibm.icu.source=com.ibm.icu icu4j-4.4-4.4.2.2/eclipse-build/features.template/com.ibm.icu/feature.xml000066400000000000000000000014241172643025600256420ustar00rootroot00000000000000 [Enter Feature Description here.] [Enter Copyright Description here.] [Enter License Description here.] icu4j-4.4-4.4.2.2/eclipse-build/misc/000077500000000000000000000000001172643025600166645ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/misc/ICUConfig.properties000066400000000000000000000021721172643025600225520ustar00rootroot00000000000000#* #******************************************************************************* #* Copyright (C) 2008-2011, International Business Machines Corporation and * #* others. All Rights Reserved. * #******************************************************************************* #* This is the properties contains ICU runtime configuration #* # # The default TimeZone implementation type used by the ICU TimeZone # factory method. [ ICU | JDK ] # com.ibm.icu.util.TimeZone.DefaultTimeZoneType = JDK # # By default, DecimalFormat uses some internal equivalent character # data in addition to ones in DecimalFormatSymbols for parsing # decimal/grouping separators. When this property is true, # DecimalFormat uses separators configured by DecimalFormatSymbols only # and does not try to find a match in the internal equivalent character # data. # com.ibm.icu.text.DecimalFormat.SkipExtendedSeparatorParsing = false # # [Internal Use Only] # Disable resource path scan for building full locale name list # at run time. # com.ibm.icu.impl.ICUResourceBundle.skipRuntimeLocaleResourceScan = false icu4j-4.4-4.4.2.2/eclipse-build/misc/about_icu.html000066400000000000000000000053501172643025600215270ustar00rootroot00000000000000 About

    About This Content

    January 15, 2011

    License

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.

    Third Party Content

    The Content includes items that have been sourced from third parties as set out below. If you did not receive this Content directly from the Eclipse Foundation, the following is provided for informational purposes only, and you should look to the Redistributor's license for terms and conditions of use.

    ICU4J 4.4.2.v20110115 plug-in

    The plug-in includes software ("ICU4J") developed by International Business Machines Corporation and others.

    ICU4J is:

    Copyright (c) 1995-2011 International Business Machines Corporation and others
    All rights reserved.

    Your use of ICU4J is subject to the terms and conditions of the ICU4J license. A copy of the license is contained in the file about_files/license.html.

    ICU4J bundles data files imported from the Unicode Character Database and the Locale Data. A copy of the Unicode Data and Software license is contained in the file about_files/ucdterms.txt.

    The project information including source code, documentations and demo programs are available on the ICU public web site.

    icu4j-4.4-4.4.2.2/eclipse-build/misc/about_icu_base.html000066400000000000000000000047641172643025600225310ustar00rootroot00000000000000 About

    About This Content

    XXXX XX, 2011

    License

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party ("Redistributor") and different terms and conditions may apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.

    Third Party Content

    The Content includes items that have been sourced from third parties as set out below. If you did not receive this Content directly from the Eclipse Foundation, the following is provided for informational purposes only, and you should look to the Redistributor's license for terms and conditions of use.

    ICU4J 4.4.2.v2011XXXX base plug-in

    The plug-in includes software ("ICU4J") developed by International Business Machines Corporation and others.

    ICU4J is:

    Copyright (c) 1995-2011 International Business Machines Corporation and others
    All rights reserved.

    Your use of ICU4J is subject to the terms and conditions of the ICU4J license. A copy of the license is contained in the file about_files/license.html.

    The project information including source code, documentations and demo programs are available on the ICU public web site.

    icu4j-4.4-4.4.2.2/eclipse-build/pdebuild/000077500000000000000000000000001172643025600175215ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/pdebuild/allElements.xml000066400000000000000000000031001172643025600225020ustar00rootroot00000000000000 icu4j-4.4-4.4.2.2/eclipse-build/pdebuild/build.properties000066400000000000000000000203321172643025600227360ustar00rootroot00000000000000############################################################################### # Copyright (c) 2003-2008 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### ##################### # Parameters describing how and where to execute the build. # Typical users need only update the following properties: # baseLocation - where things you are building against are installed # bootclasspath - The base jars to compile against (typicaly rt.jar) # configs - the list of {os, ws, arch} configurations to build. # # Of course any of the settings here can be overridden by spec'ing # them on the command line (e.g., -DbaseLocation=d:/eclipse ############# PRODUCT/PACKAGING CONTROL ############# product=/plugin or feature id/path/to/.product runPackager=true #Set the name of the archive that will result from the product build. #archiveNamePrefix= # The prefix that will be used in the generated archive. #archivePrefix= archivePrefix= # The location underwhich all of the build output will be collected. collectingFolder=${archivePrefix} # The list of {os, ws, arch} configurations to build. This # value is a '&' separated list of ',' separate triples. For example, # configs=win32,win32,x86 & linux,motif,x86 # By default the value is *,*,* #configs=win32, win32, x86 & \ # linux, gtk, ppc &\ # linux, gtk, x86 & \ # linux, gtk, x86_64 & \ # linux, motif, x86 & \ # solaris, motif, sparc & \ # solaris, gtk, sparc & \ # aix, motif, ppc & \ # hpux, motif, PA_RISC & \ # macosx, carbon, ppc # By default PDE creates one archive (result) per entry listed in the configs property. # Setting this value to try will cause PDE to only create one output containing all # artifacts for all the platforms listed in the configs property. #groupConfigurations=true #The format of the archive. By default a zip is created using antZip. #The list can only contain the configuration for which the desired format is different than zip. #archivesFormat=win32, win32, x86 - antZip& \ # linux, gtk, ppc - antZip &\ # linux, gtk, x86 - antZip& \ # linux, gtk, x86_64 - antZip& \ # linux, motif, x86 - antZip& \ # solaris, motif, sparc - antZip& \ # solaris, gtk, sparc - antZip& \ # aix, motif, ppc - antZip& \ # hpux, motif, PA_RISC - antZip& \ # macosx, carbon, ppc - antZip #Set to true if you want the output to be ready for an update jar (no site.xml generated) #outputUpdateJars = false #Set to true for Jnlp generation #codebase should be a URL that will be used as the root of all relative URLs in the output. #generateJnlp=false #jnlp.codebase= #jnlp.j2se= #jnlp.locale= #Set to true if you want to sign jars #signJars=false #sign.alias= #sign.keystore= #sign.storepass= #Arguments to send to the zip executable zipargs= #Arguments to send to the tar executable tarargs= #Control the creation of a file containing the version included in each configuration - on by default #generateVersionsLists=false ############## BUILD NAMING CONTROL ################ # The directory into which the build elements are fetched and where # the build takes place. buildDirectory=@BUILD_DIR@ # Type of build. Used in naming the build output. Typically this value is # one of I, N, M, S, ... buildType=@BUILD_TYPE@ # ID of the build. Used in naming the build output. buildId=@BUILD_ID@ # Label for the build. Used in naming the build output buildLabel=${buildType}.${buildId} # Timestamp for the build. Used in naming the build output timestamp=007 #The value to be used for the qualifier of a plugin or feature when you want to override the value computed by pde. #The value will only be applied to plugin or features indicating build.properties, qualifier = context #forceContextQualifier= #Enable / disable the generation of a suffix for the features that use .qualifier. #The generated suffix is computed according to the content of the feature #generateFeatureVersionSuffix=true ############# BASE CONTROL ############# # Settings for the base Eclipse components and Java class libraries # against which you are building. # Base location for anything the build needs to compile against. For example, # in most RCP app or a plug-in, the baseLocation should be the location of a previously # installed Eclipse against which the application or plug-in code will be compiled and the RCP delta pack. base= #baseLocation=${base}/eclipse baseLocation=@BASE_LOCATION@ #Os/Ws/Arch/nl of the eclipse specified by baseLocation baseos=@BASE_OS@ basews=@BASE_WS@ basearch=@BASE_ARCH@ #this property indicates whether you want the set of plug-ins and features to be considered during the build to be limited to the ones reachable from the features / plugins being built filteredDependencyCheck=false #pluginPath is a list of locations in which to find plugins and features. This list is separated by the platform file separator (; or :) #a location is one of: #- the location of the jar or folder that is the plugin or feature : /path/to/foo.jar or /path/to/foo #- a directory that contains a /plugins or /features subdirectory #- the location of a feature.xml, or for 2.1 style plugins, the plugin.xml or fragment.xml #pluginPath= skipBase=true eclipseURL= eclipseBuildId= eclipseBaseURL=${eclipseURL}/eclipse-platform-${eclipseBuildId}-win32.zip ############# MAP FILE CONTROL ################ # This section defines CVS tags to use when fetching the map files from the repository. # If you want to fetch the map file from repository / location, change the getMapFiles target in the customTargets.xml skipMaps=true mapsRepo=:pserver:anonymous@example.com/path/to/repo mapsRoot=path/to/maps mapsCheckoutTag=HEAD #tagMaps=true mapsTagTag=v${buildId} ############ REPOSITORY CONTROL ############### # This section defines properties parameterizing the repositories where plugins, fragments # bundles and features are being obtained from. # The tags to use when fetching elements to build. # By default thebuilder will use whatever is in the maps. # This value takes the form of a comma separated list of repository identifier (like used in the map files) and the # overriding value # For example fetchTag=CVS=HEAD, SVN=v20050101 # fetchTag=HEAD skipFetch=true ############# JAVA COMPILER OPTIONS ############## # The location of the Java jars to compile against. Typically the rt.jar for your JDK/JRE #bootclasspath=${java.home}/lib/rt.jar # specific JRE locations to compile against. These values are used to compile bundles specifying a # Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support #CDC-1.0/Foundation-1.0= /path/to/rt.jar #CDC-1.1/Foundation-1.1= #OSGi/Minimum-1.0= #OSGi/Minimum-1.1= #JRE-1.1= #J2SE-1.2= #J2SE-1.3= #J2SE-1.4= #J2SE-1.5= #JavaSE-1.6= #PersonalJava-1.1= #PersonalJava-1.2= #CDC-1.0/PersonalBasis-1.0= #CDC-1.0/PersonalJava-1.0= #CDC-1.1/PersonalBasis-1.1= #CDC-1.1/PersonalJava-1.1= # Specify the output format of the compiler log when eclipse jdt is used logExtension=.log # Whether or not to include debug info in the output jars javacDebugInfo=true # Whether or not to fail the build if there are compiler errors javacFailOnError=true # Enable or disable verbose mode of the compiler javacVerbose=true # Extra arguments for the compiler. These are specific to the java compiler being used. compilerArg=-inlineJSR -enableJavadoc -encoding ISO-8859-1 # Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties javacSource=1.5 # Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties. javacTarget=1.5 individualSourceBundles=true icu4j-4.4-4.4.2.2/eclipse-build/pdebuild/customTargets.xml000066400000000000000000000150761172643025600231200ustar00rootroot00000000000000 icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/000077500000000000000000000000001172643025600212245ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/000077500000000000000000000000001172643025600254015ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/.classpath000066400000000000000000000005661172643025600273730ustar00rootroot00000000000000 icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/.project000066400000000000000000000012531172643025600270510ustar00rootroot00000000000000 com.ibm.icu.base.tests org.eclipse.jdt.core.javabuilder org.eclipse.pde.ManifestBuilder org.eclipse.pde.SchemaBuilder org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/.settings/000077500000000000000000000000001172643025600273175ustar00rootroot00000000000000org.eclipse.jdt.core.prefs000066400000000000000000000123351172643025600342260ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/.settings#Thu Jan 13 17:45:06 EST 2011 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore org.eclipse.jdt.core.compiler.problem.unusedLocal=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore org.eclipse.jdt.core.compiler.problem.unusedLabel=warning org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled org.eclipse.jdt.core.compiler.problem.deprecation=ignore org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore org.eclipse.jdt.core.compiler.problem.unusedImport=warning org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.nullReference=warning org.eclipse.jdt.core.compiler.source=1.5 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore org.eclipse.jdt.core.compiler.problem.deadCode=ignore org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.autoboxing=ignore org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled org.eclipse.jdt.ui.prefs000066400000000000000000000001431172643025600337050ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/.settings#Thu Dec 14 11:51:01 EST 2006 eclipse.preferences.version=1 internal.default.compliance=default icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/META-INF/000077500000000000000000000000001172643025600265415ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/META-INF/MANIFEST.MF000066400000000000000000000005021172643025600301700ustar00rootroot00000000000000Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: com.ibm.icu.base.tests Bundle-Version: @BUILD_VERSION@ Bundle-Vendor: %providerName Fragment-Host: com.ibm.icu.base Bundle-Copyright: @COPYRIGHT@ Require-Bundle: org.junit Bundle-RequiredExecutionEnvironment: J2SE-1.5 icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/build.properties000066400000000000000000000013151172643025600306160ustar00rootroot00000000000000############################################################################### # Copyright (c) 2000, 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### source.. = src/ output.. = bin/ bin.includes = .,\ about.html,\ about_files/,\ plugin.properties,\ META-INF/ icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/plugin.properties000066400000000000000000000012241172643025600310140ustar00rootroot00000000000000############################################################################### # Copyright (c) 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### pluginName = International Components for Unicode for Java (ICU4J) Replacement plug-in Tests providerName = IBM Corporationicu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/000077500000000000000000000000001172643025600261705ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/000077500000000000000000000000001172643025600267465ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/000077500000000000000000000000001172643025600275155ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/000077500000000000000000000000001172643025600302755ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/000077500000000000000000000000001172643025600314375ustar00rootroot00000000000000BreakIteratorTest.java000066400000000000000000000247721172643025600356350ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.text.CharacterIterator; import java.text.StringCharacterIterator; import java.util.Locale; import com.ibm.icu.text.BreakIterator; import com.ibm.icu.util.ULocale; public class BreakIteratorTest extends ICUTestCase { // ICU behaves a bit differently with this text, but the tested values aren't // affected. If Java changes behavior they might need to change. private static final String text = "Mr. and Mrs. Mumblety-Peg paid $35.97 for a new 12\" cockatoo. " + "When they got home they both cooed \"Isn't it lovely?\" and sighed softly. " + "\"Let's name it u\u0308\u5098!\" they said with glee."; private static int pos = text.indexOf("sn't"); private static BreakIterator cbr; private static BreakIterator wbr; private static BreakIterator lbr; private static BreakIterator sbr; static { cbr = BreakIterator.getCharacterInstance(); cbr.setText(text); wbr = BreakIterator.getWordInstance(); wbr.setText(text); lbr = BreakIterator.getLineInstance(); lbr.setText(text); sbr = BreakIterator.getSentenceInstance(); sbr.setText(text); // diagnostic // dump(cbr); // dump(wbr); // dump(lbr); // dump(sbr); } // private static void dump(BreakIterator bi) { // for (int ix = bi.first(), lim = text.length(); ix != lim;) { // int nx = bi.next(); // if (nx < 0) nx = lim; // System.out.println(Integer.toString(ix) + ": " + text.substring(ix, nx)); // ix = nx; // } // } /* * Test method for 'com.ibm.icu.text.BreakIterator.hashCode()' */ public void testHashCode() { BreakIterator br = BreakIterator.getWordInstance(); br.setText(text); BreakIterator brne = BreakIterator.getWordInstance(); brne.setText(text + "X"); wbr.first(); testEHCS(br, wbr, brne); } /* * Test method for 'com.ibm.icu.text.BreakIterator.BreakIterator(BreakIterator)' */ public void testBreakIterator() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.text.BreakIterator.first()' */ public void testFirst() { assertEquals(0, cbr.first()); assertEquals(0, wbr.first()); assertEquals(0, lbr.first()); assertEquals(0, sbr.first()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.last()' */ public void testLast() { assertEquals(text.length(), cbr.last()); assertEquals(text.length(), wbr.last()); assertEquals(text.length(), lbr.last()); assertEquals(text.length(), sbr.last()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.next(int)' */ public void testNextInt() { cbr.first(); wbr.first(); lbr.first(); sbr.first(); assertEquals(2, cbr.next(2)); assertEquals(3, wbr.next(2)); assertEquals(8, lbr.next(2)); assertEquals(62, sbr.next(2)); cbr.last(); wbr.last(); lbr.last(); sbr.last(); assertEquals(174, cbr.next(-2)); assertEquals(171, wbr.next(-2)); assertEquals(166, lbr.next(-2)); assertEquals(135, sbr.next(-2)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.next()' */ public void testNext() { cbr.first(); wbr.first(); lbr.first(); sbr.first(); assertEquals(1, cbr.next()); assertEquals(2, wbr.next()); assertEquals(4, lbr.next()); assertEquals(13, sbr.next()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.previous()' */ public void testPrevious() { cbr.last(); wbr.last(); lbr.last(); sbr.last(); assertEquals(175, cbr.previous()); assertEquals(175, wbr.previous()); assertEquals(171, lbr.previous()); assertEquals(156, sbr.previous()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.following(int)' */ public void testFollowing() { assertEquals(100, cbr.following(pos)); assertEquals(103, wbr.following(pos)); assertEquals(104, lbr.following(pos)); assertEquals(116, sbr.following(pos)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.preceding(int)' */ public void testPreceding() { assertEquals(98, cbr.preceding(pos)); assertEquals(98, wbr.preceding(pos)); assertEquals(97, lbr.preceding(pos)); assertEquals(62, sbr.preceding(pos)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.isBoundary(int)' */ public void testIsBoundary() { assertTrue(cbr.isBoundary(pos)); assertFalse(wbr.isBoundary(pos)); assertFalse(lbr.isBoundary(pos)); assertFalse(sbr.isBoundary(pos)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.current()' */ public void testCurrent() { cbr.following(pos); wbr.following(pos); lbr.following(pos); sbr.following(pos); assertEquals(100, cbr.current()); assertEquals(103, wbr.current()); assertEquals(104, lbr.current()); assertEquals(116, sbr.current()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getText()' */ public void testGetText() { CharacterIterator ci = cbr.getText(); StringBuffer buf = new StringBuffer(ci.getEndIndex() - ci.getBeginIndex()); for (char c = ci.first(); c != CharacterIterator.DONE; c = ci.next()) { buf.append(c); } String result = buf.toString(); assertEquals(text, result); } /* * Test method for 'com.ibm.icu.text.BreakIterator.setText(String)' */ public void testSetTextString() { // implicitly tested } /* * Test method for 'com.ibm.icu.text.BreakIterator.setText(CharacterIterator)' */ public void testSetTextCharacterIterator() { CharacterIterator ci = new StringCharacterIterator(text, pos); BreakIterator bi = BreakIterator.getWordInstance(); bi.setText(ci); assertEquals(2, bi.next()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getWordInstance()' */ public void testGetWordInstance() { // implicitly tested } /* * Test method for 'com.ibm.icu.text.BreakIterator.getWordInstance(Locale)' */ public void testGetWordInstanceLocale() { assertNotNull(BreakIterator.getWordInstance(Locale.JAPAN)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getWordInstance(ULocale)' */ public void testGetWordInstanceULocale() { assertNotNull(BreakIterator.getWordInstance(ULocale.JAPAN)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getLineInstance()' */ public void testGetLineInstance() { // implicitly tested } /* * Test method for 'com.ibm.icu.text.BreakIterator.getLineInstance(Locale)' */ public void testGetLineInstanceLocale() { assertNotNull(BreakIterator.getLineInstance(Locale.JAPAN)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getLineInstance(ULocale)' */ public void testGetLineInstanceULocale() { assertNotNull(BreakIterator.getLineInstance(ULocale.JAPAN)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getCharacterInstance()' */ public void testGetCharacterInstance() { // implicitly tested } /* * Test method for 'com.ibm.icu.text.BreakIterator.getCharacterInstance(Locale)' */ public void testGetCharacterInstanceLocale() { assertNotNull(BreakIterator.getCharacterInstance(Locale.JAPAN)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getCharacterInstance(ULocale)' */ public void testGetCharacterInstanceULocale() { assertNotNull(BreakIterator.getCharacterInstance(ULocale.JAPAN)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getSentenceInstance()' */ public void testGetSentenceInstance() { // implicitly tested } /* * Test method for 'com.ibm.icu.text.BreakIterator.getSentenceInstance(Locale)' */ public void testGetSentenceInstanceLocale() { assertNotNull(BreakIterator.getSentenceInstance(Locale.JAPAN)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getSentenceInstance(ULocale)' */ public void testGetSentenceInstanceULocale() { assertNotNull(BreakIterator.getSentenceInstance(ULocale.JAPAN)); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getTitleInstance()' */ public void testGetTitleInstance() { // not implemented } /* * Test method for 'com.ibm.icu.text.BreakIterator.getTitleInstance(Locale)' */ public void testGetTitleInstanceLocale() { // not implemented } /* * Test method for 'com.ibm.icu.text.BreakIterator.getTitleInstance(ULocale)' */ public void testGetTitleInstanceULocale() { // not implemented } /* * Test method for 'com.ibm.icu.text.BreakIterator.getAvailableLocales()' */ public void testGetAvailableLocales() { assertNotNull(BreakIterator.getAvailableLocales()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.getAvailableULocales()' */ public void testGetAvailableULocales() { assertNotNull(BreakIterator.getAvailableULocales()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.toString()' */ public void testToString() { assertNotNull(cbr.toString()); } /* * Test method for 'com.ibm.icu.text.BreakIterator.clone()' */ public void testClone() { // see testHashCode } /* * Test method for 'com.ibm.icu.text.BreakIterator.equals(Object)' */ public void testEqualsObject() { // see testHashCode } } CalendarTest.java000066400000000000000000000417151172643025600346040ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.util.Date; import java.util.Locale; import com.ibm.icu.text.DateFormat; import com.ibm.icu.util.Calendar; import com.ibm.icu.util.TimeZone; import com.ibm.icu.util.ULocale; public class CalendarTest extends ICUTestCase { /* * Test method for 'com.ibm.icu.util.Calendar.hashCode()' */ public void testHashCode() { Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); Calendar cal3 = Calendar.getInstance(); long t = System.currentTimeMillis(); cal1.setTimeInMillis(t); cal2.setTimeInMillis(t); cal3.setTimeInMillis(t); cal3.setMinimalDaysInFirstWeek(cal3.getMinimalDaysInFirstWeek()+1); testEHCS(cal1, cal2, cal3); } /* * Test method for 'com.ibm.icu.util.Calendar.Calendar(Calendar)' */ public void testCalendar() { // tested implicitly everywhere } /* * Test method for 'com.ibm.icu.util.Calendar.getInstance()' */ public void testGetInstance() { // tested by testEHCS } /* * Test method for 'com.ibm.icu.util.Calendar.getInstance(TimeZone)' */ public void testGetInstanceTimeZone() { TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles"); Calendar cal = Calendar.getInstance(tz); assertNotNull(cal); assertNotNull(cal.getTime()); assertEquals(tz, cal.getTimeZone()); } /* * Test method for 'com.ibm.icu.util.Calendar.getInstance(Locale)' */ public void testGetInstanceLocale() { Calendar cal = Calendar.getInstance(Locale.US); assertNotNull(cal); assertNotNull(cal.getTime()); } /* * Test method for 'com.ibm.icu.util.Calendar.getInstance(ULocale)' */ public void testGetInstanceULocale() { Calendar cal = Calendar.getInstance(ULocale.US); assertNotNull(cal); assertNotNull(cal.getTime()); } /* * Test method for 'com.ibm.icu.util.Calendar.getInstance(TimeZone, Locale)' */ public void testGetInstanceTimeZoneLocale() { TimeZone tz = TimeZone.getTimeZone("America/New_York"); Calendar cal = Calendar.getInstance(tz, Locale.US); assertNotNull(cal); assertNotNull(cal.getTime()); } /* * Test method for 'com.ibm.icu.util.Calendar.getInstance(TimeZone, ULocale)' */ public void testGetInstanceTimeZoneULocale() { TimeZone tz = TimeZone.getTimeZone("America/New_York"); Calendar cal = Calendar.getInstance(tz, ULocale.US); assertNotNull(cal); assertNotNull(cal.getTime()); } /* * Test method for 'com.ibm.icu.util.Calendar.getAvailableLocales()' */ public void testGetAvailableLocales() { assertNotNull(Calendar.getAvailableLocales()); } /* * Test method for 'com.ibm.icu.util.Calendar.getAvailableULocales()' */ public void testGetAvailableULocales() { assertNotNull(Calendar.getAvailableULocales()); } /* * Test method for 'com.ibm.icu.util.Calendar.getTime()' */ public void testGetTime() { Calendar cal = Calendar.getInstance(); assertNotNull(cal.getTime()); } /* * Test method for 'com.ibm.icu.util.Calendar.setTime(Date)' */ public void testSetTime() { Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(2006, 0, 20, 9, 30, 0); Date date = cal.getTime(); cal = Calendar.getInstance(); cal.setTime(date); assertEquals(date, cal.getTime()); } /* * Test method for 'com.ibm.icu.util.Calendar.getTimeInMillis()' */ public void testGetTimeInMillis() { Calendar cal = Calendar.getInstance(); assertTrue(0 != cal.getTimeInMillis()); } /* * Test method for 'com.ibm.icu.util.Calendar.setTimeInMillis(long)' */ public void testSetTimeInMillis() { Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(2006, 0, 20, 9, 30, 0); long millis = cal.getTimeInMillis(); Date date = cal.getTime(); cal = Calendar.getInstance(); cal.setTimeInMillis(millis); assertEquals(date, cal.getTime()); } /* * Test method for 'com.ibm.icu.util.Calendar.get(int)' */ public void testGet() { Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(2006, 0, 20, 9, 30, 0); assertEquals(0, cal.get(Calendar.MONTH)); assertEquals(20, cal.get(Calendar.DAY_OF_MONTH)); assertEquals(30, cal.get(Calendar.MINUTE)); } /* * Test method for 'com.ibm.icu.util.Calendar.set(int, int)' */ public void testSetIntInt() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 1977); assertEquals(1977, cal.get(Calendar.YEAR)); } /* * Test method for 'com.ibm.icu.util.Calendar.set(int, int, int)' */ public void testSetIntIntInt() { Calendar cal = Calendar.getInstance(); cal.set(1997, 9, 15); assertEquals(15, cal.get(Calendar.DATE)); } /* * Test method for 'com.ibm.icu.util.Calendar.set(int, int, int, int, int)' */ public void testSetIntIntIntIntInt() { Calendar cal = Calendar.getInstance(); cal.set(1997, 9, 15, 14, 25); assertEquals(25, cal.get(Calendar.MINUTE)); } /* * Test method for 'com.ibm.icu.util.Calendar.set(int, int, int, int, int, int)' */ public void testSetIntIntIntIntIntInt() { Calendar cal = Calendar.getInstance(); cal.set(1997, 9, 15, 14, 25, 51); assertEquals(51, cal.get(Calendar.SECOND)); } /* * Test method for 'com.ibm.icu.util.Calendar.clear()' */ public void testClear() { Calendar cal = Calendar.getInstance(); cal.set(1997, 9, 15, 14, 25, 51); cal.clear(); assertEquals(0, cal.get(Calendar.MONTH)); } /* * Test method for 'com.ibm.icu.util.Calendar.clear(int)' */ public void testClearInt() { Calendar cal = Calendar.getInstance(); cal.set(1997, 9, 15, 14, 25, 51); assertTrue(cal.isSet(Calendar.DAY_OF_MONTH)); cal.clear(Calendar.DAY_OF_MONTH); assertFalse(cal.isSet(Calendar.DAY_OF_MONTH)); } /* * Test method for 'com.ibm.icu.util.Calendar.isSet(int)' */ public void testIsSet() { // see testClearInt } /* * Test method for 'com.ibm.icu.util.Calendar.equals(Object)' */ public void testEqualsObject() { // tested by testHashCode } /* * Test method for 'com.ibm.icu.util.Calendar.isEquivalentTo(Calendar)' */ public void testIsEquivalentTo() { Calendar cal = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); cal2.set(1994, 6, 21, 8, 7); assertTrue(cal.isEquivalentTo(cal2)); cal.setTimeZone(TimeZone.getTimeZone("CST")); cal2.setTimeZone(TimeZone.getTimeZone("PDT")); assertFalse(cal.isEquivalentTo(cal2)); } /* * Test method for 'com.ibm.icu.util.Calendar.before(Object)' */ public void testBefore() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 1990); assertTrue(cal.before(new Date())); assertTrue(cal.before(Calendar.getInstance())); } /* * Test method for 'com.ibm.icu.util.Calendar.after(Object)' */ public void testAfter() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 3058); assertTrue(cal.after(new Date())); assertTrue(cal.after(Calendar.getInstance())); } /* * Test method for 'com.ibm.icu.util.Calendar.getActualMaximum(int)' */ public void testGetActualMaximum() { Calendar cal = Calendar.getInstance(Locale.US); assertEquals(11, cal.getActualMaximum(Calendar.MONTH)); } /* * Test method for 'com.ibm.icu.util.Calendar.getActualMinimum(int)' */ public void testGetActualMinimum() { Calendar cal = Calendar.getInstance(Locale.US); assertEquals(0, cal.getActualMinimum(Calendar.MONTH)); } /* * Test method for 'com.ibm.icu.util.Calendar.roll(int, boolean)' */ public void testRollIntBoolean() { Calendar cal = Calendar.getInstance(Locale.US); cal.set(1997, 1, 27); cal.roll(Calendar.DATE, true); assertEquals(28, cal.get(Calendar.DATE)); } /* * Test method for 'com.ibm.icu.util.Calendar.roll(int, int)' */ public void testRollIntInt() { Calendar cal = Calendar.getInstance(Locale.US); cal.set(1997, 1, 27); cal.roll(Calendar.DATE, 3); assertEquals(2, cal.get(Calendar.DATE)); } /* * Test method for 'com.ibm.icu.util.Calendar.add(int, int)' */ public void testAdd() { Calendar cal = Calendar.getInstance(Locale.US); cal.set(1997, 1, 27); cal.add(Calendar.DATE, 3); assertEquals(2, cal.get(Calendar.DATE)); assertEquals(2, cal.get(Calendar.MONTH)); } /* * Test method for 'com.ibm.icu.util.Calendar.getDisplayName(Locale)' */ public void testGetDisplayNameLocale() { Calendar cal = Calendar.getInstance(); assertEquals("Gregorian Calendar", cal.getDisplayName(Locale.US)); } /* * Test method for 'com.ibm.icu.util.Calendar.getDisplayName(ULocale)' */ public void testGetDisplayNameULocale() { Calendar cal = Calendar.getInstance(); assertEquals("Gregorian Calendar", cal.getDisplayName(ULocale.US)); } /* * Test method for 'com.ibm.icu.util.Calendar.compareTo(Calendar)' */ public void testCompareToCalendar() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 1990); assertTrue(0 > cal.compareTo(Calendar.getInstance())); } /* * Test method for 'com.ibm.icu.util.Calendar.compareTo(Object)' */ public void testCompareToObject() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 1990); assertTrue(0 > cal.compareTo(Calendar.getInstance())); } /* * Test method for 'com.ibm.icu.util.Calendar.getDateTimeFormat(int, int, Locale)' */ public void testGetDateTimeFormatIntIntLocale() { Calendar cal = Calendar.getInstance(); cal.set(1990, 8, 16, 20, 3); DateFormat df = cal.getDateTimeFormat(DateFormat.LONG, DateFormat.SHORT, Locale.US); assertEquals("September 16, 1990 8:03 PM", df.format(cal)); } /* * Test method for 'com.ibm.icu.util.Calendar.getDateTimeFormat(int, int, ULocale)' */ public void testGetDateTimeFormatIntIntULocale() { Calendar cal = Calendar.getInstance(); cal.set(1990, 8, 16, 20, 3); DateFormat df = cal.getDateTimeFormat(DateFormat.LONG, DateFormat.SHORT, ULocale.US); assertEquals("September 16, 1990 8:03 PM", df.format(cal)); } /* * Test method for 'com.ibm.icu.util.Calendar.fieldDifference(Date, int)' */ public void testFieldDifference() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 0); Date date = cal.getTime(); cal.add(Calendar.DAY_OF_MONTH, 5); assertEquals(-5, cal.fieldDifference(date, Calendar.DAY_OF_MONTH)); } /* * Test method for 'com.ibm.icu.util.Calendar.getTimeZone()' */ public void testGetTimeZone() { Calendar cal = Calendar.getInstance(); assertNotNull(cal.getTimeZone()); } /* * Test method for 'com.ibm.icu.util.Calendar.setTimeZone(TimeZone)' */ public void testSetTimeZone() { Calendar cal = Calendar.getInstance(); TimeZone value1 = cal.getTimeZone(); String tzn = "PDT".equals(value1.getID()) ? "CST" : "PDT"; TimeZone value2 = TimeZone.getTimeZone(tzn); cal.setTimeZone(value2); TimeZone result = cal.getTimeZone(); assertNotEqual(value1, result); assertEquals(value2, result); } /* * Test method for 'com.ibm.icu.util.Calendar.setLenient(boolean)' */ public void testSetLenient() { Calendar cal = Calendar.getInstance(); boolean lenient = cal.isLenient(); cal.setLenient(!lenient); assertFalse(lenient == cal.isLenient()); // not testing if it has the expected effect } /* * Test method for 'com.ibm.icu.util.Calendar.isLenient()' */ public void testIsLenient() { // tested by testSetLenient } /* * Test method for 'com.ibm.icu.util.Calendar.setFirstDayOfWeek(int)' */ public void testSetFirstDayOfWeek() { Calendar cal = Calendar.getInstance(); int firstDay = cal.getFirstDayOfWeek(); cal.setFirstDayOfWeek(firstDay+1); assertEquals(firstDay+1, cal.getFirstDayOfWeek()); // don't test functionality } /* * Test method for 'com.ibm.icu.util.Calendar.getFirstDayOfWeek()' */ public void testGetFirstDayOfWeek() { // tested by testSetFirstDayOfWeek } /* * Test method for 'com.ibm.icu.util.Calendar.setMinimalDaysInFirstWeek(int)' */ public void testSetMinimalDaysInFirstWeek() { Calendar cal = Calendar.getInstance(); int firstDay = cal.getMinimalDaysInFirstWeek(); cal.setMinimalDaysInFirstWeek(firstDay+1); assertEquals(firstDay+1, cal.getMinimalDaysInFirstWeek()); // don't test functionality } /* * Test method for 'com.ibm.icu.util.Calendar.getMinimalDaysInFirstWeek()' */ public void testGetMinimalDaysInFirstWeek() { // tested by testSetMinimalDaysInFirstWeek } /* * Test method for 'com.ibm.icu.util.Calendar.getMinimum(int)' */ public void testGetMinimum() { Calendar cal = Calendar.getInstance(); assertEquals(1, cal.getMinimum(Calendar.DAY_OF_WEEK)); } /* * Test method for 'com.ibm.icu.util.Calendar.getMaximum(int)' */ public void testGetMaximum() { Calendar cal = Calendar.getInstance(); assertEquals(7, cal.getMaximum(Calendar.DAY_OF_WEEK)); } /* * Test method for 'com.ibm.icu.util.Calendar.getGreatestMinimum(int)' */ public void testGetGreatestMinimum() { Calendar cal = Calendar.getInstance(); assertEquals(1, cal.getGreatestMinimum(Calendar.DATE)); } /* * Test method for 'com.ibm.icu.util.Calendar.getLeastMaximum(int)' */ public void testGetLeastMaximum() { Calendar cal = Calendar.getInstance(); assertEquals(28, cal.getLeastMaximum(Calendar.DATE)); } /* * Test method for 'com.ibm.icu.util.Calendar.getDayOfWeekType(int)' */ public void testGetDayOfWeekType() { Calendar cal = Calendar.getInstance(Locale.US); assertEquals(Calendar.WEEKDAY, cal.getDayOfWeekType(Calendar.FRIDAY)); assertEquals(Calendar.WEEKEND, cal.getDayOfWeekType(Calendar.SATURDAY)); } /* * Test method for 'com.ibm.icu.util.Calendar.getWeekendTransition(int)' */ public void testGetWeekendTransition() { Calendar cal = Calendar.getInstance(Locale.US); try { cal.getWeekendTransition(Calendar.WEEKEND_ONSET); fail("expected IllegalArgumentException from getWeekendTransition"); } catch (UnsupportedOperationException e) { // ok } } /* * Test method for 'com.ibm.icu.util.Calendar.isWeekend(Date)' */ public void testIsWeekendDate() { Calendar cal = Calendar.getInstance(Locale.US); cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); assertTrue(cal.isWeekend(cal.getTime())); cal.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); assertFalse(cal.isWeekend(cal.getTime())); } /* * Test method for 'com.ibm.icu.util.Calendar.isWeekend()' */ public void testIsWeekend() { Calendar cal = Calendar.getInstance(Locale.US); cal.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); assertTrue(cal.isWeekend()); cal.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); assertFalse(cal.isWeekend()); } /* * Test method for 'com.ibm.icu.util.Calendar.clone()' */ public void testClone() { // tested by testHashCode } /* * Test method for 'com.ibm.icu.util.Calendar.toString()' */ public void testToString() { Calendar cal = Calendar.getInstance(); assertNotNull(cal.toString()); } /* * Test method for 'com.ibm.icu.util.Calendar.getType()' */ public void testGetType() { Calendar cal = Calendar.getInstance(Locale.US); assertEquals("gregorian", cal.getType()); } } CollationKeyTest.java000066400000000000000000000064321172643025600354650ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import com.ibm.icu.text.CollationKey; import com.ibm.icu.text.Collator; public class CollationKeyTest extends ICUTestCase { /* * Test method for 'com.ibm.icu.text.CollationKey.hashCode()' */ public void testHashCode() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); CollationKey k1 = c.getCollationKey("This"); CollationKey k2 = c.getCollationKey("this"); c.setStrength(Collator.TERTIARY); CollationKey kn = c.getCollationKey("this"); testEHCS(k1, k2, kn); } /* * Test method for 'com.ibm.icu.text.CollationKey.CollationKey(CollationKey)' */ public void testCollationKey() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.text.CollationKey.compareTo(CollationKey)' */ public void testCompareToCollationKey() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); CollationKey k1 = c.getCollationKey("This"); CollationKey k2 = c.getCollationKey("this"); c.setStrength(Collator.TERTIARY); CollationKey k3 = c.getCollationKey("this"); assertTrue(0 == k1.compareTo(k2)); assertFalse(0 == k1.compareTo(k3)); } /* * Test method for 'com.ibm.icu.text.CollationKey.compareTo(Object)' */ public void testCompareToObject() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); CollationKey k1 = c.getCollationKey("This"); CollationKey k2 = c.getCollationKey("this"); assertTrue(0 == k1.compareTo(k2)); } /* * Test method for 'com.ibm.icu.text.CollationKey.equals(Object)' */ public void testEqualsObject() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); CollationKey k1 = c.getCollationKey("This"); CollationKey k2 = c.getCollationKey("this"); assertTrue(k1.equals((Object)k2)); } /* * Test method for 'com.ibm.icu.text.CollationKey.toString()' */ public void testToString() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); CollationKey k1 = c.getCollationKey("This"); assertNotNull(k1.toString()); } /* * Test method for 'com.ibm.icu.text.CollationKey.getSourceString()' */ public void testGetSourceString() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); CollationKey k1 = c.getCollationKey("This"); assertEquals("This", k1.getSourceString()); } /* * Test method for 'com.ibm.icu.text.CollationKey.toByteArray()' */ public void testToByteArray() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); CollationKey k1 = c.getCollationKey("This"); byte[] key = k1.toByteArray(); assertNotNull(key); assertTrue(0 < key.length); } } CollatorTest.java000066400000000000000000000144101172643025600346420ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.util.Locale; import com.ibm.icu.text.CollationKey; import com.ibm.icu.text.Collator; import com.ibm.icu.util.ULocale; public class CollatorTest extends ICUTestCase { private static final String s1 = "Fu\u0308nf"; // capital F + u + diaresis private static final String s2 = "fu\u0308nf"; // u + diaresis private static final String s3 = "f\u00fcnf"; // u-umlaut private static final String s4 = "fu\u0308\u0316nf"; // u + diaresis above + grave below private static final String s5 = "fu\u0316\u0308nf"; // u + grave below + diaresis above /* * Test method for 'com.ibm.icu.text.Collator.hashCode()' */ public void testHashCode() { Collator c = Collator.getInstance(); c.setStrength(Collator.SECONDARY); Collator c2 = Collator.getInstance(); c2.setStrength(Collator.SECONDARY); Collator cn = Collator.getInstance(); cn.setStrength(Collator.TERTIARY); testEHCS(c, c2, cn); } /* * Test method for 'com.ibm.icu.text.Collator.Collator(Collator)' */ public void testCollator() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.text.Collator.setStrength(int)' */ public void testSetStrength() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); assertTrue(0 == c.compare(s1, s2)); c.setStrength(Collator.SECONDARY); assertTrue(0 == c.compare(s1, s2)); c.setStrength(Collator.TERTIARY); assertTrue(0 < c.compare(s1, s2)); assertTrue(0 == c.compare(s2, s3)); c.setStrength(Collator.QUATERNARY); assertTrue(0 > c.compare(s2, s3)); } /* * Test method for 'com.ibm.icu.text.Collator.setDecomposition(int)' */ public void testSetDecomposition() { Collator c = Collator.getInstance(); c.setStrength(Collator.TERTIARY); assertTrue(0 != c.compare(s4, s5)); c.setDecomposition(Collator.IDENTICAL); assertTrue(0 == c.compare(s4, s5)); } /* * Test method for 'com.ibm.icu.text.Collator.getInstance()' */ public void testGetInstance() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.text.Collator.getInstance(ULocale)' */ public void testGetInstanceULocale() { Collator c = Collator.getInstance(ULocale.GERMANY); assertNotNull(c); } /* * Test method for 'com.ibm.icu.text.Collator.getInstance(Locale)' */ public void testGetInstanceLocale() { Collator c = Collator.getInstance(Locale.GERMANY); assertNotNull(c); } /* * Test method for 'com.ibm.icu.text.Collator.getAvailableLocales()' */ public void testGetAvailableLocales() { assertNotNull(Collator.getAvailableLocales()); } /* * Test method for 'com.ibm.icu.text.Collator.getAvailableULocales()' */ public void testGetAvailableULocales() { assertNotNull(Collator.getAvailableULocales()); } /* * Test method for 'com.ibm.icu.text.Collator.getKeywords()' */ public void testGetKeywords() { assertEquals(0, Collator.getKeywords().length); } /* * Test method for 'com.ibm.icu.text.Collator.getKeywordValues(String)' */ public void testGetKeywordValues() { assertEquals(0, Collator.getKeywordValues("").length); } /* * Test method for 'com.ibm.icu.text.Collator.getStrength()' */ public void testGetStrength() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); assertEquals(Collator.PRIMARY, c.getStrength()); c.setStrength(Collator.SECONDARY); assertEquals(Collator.SECONDARY, c.getStrength()); } /* * Test method for 'com.ibm.icu.text.Collator.getDecomposition()' */ public void testGetDecomposition() { Collator c = Collator.getInstance(); c.setDecomposition(Collator.CANONICAL_DECOMPOSITION); assertEquals(Collator.CANONICAL_DECOMPOSITION, c.getDecomposition()); c.setDecomposition(Collator.NO_DECOMPOSITION); assertEquals(Collator.NO_DECOMPOSITION, c.getDecomposition()); } /* * Test method for 'com.ibm.icu.text.Collator.compare(Object, Object)' */ public void testCompareObjectObject() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); assertTrue(0 == c.compare((Object)s1, (Object)s2)); } /* * Test method for 'com.ibm.icu.text.Collator.equals(String, String)' */ public void testEqualsStringString() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); assertTrue(c.equals(s1, s2)); } /* * Test method for 'com.ibm.icu.text.Collator.compare(String, String)' */ public void testCompareStringString() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); assertTrue(0 == c.compare(s1, s2)); } /* * Test method for 'com.ibm.icu.text.Collator.getCollationKey(String)' */ public void testGetCollationKey() { Collator c = Collator.getInstance(); c.setStrength(Collator.PRIMARY); CollationKey k1 = c.getCollationKey(s1); CollationKey k2 = c.getCollationKey(s2); assertTrue(k1.equals(k2)); c.setStrength(Collator.TERTIARY); k1 = c.getCollationKey(s1); k2 = c.getCollationKey(s2); assertFalse(k1.equals(k2)); } /* * Test method for 'com.ibm.icu.text.Collator.toString()' */ public void testToString() { assertNotNull(Collator.getInstance().toString()); } /* * Test method for 'com.ibm.icu.text.Collator.clone()' */ public void testClone() { // tested above } /* * Test method for 'com.ibm.icu.text.Collator.equals(Object)' */ public void testEqualsObject() { // tested above } } DateFormatSymbolsTest.java000066400000000000000000000210631172643025600364640ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.util.Locale; import com.ibm.icu.text.DateFormatSymbols; import com.ibm.icu.util.ULocale; public class DateFormatSymbolsTest extends ICUTestCase { /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.hashCode()' */ public void testHashCode() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); DateFormatSymbols dfs2 = new DateFormatSymbols(ULocale.US); DateFormatSymbols dfsn = new DateFormatSymbols(Locale.US); dfsn.setAmPmStrings(new String[] { "sw", "xw" }); testEHCS(dfs, dfs2, dfsn); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.DateFormatSymbols(DateFormatSymbols)' */ public void testDateFormatSymbolsDateFormatSymbols() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.DateFormatSymbols()' */ public void testDateFormatSymbols() { DateFormatSymbols dfs = new DateFormatSymbols(); assertNotNull(dfs.getWeekdays()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.DateFormatSymbols(Locale)' */ public void testDateFormatSymbolsLocale() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getWeekdays()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.DateFormatSymbols(ULocale)' */ public void testDateFormatSymbolsULocale() { DateFormatSymbols dfs = new DateFormatSymbols(ULocale.US); assertNotNull(dfs.getWeekdays()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.getEras()' */ public void testGetEras() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getEras()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.setEras(String[])' */ public void testSetEras() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); String[] oldvalue = dfs.getEras(); String[] newvalue = (String[])oldvalue.clone(); newvalue[0] = newvalue[0] + "!"; dfs.setEras(newvalue); String[] result = dfs.getEras(); assertArraysNotEqual(oldvalue, result); assertArraysEqual(newvalue, result); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.getMonths()' */ public void testGetMonths() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getMonths()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.setMonths(String[])' */ public void testSetMonths() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); String[] oldvalue = dfs.getMonths(); String[] newvalue = (String[])oldvalue.clone(); newvalue[0] = newvalue[0] + "!"; dfs.setMonths(newvalue); String[] result = dfs.getMonths(); assertArraysNotEqual(oldvalue, result); assertArraysEqual(newvalue, result); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.getShortMonths()' */ public void testGetShortMonths() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getShortMonths()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.setShortMonths(String[])' */ public void testSetShortMonths() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); String[] oldvalue = dfs.getShortMonths(); String[] newvalue = (String[])oldvalue.clone(); newvalue[0] = newvalue[0] + "!"; dfs.setShortMonths(newvalue); String[] result = dfs.getShortMonths(); assertArraysNotEqual(oldvalue, result); assertArraysEqual(newvalue, result); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.getWeekdays()' */ public void testGetWeekdays() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getShortMonths()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.setWeekdays(String[])' */ public void testSetWeekdays() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); String[] oldvalue = dfs.getWeekdays(); String[] newvalue = (String[])oldvalue.clone(); newvalue[0] = newvalue[0] + "!"; dfs.setWeekdays(newvalue); String[] result = dfs.getWeekdays(); assertArraysNotEqual(oldvalue, result); assertArraysEqual(newvalue, result); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.getShortWeekdays()' */ public void testGetShortWeekdays() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getShortWeekdays()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.setShortWeekdays(String[])' */ public void testSetShortWeekdays() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); String[] oldvalue = dfs.getShortWeekdays(); String[] newvalue = (String[])oldvalue.clone(); newvalue[0] = newvalue[0] + "!"; dfs.setShortWeekdays(newvalue); String[] result = dfs.getShortWeekdays(); assertArraysNotEqual(oldvalue, result); assertArraysEqual(newvalue, result); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.getAmPmStrings()' */ public void testGetAmPmStrings() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getAmPmStrings()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.setAmPmStrings(String[])' */ public void testSetAmPmStrings() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); String[] oldvalue = dfs.getAmPmStrings(); String[] newvalue = (String[])oldvalue.clone(); newvalue[0] = newvalue[0] + "!"; dfs.setAmPmStrings(newvalue); String[] result = dfs.getAmPmStrings(); assertArraysNotEqual(oldvalue, result); assertArraysEqual(newvalue, result); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.getZoneStrings()' */ public void testGetZoneStrings() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getZoneStrings()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.setZoneStrings(String[][])' */ public void testSetZoneStrings() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); String[][] oldvalue = dfs.getZoneStrings(); String[][] newvalue = (String[][])cloneComplex(oldvalue); newvalue[0][0] = newvalue[0][0] + "!"; dfs.setZoneStrings(newvalue); String[][] result = dfs.getZoneStrings(); assertArraysNotEqual(oldvalue, result); assertArraysEqual(newvalue, result); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.getLocalPatternChars()' */ public void testGetLocalPatternChars() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.getLocalPatternChars()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.setLocalPatternChars(String)' */ public void testSetLocalPatternChars() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); String pat = dfs.getLocalPatternChars(); StringBuffer buf = new StringBuffer(pat); buf.setCharAt(0, (char)(pat.charAt(0) + 1)); String pat2 = buf.toString(); dfs.setLocalPatternChars(pat2); String pat3 = dfs.getLocalPatternChars(); assertNotEqual(pat, pat2); assertEquals(pat2, pat3); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.toString()' */ public void testToString() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); assertNotNull(dfs.toString()); } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.clone()' */ public void testClone() { // tested by testHashCode } /* * Test method for 'com.ibm.icu.text.DateFormatSymbols.equals(Object)' */ public void testEqualsObject() { // tested by testHashCode } } DateFormatTest.java000066400000000000000000000402111172643025600351070ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.text.FieldPosition; import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; import java.util.Locale; import com.ibm.icu.text.DateFormat; import com.ibm.icu.text.NumberFormat; import com.ibm.icu.util.Calendar; import com.ibm.icu.util.TimeZone; import com.ibm.icu.util.ULocale; public class DateFormatTest extends ICUTestCase { private Calendar aCal; private Calendar anESTCal; private Date aDate; private String aDateString; private String aTimeString; private String anESTTimeString; private String aDateTimeString; private String aShortDateTimeString; private String aDefaultESTDateTimeString; private DateFormat aDF; private StringBuffer aBuf; private FieldPosition anFP; private FieldPosition anFPField; private static int YEAR_POS_START = 8; private static int YEAR_POS_END = 12; protected void setUp() throws Exception { super.setUp(); java.util.GregorianCalendar gcal = new java.util.GregorianCalendar(); gcal.clear(); gcal.set(java.util.GregorianCalendar.YEAR, 1990); gcal.set(java.util.GregorianCalendar.MONTH, java.util.GregorianCalendar.DECEMBER); gcal.set(java.util.GregorianCalendar.DATE, 17); gcal.set(java.util.GregorianCalendar.HOUR, 5); gcal.set(java.util.GregorianCalendar.MINUTE, 17); aCal = new Calendar(gcal); anESTCal = Calendar.getInstance(); anESTCal.setTimeZone(TimeZone.getTimeZone("EST")); aDate = gcal.getTime(); aDateString = "Dec 17, 1990"; // medium -- the default aTimeString = "5:17:00 AM"; // medium anESTTimeString = "8:17:00 AM"; aDateTimeString = "Dec 17, 1990 5:17:00 AM"; // medium, medium aDefaultESTDateTimeString = "Dec 17, 1990 8:17 AM"; // medium, short -- the default aShortDateTimeString = "12/17/90 5:17 AM"; // short, short aDF = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.US); aBuf = new StringBuffer(); anFP = new FieldPosition(DateFormat.YEAR_FIELD); anFPField = new FieldPosition(DateFormat.Field.YEAR); } /* * Test method for 'com.ibm.icu.text.DateFormat.hashCode()' */ public final void testHashCode() { DateFormat df = DateFormat.getInstance(); DateFormat eq = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); testEHCS(df, eq, aDF); } /* * Test method for 'com.ibm.icu.text.DateFormat.DateFormat(DateFormat)' */ public final void testDateFormat() { DateFormat df = new DateFormat(java.text.DateFormat.getInstance()); assertEquals(DateFormat.getInstance(), df); } private void assertEqualDateString(StringBuffer buf) { assertEquals(aDateTimeString, buf.toString()); } private void assertEqualDateString(String str) { assertEquals(aDateTimeString, str); } /* * Test method for 'com.ibm.icu.text.DateFormat.format(Object, StringBuffer, FieldPosition)' */ public final void testFormatObjectStringBufferFieldPosition() { assertEqualDateString(aDF.format(aDate, aBuf, anFP)); assertEquals(YEAR_POS_START, anFP.getBeginIndex()); assertEquals(YEAR_POS_END, anFP.getEndIndex()); } /* * Test method for 'com.ibm.icu.text.DateFormat.format(Calendar, StringBuffer, FieldPosition)' */ public final void testFormatCalendarStringBufferFieldPosition() { assertEqualDateString(aDF.format(aCal, aBuf, anFP)); assertEquals(YEAR_POS_START, anFP.getBeginIndex()); assertEquals(YEAR_POS_END, anFP.getEndIndex()); } /* * Test method for 'com.ibm.icu.text.DateFormat.format(Date, StringBuffer, FieldPosition)' */ public final void testFormatDateStringBufferFieldPosition() { assertEqualDateString(aDF.format(aDate, aBuf, anFPField)); assertEquals(YEAR_POS_START, anFPField.getBeginIndex()); assertEquals(YEAR_POS_END, anFPField.getEndIndex()); } /* * Test method for 'com.ibm.icu.text.DateFormat.format(Date)' */ public final void testFormatDate() { assertEqualDateString(aDF.format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.parse(String)' */ public final void testParseString() throws Exception { assertEquals(aDate, aDF.parse(aDateTimeString)); } /* * Test method for 'com.ibm.icu.text.DateFormat.parse(String, Calendar, ParsePosition)' */ public final void testParseStringCalendarParsePosition() { aDF.parse(aDateTimeString, aCal, new ParsePosition(0)); assertEquals(aDate, aCal.getTime()); } /* * Test method for 'com.ibm.icu.text.DateFormat.parse(String, ParsePosition)' */ public final void testParseStringParsePosition() { assertEquals(aDate, aDF.parse(aDateTimeString, new ParsePosition(0))); } /* * Test method for 'com.ibm.icu.text.DateFormat.parseObject(String, ParsePosition)' */ public final void testParseObjectStringParsePosition() { assertEquals(aDate, aDF.parseObject(aDateTimeString, new ParsePosition(0))); } /* * Test method for 'com.ibm.icu.text.DateFormat.getTimeInstance()' */ public final void testGetTimeInstance() { assertEquals(aTimeString, DateFormat.getTimeInstance().format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getTimeInstance(int)' */ public final void testGetTimeInstanceInt() { assertEquals(aTimeString, DateFormat.getTimeInstance(DateFormat.MEDIUM).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getTimeInstance(int, Locale)' */ public final void testGetTimeInstanceIntLocale() { assertEquals(aTimeString, DateFormat.getTimeInstance(DateFormat.MEDIUM, Locale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getTimeInstance(int, ULocale)' */ public final void testGetTimeInstanceIntULocale() { assertEquals(aTimeString, DateFormat.getTimeInstance(DateFormat.MEDIUM, ULocale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateInstance()' */ public final void testGetDateInstance() { assertEquals(aDateString, DateFormat.getDateInstance().format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateInstance(int)' */ public final void testGetDateInstanceInt() { assertEquals(aDateString, DateFormat.getDateInstance(DateFormat.MEDIUM).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateInstance(int, Locale)' */ public final void testGetDateInstanceIntLocale() { assertEquals(aDateString, DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateInstance(int, ULocale)' */ public final void testGetDateInstanceIntULocale() { assertEquals(aDateString, DateFormat.getDateInstance(DateFormat.MEDIUM, ULocale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateTimeInstance()' */ public final void testGetDateTimeInstance() { assertEquals(aDateTimeString, DateFormat.getDateTimeInstance().format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateTimeInstance(int, int)' */ public final void testGetDateTimeInstanceIntInt() { assertEquals(aDateTimeString, DateFormat.getDateTimeInstance( DateFormat.MEDIUM, DateFormat.MEDIUM).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateTimeInstance(int, int, Locale)' */ public final void testGetDateTimeInstanceIntIntLocale() { assertEquals(aDateTimeString, DateFormat.getDateTimeInstance( DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateTimeInstance(int, int, ULocale)' */ public final void testGetDateTimeInstanceIntIntULocale() { assertEquals(aDateTimeString, DateFormat.getDateTimeInstance( DateFormat.MEDIUM, DateFormat.MEDIUM, ULocale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getInstance()' */ public final void testGetInstance() { assertEquals(aShortDateTimeString, DateFormat.getInstance().format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getAvailableLocales()' */ public final void testGetAvailableLocales() { Locale[] locales = DateFormat.getAvailableLocales(); if (ICUTestCase.testingWrapper) { ICUTestCase.assertArraysEqual(java.text.DateFormat.getAvailableLocales(), locales); } else { assertNotNull(locales); } } /* * Test method for 'com.ibm.icu.text.DateFormat.setCalendar(Calendar)' */ public final void testSetCalendar() { Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("EST")); DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT); df.setCalendar(cal); assertEquals("8:17 AM", df.format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getCalendar()' */ public final void testGetCalendar() { Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("EST")); DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT); df.setCalendar(cal); assertEquals(cal, df.getCalendar()); } /* * Test method for 'com.ibm.icu.text.DateFormat.setNumberFormat(NumberFormat)' */ public final void testSetNumberFormat() { // no easy way to test effect of setting the number format NumberFormat nf = NumberFormat.getInstance(); DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT); df.setNumberFormat(nf); // note, can't actually USE the dateformat since it changes the calendar assertEquals(nf, df.getNumberFormat()); } /* * Test method for 'com.ibm.icu.text.DateFormat.getNumberFormat()' */ public final void testGetNumberFormat() { // see testSetNumberFormat } /* * Test method for 'com.ibm.icu.text.DateFormat.setTimeZone(TimeZone)' */ public final void testSetTimeZone() { DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT); TimeZone tz = TimeZone.getTimeZone("EST"); df.setTimeZone(tz); assertEquals("8:17 AM", df.format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getTimeZone()' */ public final void testGetTimeZone() { DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT); TimeZone tz = TimeZone.getTimeZone("EST"); df.setTimeZone(tz); assertEquals(tz, df.getTimeZone()); } /* * Test method for 'com.ibm.icu.text.DateFormat.setLenient(boolean)' */ public final void testSetLenient() throws Exception { DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); df.parse("2/31/90"); // succeeds, default is lenient df.setLenient(false); try { df.parse("2/31/90"); throw new Exception("strict parse should have failed"); } catch (ParseException e) { // ok, this is what we expect } } /* * Test method for 'com.ibm.icu.text.DateFormat.isLenient()' */ public final void testIsLenient() { DateFormat df = DateFormat.getInstance(); assertTrue(df.isLenient()); df.setLenient(false); assertFalse(df.isLenient()); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateInstance(Calendar, int, Locale)' */ public final void testGetDateInstanceCalendarIntLocale() { assertEquals(aDateString, DateFormat.getDateInstance(aCal, DateFormat.MEDIUM, Locale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateInstance(Calendar, int, ULocale)' */ public final void testGetDateInstanceCalendarIntULocale() { assertEquals(aDateString, DateFormat.getDateInstance(aCal, DateFormat.MEDIUM, ULocale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getTimeInstance(Calendar, int, Locale)' */ public final void testGetTimeInstanceCalendarIntLocale() { assertEquals(anESTTimeString, DateFormat.getTimeInstance(anESTCal, DateFormat.MEDIUM, Locale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getTimeInstance(Calendar, int, ULocale)' */ public final void testGetTimeInstanceCalendarIntULocale() { assertEquals(anESTTimeString, DateFormat.getTimeInstance(anESTCal, DateFormat.MEDIUM, ULocale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateTimeInstance(Calendar, int, int, Locale)' */ public final void testGetDateTimeInstanceCalendarIntIntLocale() { assertEquals(aDefaultESTDateTimeString, DateFormat.getDateTimeInstance(anESTCal, DateFormat.MEDIUM, DateFormat.SHORT, Locale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateTimeInstance(Calendar, int, int, ULocale)' */ public final void testGetDateTimeInstanceCalendarIntIntULocale() { assertEquals(aDefaultESTDateTimeString, DateFormat.getDateTimeInstance(anESTCal, DateFormat.MEDIUM, DateFormat.SHORT, ULocale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getInstance(Calendar, Locale)' */ public final void testGetInstanceCalendarLocale() { assertEquals(aDefaultESTDateTimeString, DateFormat.getInstance(anESTCal, Locale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getInstance(Calendar, ULocale)' */ public final void testGetInstanceCalendarULocale() { assertEquals(aDefaultESTDateTimeString, DateFormat.getInstance(anESTCal, ULocale.US).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getInstance(Calendar)' */ public final void testGetInstanceCalendar() { assertEquals(aDefaultESTDateTimeString, DateFormat.getInstance(anESTCal).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateInstance(Calendar, int)' */ public final void testGetDateInstanceCalendarInt() { assertEquals(aDateString, DateFormat.getDateInstance(aCal, DateFormat.MEDIUM).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getTimeInstance(Calendar, int)' */ public final void testGetTimeInstanceCalendarInt() { assertEquals(anESTTimeString, DateFormat.getTimeInstance(anESTCal, DateFormat.MEDIUM).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.getDateTimeInstance(Calendar, int, int)' */ public final void testGetDateTimeInstanceCalendarIntInt() { assertEquals(aDefaultESTDateTimeString, DateFormat.getDateTimeInstance(anESTCal, DateFormat.MEDIUM, DateFormat.SHORT).format(aDate)); } /* * Test method for 'com.ibm.icu.text.DateFormat.toString()' */ public final void testToString() { assertNotNull(aDF.toString()); } /* * Test method for 'com.ibm.icu.text.DateFormat.clone()' */ public final void testClone() { // see testHashCode } /* * Test method for 'com.ibm.icu.text.DateFormat.equals(Object)' */ public final void testEqualsObject() { // see testHashCode } } DecimalFormatSymbolsTest.java000066400000000000000000000272171172643025600371540ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.util.Locale; import com.ibm.icu.text.DecimalFormatSymbols; import com.ibm.icu.util.ULocale; public class DecimalFormatSymbolsTest extends ICUTestCase { /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.hashCode()' */ public void testHashCode() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US); DecimalFormatSymbols dfs2 = new DecimalFormatSymbols(ULocale.US); DecimalFormatSymbols dfsn = new DecimalFormatSymbols(Locale.FRANCE); testEHCS(dfs, dfs2, dfsn); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.DecimalFormatSymbols(DecimalFormatSymbols)' */ public void testDecimalFormatSymbolsDecimalFormatSymbols() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.DecimalFormatSymbols()' */ public void testDecimalFormatSymbols() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(); assertTrue(-1 != dfs.getDecimalSeparator()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.DecimalFormatSymbols(Locale)' */ public void testDecimalFormatSymbolsLocale() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US); assertTrue(-1 != dfs.getDecimalSeparator()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.DecimalFormatSymbols(ULocale)' */ public void testDecimalFormatSymbolsULocale() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertTrue(-1 != dfs.getDecimalSeparator()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getZeroDigit()' */ public void testGetZeroDigit() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals('0', dfs.getZeroDigit()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setZeroDigit(char)' */ public void testSetZeroDigit() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getZeroDigit(); char value1 = (char)(value + 1); dfs.setZeroDigit(value1); char result = dfs.getZeroDigit(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getGroupingSeparator()' */ public void testGetGroupingSeparator() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals(',', dfs.getGroupingSeparator()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setGroupingSeparator(char)' */ public void testSetGroupingSeparator() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getGroupingSeparator(); char value1 = (char)(value + 1); dfs.setGroupingSeparator(value1); char result = dfs.getGroupingSeparator(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getDecimalSeparator()' */ public void testGetDecimalSeparator() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals('.', dfs.getDecimalSeparator()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setDecimalSeparator(char)' */ public void testSetDecimalSeparator() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getDecimalSeparator(); char value1 = (char)(value + 1); dfs.setDecimalSeparator(value1); char result = dfs.getDecimalSeparator(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getPerMill()' */ public void testGetPerMill() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals('\u2030', dfs.getPerMill()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setPerMill(char)' */ public void testSetPerMill() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getPerMill(); char value1 = (char)(value + 1); dfs.setPerMill(value1); char result = dfs.getPerMill(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getPercent()' */ public void testGetPercent() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals('%', dfs.getPercent()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setPercent(char)' */ public void testSetPercent() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getPercent(); char value1 = (char)(value + 1); dfs.setPercent(value1); char result = dfs.getPercent(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getDigit()' */ public void testGetDigit() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals('#', dfs.getDigit()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setDigit(char)' */ public void testSetDigit() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getDigit(); char value1 = (char)(value + 1); dfs.setDigit(value1); char result = dfs.getDigit(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getPatternSeparator()' */ public void testGetPatternSeparator() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals(';', dfs.getPatternSeparator()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setPatternSeparator(char)' */ public void testSetPatternSeparator() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getPatternSeparator(); char value1 = (char)(value + 1); dfs.setPatternSeparator(value1); char result = dfs.getPatternSeparator(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getInfinity()' */ public void testGetInfinity() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals("\u221e", dfs.getInfinity()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setInfinity(String)' */ public void testSetInfinity() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); String value = dfs.getInfinity(); String value1 = value + "!"; dfs.setInfinity(value1); String result = dfs.getInfinity(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getNaN()' */ public void testGetNaN() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertNotNull(dfs.getNaN()); // java returns missing character??? } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setNaN(String)' */ public void testSetNaN() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); String value = dfs.getNaN(); String value1 = value + "!"; dfs.setNaN(value1); String result = dfs.getNaN(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getMinusSign()' */ public void testGetMinusSign() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals('-', dfs.getMinusSign()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setMinusSign(char)' */ public void testSetMinusSign() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getMinusSign(); char value1 = (char)(value + 1); dfs.setMinusSign(value1); char result = dfs.getMinusSign(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getCurrencySymbol()' */ public void testGetCurrencySymbol() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals("$", dfs.getCurrencySymbol()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setCurrencySymbol(String)' */ public void testSetCurrencySymbol() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); String value = dfs.getCurrencySymbol(); String value1 = value + "!"; dfs.setCurrencySymbol(value1); String result = dfs.getCurrencySymbol(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getInternationalCurrencySymbol()' */ public void testGetInternationalCurrencySymbol() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals("USD", dfs.getInternationalCurrencySymbol()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setInternationalCurrencySymbol(String)' */ public void testSetInternationalCurrencySymbol() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); String value = dfs.getInternationalCurrencySymbol(); String value1 = value + "!"; dfs.setInternationalCurrencySymbol(value1); String result = dfs.getInternationalCurrencySymbol(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.getMonetaryDecimalSeparator()' */ public void testGetMonetaryDecimalSeparator() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); assertEquals('.', dfs.getMonetaryDecimalSeparator()); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.setMonetaryDecimalSeparator(char)' */ public void testSetMonetaryDecimalSeparator() { DecimalFormatSymbols dfs = new DecimalFormatSymbols(ULocale.US); char value = dfs.getMonetaryDecimalSeparator(); char value1 = (char)(value + 1); dfs.setMonetaryDecimalSeparator(value1); char result = dfs.getMonetaryDecimalSeparator(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.clone()' */ public void testClone() { // tested in testHashcode } /* * Test method for 'com.ibm.icu.text.DecimalFormatSymbols.equals(Object)' */ public void testEqualsObject() { // tested in testHashcode } } DecimalFormatTest.java000066400000000000000000000201601172643025600355710ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.util.Locale; import com.ibm.icu.text.DecimalFormat; import com.ibm.icu.text.DecimalFormatSymbols; public class DecimalFormatTest extends ICUTestCase { private static final long lmax = Long.MAX_VALUE; private static final double dsmall = 23.33; /* * Test method for 'com.ibm.icu.text.DecimalFormat.clone()' */ public void testClone() { DecimalFormat df = new DecimalFormat("#,#0.00"); DecimalFormat df2 = new DecimalFormat("#,#0.00"); DecimalFormat dfn = new DecimalFormat("#,#0.00"); dfn.setNegativePrefix(dfn.getNegativePrefix() + '!'); testEHCS(df, df2, dfn); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(DecimalFormat)' */ public void testDecimalFormatDecimalFormat() { // tested implicitly } /* * Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat()' */ public void testDecimalFormat() { DecimalFormat df = new DecimalFormat(); assertEquals("9,223,372,036,854,775,807", df.format(lmax)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(String)' */ public void testDecimalFormatString() { DecimalFormat df = new DecimalFormat("#,##0.000"); assertEquals("23.330", df.format(dsmall)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.DecimalFormat(String, DecimalFormatSymbols)' */ public void testDecimalFormatStringDecimalFormatSymbols() { DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.FRANCE); DecimalFormat df = new DecimalFormat("#,##0.000", sym); assertEquals("23,330", df.format(dsmall)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.getDecimalFormatSymbols()' */ public void testGetDecimalFormatSymbols() { DecimalFormatSymbols sym = new DecimalFormatSymbols(Locale.FRANCE); DecimalFormat df = new DecimalFormat("#,##0.000", sym); assertEquals(sym, df.getDecimalFormatSymbols()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.setDecimalFormatSymbols(DecimalFormatSymbols)' */ public void testSetDecimalFormatSymbols() { DecimalFormat df = new DecimalFormat(); df.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.FRANCE)); assertEquals("23,33", df.format(dsmall)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.getPositivePrefix()' */ public void testGetPositivePrefix() { DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); assertEquals("+", df.getPositivePrefix()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.setPositivePrefix(String)' */ public void testSetPositivePrefix() { DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); df.setPositivePrefix("?"); assertEquals("?23.3", df.format(dsmall)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.getNegativePrefix()' */ public void testGetNegativePrefix() { DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); assertEquals("-", df.getNegativePrefix()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.setNegativePrefix(String)' */ public void testSetNegativePrefix() { DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); df.setNegativePrefix("~"); assertEquals("~23.3", df.format(-dsmall)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.getPositiveSuffix()' */ public void testGetPositiveSuffix() { DecimalFormat df = new DecimalFormat("+#,##0.#**;-#,##0.#~~"); assertEquals("**", df.getPositiveSuffix()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.setPositiveSuffix(String)' */ public void testSetPositiveSuffix() { DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); df.setPositiveSuffix("**"); assertEquals("+23.3**", df.format(dsmall)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.getNegativeSuffix()' */ public void testGetNegativeSuffix() { DecimalFormat df = new DecimalFormat("+#,##0.#**;-#,##0.#~~"); assertEquals("~~", df.getNegativeSuffix()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.setNegativeSuffix(String)' */ public void testSetNegativeSuffix() { DecimalFormat df = new DecimalFormat("+#,##0.#;-#,##0.#"); df.setNegativeSuffix("~~"); assertEquals("-23.3~~", df.format(-dsmall)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.getMultiplier()' */ public void testGetMultiplier() { DecimalFormat df = new DecimalFormat("%000"); df.setMultiplier(1000); assertEquals(1000, df.getMultiplier()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.setMultiplier(int)' */ public void testSetMultiplier() { DecimalFormat df = new DecimalFormat("%000"); assertEquals("%012", df.format(.123)); df.setMultiplier(1000); assertEquals("%123", df.format(.123)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.getGroupingSize()' */ public void testGetGroupingSize() { DecimalFormat df = new DecimalFormat("#,#0.#"); assertEquals(2, df.getGroupingSize()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.setGroupingSize(int)' */ public void testSetGroupingSize() { DecimalFormat df = new DecimalFormat("#,##0.##"); assertEquals("1,234,567.89", df.format(1234567.89)); df.setGroupingSize(2); assertEquals("1,23,45,67.89", df.format(1234567.89)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.isDecimalSeparatorAlwaysShown()' */ public void testIsDecimalSeparatorAlwaysShown() { DecimalFormat df = new DecimalFormat("#.#"); df.setDecimalSeparatorAlwaysShown(false); assertEquals("1", df.format(1)); assertEquals("1.2", df.format(1.2)); df.setDecimalSeparatorAlwaysShown(true); assertEquals("1.", df.format(1)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.setDecimalSeparatorAlwaysShown(boolean)' */ public void testSetDecimalSeparatorAlwaysShown() { DecimalFormat df = new DecimalFormat("#.#"); df.setDecimalSeparatorAlwaysShown(false); assertFalse(df.isDecimalSeparatorAlwaysShown()); df.setDecimalSeparatorAlwaysShown(true); assertTrue(df.isDecimalSeparatorAlwaysShown()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.toPattern()' */ public void testToPattern() { DecimalFormat df = new DecimalFormat("#,##0.##"); assertEquals("#,##0.##", df.toPattern()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.toLocalizedPattern()' */ public void testToLocalizedPattern() { DecimalFormat df = new DecimalFormat("#,##0.##", new DecimalFormatSymbols(Locale.FRANCE)); assertEquals("#,##0.##", df.toPattern()); assertEquals("#\u00a0##0,##", df.toLocalizedPattern()); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.applyPattern(String)' */ public void testApplyPattern() { DecimalFormat df = new DecimalFormat("#,##0.##"); df.applyPattern("#,0.#"); assertEquals("1,2,3.4", df.format(123.4)); } /* * Test method for 'com.ibm.icu.text.DecimalFormat.applyLocalizedPattern(String)' */ public void testApplyLocalizedPattern() { DecimalFormat df = new DecimalFormat("#,##0.##", new DecimalFormatSymbols(Locale.FRANCE)); df.applyLocalizedPattern("#\u00a00,#"); assertEquals("1\u00a02\u00a03,4", df.format(123.4)); } } ICUTestCase.java000066400000000000000000000250641172643025600343060ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Locale; import com.ibm.icu.util.TimeZone; import com.ibm.icu.util.ULocale; import junit.framework.TestCase; /** * Implement boilerplate tests. * Currently there is only one method, testEHCS, which tests equals, hashCode, * clone, and serialization. */ public abstract class ICUTestCase extends TestCase { private static final Object[] EMPTY_ARGS = {}; private static final Class[] EMPTY_CLASSES = {}; private static final Locale oldLocale = Locale.getDefault(); private static final ULocale oldULocale = ULocale.getDefault(); private static final java.util.TimeZone oldJTimeZone = java.util.TimeZone.getDefault(); private static final TimeZone oldITimeZone = TimeZone.getDefault(); // TODO: what's the best way to check this? public static final boolean testingWrapper = true; protected void setUp() throws Exception { super.setUp(); Locale.setDefault(Locale.US); ULocale.setDefault(ULocale.US); java.util.TimeZone.setDefault(java.util.TimeZone.getTimeZone("PST")); TimeZone.setDefault(TimeZone.getTimeZone("PST")); } protected void tearDown() throws Exception { ULocale.setDefault(oldULocale); Locale.setDefault(oldLocale); TimeZone.setDefault(oldITimeZone); java.util.TimeZone.setDefault(oldJTimeZone); super.tearDown(); } private static final Object test = new Object(); /** * Assert that two objects are _not_ equal. Curiously missing from Assert. * @param lhs an object to test, may be null * @param rhs an object to test, may be null */ public static void assertNotEqual(Object lhs, Object rhs) { if (lhs == null) { if (rhs == null) fail("null equals null"); } else { if (lhs.equals(rhs)) { fail(lhs.toString() + " equals " + rhs); } } } public static void assertNotEqual(long lhs, long rhs) { if (lhs == rhs) { fail("values are equal: " + lhs); } } /** * Test whether equality, hashCode, clone, and serialization work as expected. * Equals(Object) is assumed to return false (not throw an exception) if passed * null or an object of an incompatible class. * Hashcodes must be equal iff the two objects compare equal. No attempt is made to * evaluate the quality of the hashcode distribution, so (in particular) degenerate * hashcode implementations will pass this test. * Clone will be tested if the method "clone" is public on the class of obj. * It is assumed to return an object that compares equal to obj. * Serialization will be tested if object implements Serializable or Externalizable. * It is assumed the serialized/deserialized object compares equal to obj. * @param obj the object to test * @param eq an object that should compare equal to, but is not the same as, obj. * it should be assignable to the class of obj. * @param neq a non-null object that should not compare equal to obj. * it should be assignable to the class of obj. */ public static void testEHCS(Object obj, Object eq, Object neq) { if (obj == null || eq == null || neq == null) { throw new NullPointerException(); } Class cls = obj.getClass(); if (!(cls.isAssignableFrom(eq.getClass()) && cls.isAssignableFrom(neq.getClass()))) { throw new IllegalArgumentException("unassignable classes"); } // reflexive assertEquals(obj, obj); // should return false, not throw exception assertNotEqual(obj, test); assertNotEqual(obj, null); // commutative assertEquals(obj, eq); assertEquals(eq, obj); assertNotEqual(obj, neq); assertNotEqual(neq, obj); // equal objects MUST have equal hashes, unequal objects MAY have equal hashes assertEquals(obj.hashCode(), eq.hashCode()); Object clone = null; try { // look for public clone method and call it if available Method method_clone = cls.getMethod("clone", EMPTY_CLASSES); clone = method_clone.invoke(obj, EMPTY_ARGS); assertNotNull(clone); } catch(NoSuchMethodException e) { // ok } catch(InvocationTargetException e) { // ok } catch(IllegalAccessException e) { // ok } if (clone != null) { assertEquals(obj, clone); assertEquals(clone, obj); } if (obj instanceof Serializable || obj instanceof Externalizable) { Object ser = null; try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(clone); oos.close(); ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bis); ser = ois.readObject(); ois.close(); } catch(IOException e) { System.err.println(e.getMessage()); throw new RuntimeException(e); } catch(ClassNotFoundException e) { System.err.println(e.getMessage()); throw new RuntimeException(e); } if (ser != null) { assertEquals(obj, ser); assertEquals(ser, obj); assertEquals(obj.hashCode(), ser.hashCode()); } } } /** * Fail if the arrays are not equal. To be equal, the arrays must * be the same length, and each element in the left array must compare * equal to the corresponding element of the right array. * Also fails if one of the objects is not an array. * @param lhs the left array * @param rhs the right array */ public static void assertArraysEqual(Object lhs, Object rhs) { Class lcls = lhs.getClass(); Class rcls = rhs.getClass(); if (!(lcls.isArray() && rcls.isArray())) { fail("objects are not arrays"); } String result = arraysAreEqual(lhs, rhs); if (result != null) { fail(result); } } /** * Fail if the arrays are equal. Also fails if one or the other * argument is not an array. * @param lhs the left array * @param rhs the right array */ public static void assertArraysNotEqual(Object lhs, Object rhs) { Class lcls = lhs.getClass(); Class rcls = rhs.getClass(); if (!(lcls.isArray() && rcls.isArray())) { fail("objects are not arrays"); } String result = arraysAreEqual(lhs, rhs); if (result == null) { fail("arrays are equal"); } } // slow but general private static String arraysAreEqual(Object lhsa, Object rhsa) { int lhsl = Array.getLength(lhsa); int rhsl = Array.getLength(rhsa); if (lhsl != rhsl) { return "length " + lhsl + " != " + rhsl; } boolean lhsaA = lhsa.getClass().getComponentType().isArray(); boolean rhsaA = rhsa.getClass().getComponentType().isArray(); if (lhsaA != rhsaA) { return (lhsaA ? "" : "non-") + "array != " + (rhsaA ? "" : "non-") + "array"; } for (int i = 0; i < lhsl; ++i) { Object lhse = Array.get(lhsa, i); Object rhse = Array.get(rhsa, i); if (lhse == null) { if (rhse != null) { return "null != " + rhse; } } else { if (lhsaA) { String result = arraysAreEqual(lhse, rhse); if (result != null) { if (result.charAt(0) != '[') { result = " " + result; } return "[" + i + "]" + result; } } else { if (!lhse.equals(rhse)) { return lhse.toString() + " != " + rhse; } } } } return null; } // much more painful and slow than it should be... partly because of the // oddness of clone, partly because arrays don't provide a Method for // 'clone' despite the fact that they implement it and make it public. public static Object cloneComplex(Object obj) { Object result = null; if (obj != null) { Class cls = obj.getClass(); if (cls.isArray()) { int len = Array.getLength(obj); Class typ = cls.getComponentType(); result = Array.newInstance(typ, len); boolean prim = typ.isPrimitive(); for (int i = 0; i < len; ++i) { Object elem = Array.get(obj, i); Array.set(result, i, prim ? elem : cloneComplex(elem)); } } else { result = obj; // default try { Method cloneM = cls.getMethod("clone", EMPTY_CLASSES); result = cloneM.invoke(obj, EMPTY_ARGS); } catch (NoSuchMethodException e) { } catch (IllegalAccessException e) { } catch (InvocationTargetException e) { } } } return result; } } MessageFormatTest.java000066400000000000000000000257641172643025600356360ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.text.FieldPosition; import java.text.Format; import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; import java.util.Locale; import com.ibm.icu.text.DateFormat; import com.ibm.icu.text.MessageFormat; import com.ibm.icu.text.NumberFormat; import com.ibm.icu.util.ULocale; public class MessageFormatTest extends ICUTestCase { private final String pattern = "Deleted {0,number} files at {1,time,short} on {1,date}."; private final String altPattern = "Deleted {0, number } files at {1, time, short} on {1, date}."; private final Date date = new Date(716698890835L); private final Number num = new Long(3456); private final Object[] args = { num, date }; private final Date dateOnly = new Date(716626800000L); private final String englishTarget = "Deleted 3,456 files at 8:01 PM on Sep 16, 1992."; private final String germanTarget = "Deleted 3.456 files at 20:01 on 16.09.1992."; private final String modifiedTarget = "Deleted 3,456 files at 8:01:30 PM PDT on Sep 16, 1992."; /* * Test method for 'com.ibm.icu.text.MessageFormat.hashCode()' */ public void testHashCode() { MessageFormat mf = new MessageFormat(pattern); MessageFormat eq = new MessageFormat(altPattern); MessageFormat ne = new MessageFormat("Deleted (0, number, currency} files at {1, time} on {1, date}."); testEHCS(mf, eq, ne); } /* * Test method for 'com.ibm.icu.text.MessageFormat.MessageFormat(MessageFormat)' */ public void testMessageFormatMessageFormat() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.text.MessageFormat.MessageFormat(String)' */ public void testMessageFormatString() { MessageFormat mf = new MessageFormat(pattern); assertEquals(englishTarget, mf.format(args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.MessageFormat(String, Locale)' */ public void testMessageFormatStringLocale() { MessageFormat mf = new MessageFormat(pattern, Locale.US); assertEquals(englishTarget, mf.format(args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.MessageFormat(String, ULocale)' */ public void testMessageFormatStringULocale() { MessageFormat mf = new MessageFormat(pattern, ULocale.US); assertEquals(englishTarget, mf.format(args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.setLocale(Locale)' */ public void testSetLocaleLocale() { MessageFormat mf = new MessageFormat(pattern, Locale.US); mf.setLocale(Locale.GERMANY); mf.applyPattern(pattern); assertEquals(germanTarget, mf.format(args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.setLocale(ULocale)' */ public void testSetLocaleULocale() { MessageFormat mf = new MessageFormat(pattern, Locale.US); mf.setLocale(ULocale.GERMANY); mf.applyPattern(pattern); assertEquals(germanTarget, mf.format(args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.getLocale()' */ public void testGetLocale() { MessageFormat mf = new MessageFormat(pattern, Locale.US); mf.setLocale(Locale.GERMANY); assertEquals(Locale.GERMANY, mf.getLocale()); } /* * Test method for 'com.ibm.icu.text.MessageFormat.getULocale()' */ public void testGetULocale() { MessageFormat mf = new MessageFormat(pattern, Locale.US); mf.setLocale(ULocale.GERMANY); assertEquals(ULocale.GERMANY, mf.getULocale()); } /* * Test method for 'com.ibm.icu.text.MessageFormat.applyPattern(String)' */ public void testApplyPattern() { MessageFormat mf = new MessageFormat("foo"); mf.applyPattern(pattern); assertEquals(englishTarget, mf.format(args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.toPattern()' */ public void testToPattern() { MessageFormat mf = new MessageFormat(altPattern); assertEquals(pattern, mf.toPattern()); } /* * Test method for 'com.ibm.icu.text.MessageFormat.setFormatsByArgumentIndex(Format[])' public void testSetFormatsByArgumentIndex() { // this api is broken. if the same argument is used twice with two different // formats, this can't be used, since it sets only one format per argument. MessageFormat mf = new MessageFormat(pattern, Locale.US); Format[] formats = { NumberFormat.getIntegerInstance(), DateFormat.getTimeInstance(DateFormat.SHORT), DateFormat.getDateInstance(), }; mf.setFormatsByArgumentIndex(formats); assertEquals(brokenButConformantTarget, mf.format(args)); } */ /* * Test method for 'com.ibm.icu.text.MessageFormat.setFormats(Format[])' */ public void testSetFormats() { // this api, while it has the problem that the order of formats depends // on the order in the string, at least lets you set all the formats. MessageFormat mf = new MessageFormat(pattern, Locale.US); Format[] formats = { NumberFormat.getIntegerInstance(), DateFormat.getTimeInstance(DateFormat.SHORT), DateFormat.getDateInstance(), }; mf.setFormats(formats); assertEquals(englishTarget, mf.format(args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.setFormatByArgumentIndex(int, Format)' public void testSetFormatByArgumentIndex() { // same problem, once you set a format for an argument, you've set all of them MessageFormat mf = new MessageFormat(pattern, Locale.US); mf.setFormatByArgumentIndex(1, DateFormat.getTimeInstance(DateFormat.SHORT)); assertEquals(brokenButConformantTarget, mf.format(args)); } */ /* * Test method for 'com.ibm.icu.text.MessageFormat.setFormat(int, Format)' */ public void testSetFormat() { // and ok again MessageFormat mf = new MessageFormat(pattern, Locale.US); mf.setFormat(1, DateFormat.getTimeInstance(DateFormat.LONG)); assertEquals(modifiedTarget, mf.format(args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.getFormatsByArgumentIndex()' public void testGetFormatsByArgumentIndex() { MessageFormat mf = new MessageFormat(pattern, Locale.US); Format[] formats = mf.getFormatsByArgumentIndex(); NumberFormat nf = NumberFormat.getNumberInstance(Locale.US); assertEquals(formats[0], nf); DateFormat df = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.US); assertEquals(formats[1], df); } */ /* * Test method for 'com.ibm.icu.text.MessageFormat.getFormats()' */ public void testGetFormats() { MessageFormat mf = new MessageFormat(pattern, Locale.US); Format[] formats = mf.getFormats(); NumberFormat nf = NumberFormat.getNumberInstance(Locale.US); assertEquals(formats[0], nf); DateFormat tf = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.US); assertEquals(formats[1], tf); DateFormat df = DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.US); assertEquals(formats[2], df); } /* * Test method for 'com.ibm.icu.text.MessageFormat.format(Object[], StringBuffer, FieldPosition)' */ public void testFormatObjectArrayStringBufferFieldPosition() { MessageFormat mf = new MessageFormat(pattern, Locale.US); StringBuffer buf = new StringBuffer(); FieldPosition fp = new FieldPosition(0); mf.format(args, buf, fp); assertEquals(englishTarget, buf.toString()); } /* * Test method for 'com.ibm.icu.text.MessageFormat.format(String, Object[])' */ public void testFormatStringObjectArray() { assertEquals(englishTarget, MessageFormat.format(pattern, args)); } /* * Test method for 'com.ibm.icu.text.MessageFormat.format(Object, StringBuffer, FieldPosition)' */ public void testFormatObjectStringBufferFieldPosition() { MessageFormat mf = new MessageFormat(pattern, Locale.US); StringBuffer buf = new StringBuffer(); FieldPosition fp = new FieldPosition(0); mf.format((Object)args, buf, fp); assertEquals(englishTarget, buf.toString()); } /* * Test method for 'com.ibm.icu.text.MessageFormat.parse(String, ParsePosition)' */ public void testParseStringParsePosition() { MessageFormat mf = new MessageFormat(pattern, Locale.US); ParsePosition pp = new ParsePosition(1); Object[] result = mf.parse("!" + englishTarget, pp); assertEquals(num, result[0]); assertEquals(dateOnly, result[1]); } /* * Test method for 'com.ibm.icu.text.MessageFormat.parse(String)' */ public void testParseString() { MessageFormat mf = new MessageFormat(pattern, Locale.US); try { Object[] result = mf.parse(englishTarget); assertEquals(num, result[0]); assertEquals(dateOnly, result[1]); } catch (ParseException e) { fail(e.getMessage()); } } /* * Test method for 'com.ibm.icu.text.MessageFormat.parseObject(String, ParsePosition)' */ public void testParseObjectStringParsePosition() { MessageFormat mf = new MessageFormat(pattern, Locale.US); ParsePosition pp = new ParsePosition(0); Object result = mf.parseObject(englishTarget, pp); assertEquals(num, ((Object[])result)[0]); assertEquals(dateOnly, ((Object[])result)[1]); } /* * Test method for 'com.ibm.icu.text.MessageFormat.autoQuoteApostrophe(String)' */ public void testAutoQuoteApostrophe() { String str = "Let's meet at {1,time,h 'o'' clock'} at l'Orange Bleue"; String pat = MessageFormat.autoQuoteApostrophe(str); MessageFormat mf = new MessageFormat(pat, Locale.US); String result = mf.format(args); assertEquals("Let's meet at 8 o' clock at l'Orange Bleue", result); assertEquals("Let''s meet at {1,time,h 'o'' clock'} at l''Orange Bleue", pat); } /* * Test method for 'com.ibm.icu.text.MessageFormat.clone()' */ public void testClone() { // tested already in testHashcode } /* * Test method for 'com.ibm.icu.text.MessageFormat.equals(Object)' */ public void testEqualsObject() { // tested already in testHashcode } /* * Test method for 'com.ibm.icu.text.MessageFormat.toString()' */ public void testToString() { // no need to test } } NumberFormatTest.java000066400000000000000000000366441172643025600355010ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2007-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.math.BigInteger; import java.text.FieldPosition; import java.text.ParseException; import java.text.ParsePosition; import java.util.Locale; import com.ibm.icu.text.NumberFormat; import com.ibm.icu.util.ULocale; public class NumberFormatTest extends ICUTestCase { /* * Test method for 'com.ibm.icu.x.text.NumberFormat.NumberFormat(NumberFormat)' */ public void testNumberFormat() { NumberFormat nf = new NumberFormat(java.text.NumberFormat.getInstance()); assertEquals(nf, NumberFormat.getInstance()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.format(Object, StringBuffer, FieldPosition)' */ public void testFormatObjectStringBufferFieldPosition() { Number num = new Long(1234L); StringBuffer buf = new StringBuffer(); FieldPosition fp = new FieldPosition(NumberFormat.INTEGER_FIELD); NumberFormat.getInstance().format(num, buf, fp); assertEquals("1,234", buf.toString()); assertEquals(0, fp.getBeginIndex()); assertEquals(5, fp.getEndIndex()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.parseObject(String, ParsePosition)' */ public void testParseObjectStringParsePosition() { ParsePosition pp = new ParsePosition(0); Object result = NumberFormat.getInstance().parse("1,234", pp); assertEquals(result, new Long(1234)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.format(double)' */ public void testFormatDouble() { assertEquals("1,234.567", NumberFormat.getInstance().format(1234.567)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.format(long)' */ public void testFormatLong() { assertEquals("1,234", NumberFormat.getInstance().format(1234L)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.format(BigInteger)' */ public void testFormatBigInteger() { // note, java doesn't handle biginteger with full precision. BigInteger bi = new BigInteger("123456"); assertEquals("123,456", java.text.NumberFormat.getInstance().format(bi)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.format(double, StringBuffer, FieldPosition)' */ public void testFormatDoubleStringBufferFieldPosition() { StringBuffer buf = new StringBuffer(); FieldPosition fp = new FieldPosition(NumberFormat.FRACTION_FIELD); assertEquals("123,456.789", NumberFormat.getInstance().format(123456.789, buf, fp).toString()); assertEquals(8, fp.getBeginIndex()); assertEquals(11, fp.getEndIndex()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.format(long, StringBuffer, FieldPosition)' */ public void testFormatLongStringBufferFieldPosition() { StringBuffer buf = new StringBuffer(); FieldPosition fp = new FieldPosition(NumberFormat.Field.GROUPING_SEPARATOR); assertEquals("123,456", NumberFormat.getInstance().format(123456L, buf, fp).toString()); assertEquals(3, fp.getBeginIndex()); assertEquals(4, fp.getEndIndex()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.format(BigInteger, StringBuffer, FieldPosition)' */ public void testFormatBigIntegerStringBufferFieldPosition() { // note, java doesn't handle biginteger with full precision. StringBuffer buf = new StringBuffer(); FieldPosition fp = new FieldPosition(0); BigInteger bi = new BigInteger("123456"); assertEquals("123,456", java.text.NumberFormat.getInstance().format(bi, buf, fp).toString()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.parse(String, ParsePosition)' */ public void testParseStringParsePosition() { ParsePosition pp = new ParsePosition(3); assertEquals(new Long(123456), NumberFormat.getInstance().parse("xxx123,456yyy", pp)); assertEquals(10, pp.getIndex()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.parse(String)' */ public void testParseString() throws ParseException { Number result = NumberFormat.getInstance().parse("123,456,yyy"); assertEquals(new Long(123456), result); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.isParseIntegerOnly()' */ public void testIsParseIntegerOnly() { NumberFormat nf = NumberFormat.getInstance(); nf.setParseIntegerOnly(true); assertTrue(nf.isParseIntegerOnly()); nf.setParseIntegerOnly(false); assertFalse(nf.isParseIntegerOnly()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.setParseIntegerOnly(boolean)' */ public void testSetParseIntegerOnly() throws ParseException { String str = "123.456,yyy"; NumberFormat nf = NumberFormat.getInstance(); assertEquals(new Double(123.456), nf.parse(str)); nf.setParseIntegerOnly(true); assertEquals(new Long(123), nf.parse(str)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getInstance()' */ public void testGetInstance() { // used everywhere, no need to test } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getInstance(Locale)' */ public void testGetInstanceLocale() { NumberFormat nf = NumberFormat.getInstance(Locale.GERMANY); assertEquals("123,456", nf.format(123.456)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getInstance(ULocale)' */ public void testGetInstanceULocale() { NumberFormat nf = NumberFormat.getInstance(ULocale.GERMANY); assertEquals("123,456", nf.format(123.456)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getNumberInstance()' */ public void testGetNumberInstance() { NumberFormat nf = NumberFormat.getNumberInstance(); assertEquals("123,456.789", nf.format(123456.789)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getNumberInstance(Locale)' */ public void testGetNumberInstanceLocale() { NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMANY); assertEquals("123.456,789", nf.format(123456.789)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getNumberInstance(ULocale)' */ public void testGetNumberInstanceULocale() { NumberFormat nf = NumberFormat.getNumberInstance(ULocale.GERMANY); assertEquals("123.456,789", nf.format(123456.789)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getIntegerInstance()' */ public void testGetIntegerInstance() { NumberFormat nf = NumberFormat.getIntegerInstance(); assertEquals("123,457", nf.format(123456.789)); // rounds } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getIntegerInstance(Locale)' */ public void testGetIntegerInstanceLocale() { NumberFormat nf = NumberFormat.getIntegerInstance(Locale.GERMANY); assertEquals("123.457", nf.format(123456.789)); // rounds } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getIntegerInstance(ULocale)' */ public void testGetIntegerInstanceULocale() { NumberFormat nf = NumberFormat.getIntegerInstance(ULocale.GERMANY); assertEquals("123.457", nf.format(123456.789)); // rounds } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getCurrencyInstance()' */ public void testGetCurrencyInstance() { NumberFormat nf = NumberFormat.getCurrencyInstance(); assertEquals("$123,456.99", nf.format(123456.99)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getCurrencyInstance(Locale)' */ public void testGetCurrencyInstanceLocale() { NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.GERMANY); assertEquals("123.456,99 \u20AC", nf.format(123456.99)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getCurrencyInstance(ULocale)' */ public void testGetCurrencyInstanceULocale() { NumberFormat nf = NumberFormat.getCurrencyInstance(ULocale.GERMANY); assertEquals("123.456,99 \u20AC", nf.format(123456.99)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getPercentInstance()' */ public void testGetPercentInstance() { NumberFormat nf = NumberFormat.getPercentInstance(); assertEquals("123,456%", nf.format(1234.56)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getPercentInstance(Locale)' */ public void testGetPercentInstanceLocale() { NumberFormat nf = NumberFormat.getPercentInstance(Locale.GERMANY); assertEquals("123.456%", nf.format(1234.56)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getPercentInstance(ULocale)' */ public void testGetPercentInstanceULocale() { NumberFormat nf = NumberFormat.getPercentInstance(ULocale.GERMANY); assertEquals("123.456%", nf.format(1234.56)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getScientificInstance()' */ public void testGetScientificInstance() { NumberFormat nf = NumberFormat.getScientificInstance(); assertEquals(".123456E4", nf.format(1234.56)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getScientificInstance(Locale)' */ public void testGetScientificInstanceLocale() { NumberFormat nf = NumberFormat.getScientificInstance(Locale.GERMANY); assertEquals(",123456E4", nf.format(1234.56)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getScientificInstance(ULocale)' */ public void testGetScientificInstanceULocale() { NumberFormat nf = NumberFormat.getScientificInstance(ULocale.GERMANY); assertEquals(",123456E4", nf.format(1234.56)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getAvailableLocales()' */ public void testGetAvailableLocales() { Locale[] ilocales = NumberFormat.getAvailableLocales(); if (ICUTestCase.testingWrapper) { Locale[] jlocales = java.text.NumberFormat.getAvailableLocales(); for (int i = 0; i < ilocales.length; ++i) { assertEquals(jlocales[i], ilocales[i]); } } } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getAvailableULocales()' */ public void testGetAvailableULocales() { ULocale[] ulocales = NumberFormat.getAvailableULocales(); if (ICUTestCase.testingWrapper) { Locale[] jlocales = java.text.NumberFormat.getAvailableLocales(); for (int i = 0; i < ulocales.length; ++i) { assertEquals(jlocales[i], ulocales[i].toLocale()); } } } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.isGroupingUsed()' */ public void testIsGroupingUsed() { NumberFormat nf = NumberFormat.getInstance(); nf.setGroupingUsed(true); assertTrue(nf.isGroupingUsed()); nf.setGroupingUsed(false); assertFalse(nf.isGroupingUsed()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.setGroupingUsed(boolean)' */ public void testSetGroupingUsed() { NumberFormat nf = NumberFormat.getInstance(); assertEquals("123,456,789", nf.format(123456789)); nf.setGroupingUsed(false); assertEquals("123456789", nf.format(123456789)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getMaximumIntegerDigits()' */ public void testGetMaximumIntegerDigits() { NumberFormat nf = NumberFormat.getInstance(); nf.setMaximumIntegerDigits(4); assertEquals(4, nf.getMaximumIntegerDigits()); nf.setMaximumIntegerDigits(6); assertEquals(6, nf.getMaximumIntegerDigits()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.setMaximumIntegerDigits(int)' */ public void testSetMaximumIntegerDigits() { NumberFormat nf = NumberFormat.getInstance(); nf.setMaximumIntegerDigits(4); assertEquals("3,456", nf.format(123456)); // high digits truncated } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getMinimumIntegerDigits()' */ public void testGetMinimumIntegerDigits() { NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumIntegerDigits(4); assertEquals(4, nf.getMinimumIntegerDigits()); nf.setMinimumIntegerDigits(6); assertEquals(6, nf.getMinimumIntegerDigits()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.setMinimumIntegerDigits(int)' */ public void testSetMinimumIntegerDigits() { NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumIntegerDigits(4); assertEquals("0,012", nf.format(12)); // pad out with zero, grouping still used } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getMaximumFractionDigits()' */ public void testGetMaximumFractionDigits() { NumberFormat nf = NumberFormat.getInstance(); nf.setMaximumFractionDigits(4); assertEquals(4, nf.getMaximumFractionDigits()); nf.setMaximumFractionDigits(6); assertEquals(6, nf.getMaximumFractionDigits()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.setMaximumFractionDigits(int)' */ public void testSetMaximumFractionDigits() { NumberFormat nf = NumberFormat.getInstance(); nf.setMaximumFractionDigits(4); assertEquals("1.2346", nf.format(1.2345678)); // low digits rounded } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.getMinimumFractionDigits()' */ public void testGetMinimumFractionDigits() { NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumFractionDigits(4); assertEquals(4, nf.getMinimumFractionDigits()); nf.setMinimumFractionDigits(6); assertEquals(6, nf.getMinimumFractionDigits()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.setMinimumFractionDigits(int)' */ public void testSetMinimumFractionDigits() { NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumFractionDigits(4); assertEquals("1.2000", nf.format(1.2)); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.toString()' */ public void testToString() { assertNotNull(NumberFormat.getInstance().toString()); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.hashCode()' */ public void testHashCode() { NumberFormat nf = NumberFormat.getInstance(); NumberFormat eq = NumberFormat.getInstance(Locale.US); NumberFormat neq = NumberFormat.getInstance(Locale.GERMANY); ICUTestCase.testEHCS(nf, eq, neq); } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.clone()' */ public void testClone() { // see testHashCode } /* * Test method for 'com.ibm.icu.x.text.NumberFormat.equals(Object)' */ public void testEqualsObject() { // see testHashCode } } SimpleDateFormatTest.java000066400000000000000000000163031172643025600362660ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.text.FieldPosition; import java.text.ParseException; import java.text.ParsePosition; import java.util.Date; import java.util.Locale; import com.ibm.icu.text.DateFormatSymbols; import com.ibm.icu.text.SimpleDateFormat; import com.ibm.icu.util.Calendar; import com.ibm.icu.util.TimeZone; import com.ibm.icu.util.ULocale; public class SimpleDateFormatTest extends ICUTestCase { private static final String mdy = "MMM dd yyyy"; private static final String md2 = "MMM dd yy"; private static final String hmz = "'The time is' HH:mm:ss zzz"; private static final String hmzmdy = hmz + " 'on' " + mdy; private static final String hmzmdyStr = "The time is 15:05:20 CST on Jan 10 2006"; private static final TimeZone tzc = TimeZone.getTimeZone("CST"); private static final TimeZone tzp = TimeZone.getTimeZone("PST"); private static final Calendar cal = Calendar.getInstance(tzc); private static final Date date; static { cal.clear(); cal.set(2006, 0, 10, 15, 5, 20); // arrgh, doesn't clear millis date = cal.getTime(); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.format(Calendar, StringBuffer, FieldPosition)' */ public void testFormatCalendarStringBufferFieldPosition() { StringBuffer buf = new StringBuffer(); FieldPosition fp = new FieldPosition(0); SimpleDateFormat sdf = new SimpleDateFormat(hmzmdy); sdf.format(cal, buf, fp); assertEquals(hmzmdyStr, buf.toString()); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.parse(String, Calendar, ParsePosition)' */ public void testParseStringCalendarParsePosition() { Calendar cal = Calendar.getInstance(tzp); cal.clear(); ParsePosition pp = new ParsePosition(0); SimpleDateFormat sdf = new SimpleDateFormat(hmzmdy); sdf.parse(hmzmdyStr, cal, pp); assertEquals(date, cal.getTime()); // note: java doesn't return the parsed time zone } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.clone()' */ public void testClone() { } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.SimpleDateFormat()' */ public void testSimpleDateFormat() { SimpleDateFormat sdf = new SimpleDateFormat(); java.text.SimpleDateFormat jsdf = new java.text.SimpleDateFormat(); assertEquals(jsdf.format(date), sdf.format(date)); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.SimpleDateFormat(String)' */ public void testSimpleDateFormatString() { SimpleDateFormat sdf = new SimpleDateFormat(mdy); java.text.SimpleDateFormat jsdf = new java.text.SimpleDateFormat(mdy); assertEquals(jsdf.format(date), sdf.format(date)); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.SimpleDateFormat(String, Locale)' */ public void testSimpleDateFormatStringLocale() { Locale l = Locale.JAPAN; SimpleDateFormat sdf = new SimpleDateFormat(mdy, l); java.text.SimpleDateFormat jsdf = new java.text.SimpleDateFormat(mdy, l); assertEquals(jsdf.format(date), sdf.format(date)); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.SimpleDateFormat(String, ULocale)' */ public void testSimpleDateFormatStringULocale() { ULocale l = ULocale.JAPAN; SimpleDateFormat sdf = new SimpleDateFormat(mdy, l); java.text.SimpleDateFormat jsdf = new java.text.SimpleDateFormat(mdy, l.toLocale()); assertEquals(jsdf.format(date), sdf.format(date)); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.SimpleDateFormat(String, DateFormatSymbols)' */ public void testSimpleDateFormatStringDateFormatSymbols() { Locale l = Locale.US; DateFormatSymbols dfs = new DateFormatSymbols(l); java.text.DateFormatSymbols jdfs = new java.text.DateFormatSymbols(l); SimpleDateFormat sdf = new SimpleDateFormat(mdy, dfs); java.text.SimpleDateFormat jsdf = new java.text.SimpleDateFormat(mdy, jdfs); assertEquals(jsdf.format(date), sdf.format(date)); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.set2DigitYearStart(Date)' */ public void testSet2DigitYearStart() { SimpleDateFormat sdf = new SimpleDateFormat(md2); sdf.set2DigitYearStart(date); try { Date d = sdf.parse("Jan 15 04"); assertNotEqual(-1, d.toString().indexOf("2104")); } catch (ParseException pe) { fail(pe.getMessage()); } } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.get2DigitYearStart()' */ public void testGet2DigitYearStart() { SimpleDateFormat sdf = new SimpleDateFormat(md2); sdf.set2DigitYearStart(date); assertEquals(date, sdf.get2DigitYearStart()); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.toPattern()' */ public void testToPattern() { SimpleDateFormat sdf = new SimpleDateFormat(mdy); assertEquals(mdy, sdf.toPattern()); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.toLocalizedPattern()' */ public void testToLocalizedPattern() { Locale l = Locale.getDefault(); Locale.setDefault(Locale.US); SimpleDateFormat sdf = new SimpleDateFormat(mdy); assertEquals(mdy, sdf.toLocalizedPattern()); Locale.setDefault(l); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.applyPattern(String)' */ public void testApplyPattern() { SimpleDateFormat sdf = new SimpleDateFormat(); sdf.setTimeZone(tzc); sdf.applyPattern(hmzmdy); assertEquals(hmzmdyStr, sdf.format(date)); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.applyLocalizedPattern(String)' */ public void testApplyLocalizedPattern() { SimpleDateFormat sdf = new SimpleDateFormat(); sdf.setTimeZone(tzc); sdf.applyLocalizedPattern(hmzmdy); assertEquals(hmzmdyStr, sdf.format(date)); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.getDateFormatSymbols()' */ public void testGetDateFormatSymbols() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.US); SimpleDateFormat sdf = new SimpleDateFormat(mdy, dfs); assertEquals(dfs, sdf.getDateFormatSymbols()); } /* * Test method for 'com.ibm.icu.text.SimpleDateFormat.setDateFormatSymbols(DateFormatSymbols)' */ public void testSetDateFormatSymbols() { DateFormatSymbols dfs = new DateFormatSymbols(Locale.JAPAN); SimpleDateFormat sdf = new SimpleDateFormat(hmzmdy); sdf.setDateFormatSymbols(dfs); // assumes Japanese symbols do not have gregorian month names assertEquals(-1, sdf.format(date).indexOf("Jan")); } } TimeZoneTest.java000066400000000000000000000161421172643025600346210ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.util.Date; import java.util.Locale; import com.ibm.icu.util.Calendar; import com.ibm.icu.util.TimeZone; import com.ibm.icu.util.ULocale; public class TimeZoneTest extends ICUTestCase { /* * Test method for 'com.ibm.icu.util.TimeZone.hashCode()' */ public void testHashCode() { TimeZone tz1 = TimeZone.getTimeZone("PST"); TimeZone tz2 = TimeZone.getTimeZone("PST"); TimeZone tzn = TimeZone.getTimeZone("CST"); testEHCS(tz1, tz2, tzn); } /* * Test method for 'com.ibm.icu.util.TimeZone.TimeZone(TimeZone)' */ public void testTimeZone() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.util.TimeZone.getOffset(int, int, int, int, int, int)' */ public void testGetOffset() { TimeZone tz = TimeZone.getTimeZone("PST"); int offset = tz.getOffset(1, 2004, 0, 01, 1, 0); assertEquals(-28800000, offset); } /* * Test method for 'com.ibm.icu.util.TimeZone.setRawOffset(int)' */ public void testSetRawOffset() { TimeZone tz = TimeZone.getTimeZone("PST"); int value = tz.getRawOffset(); int value1 = value + 100000; tz.setRawOffset(value1); int result = tz.getRawOffset(); assertNotEqual(value, result); assertEquals(value1, result); } /* * Test method for 'com.ibm.icu.util.TimeZone.getRawOffset()' */ public void testGetRawOffset() { TimeZone tz = TimeZone.getTimeZone("PST"); int offset = tz.getRawOffset(); assertEquals(-28800000, offset); } /* * Test method for 'com.ibm.icu.util.TimeZone.getID()' */ public void testGetID() { TimeZone tz = TimeZone.getTimeZone("PST"); assertEquals("PST", tz.getID()); } /* * Test method for 'com.ibm.icu.util.TimeZone.setID(String)' */ public void testSetID() { TimeZone tz = TimeZone.getTimeZone("PST"); String value1 = tz.getID(); String value2 = value1 + "!"; tz.setID(value2); String result = tz.getID(); assertNotEqual(value1, result); assertEquals(value2, result); } /* * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName()' */ public void testGetDisplayName() { TimeZone tz = TimeZone.getTimeZone("PST"); assertEquals("Pacific Standard Time", tz.getDisplayName()); } /* * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(Locale)' */ public void testGetDisplayNameLocale() { TimeZone tz = TimeZone.getTimeZone("PST"); assertEquals("Pacific Standard Time", tz.getDisplayName(Locale.US)); } /* * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(ULocale)' */ public void testGetDisplayNameULocale() { TimeZone tz = TimeZone.getTimeZone("PST"); assertEquals("Pacific Standard Time", tz.getDisplayName(ULocale.US)); } /* * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int)' */ public void testGetDisplayNameBooleanInt() { TimeZone tz = TimeZone.getTimeZone("PST"); assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT)); assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG)); } /* * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int, Locale)' */ public void testGetDisplayNameBooleanIntLocale() { TimeZone tz = TimeZone.getTimeZone("PST"); assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT, Locale.US)); assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG, Locale.US)); } /* * Test method for 'com.ibm.icu.util.TimeZone.getDisplayName(boolean, int, ULocale)' */ public void testGetDisplayNameBooleanIntULocale() { TimeZone tz = TimeZone.getTimeZone("PST"); assertEquals("PDT", tz.getDisplayName(true, TimeZone.SHORT, ULocale.US)); assertEquals("Pacific Daylight Time", tz.getDisplayName(true, TimeZone.LONG, ULocale.US)); } /* * Test method for 'com.ibm.icu.util.TimeZone.getDSTSavings()' */ public void testGetDSTSavings() { TimeZone tz = TimeZone.getTimeZone("PST"); assertEquals(3600000, tz.getDSTSavings()); } /* * Test method for 'com.ibm.icu.util.TimeZone.useDaylightTime()' */ public void testUseDaylightTime() { TimeZone tz = TimeZone.getTimeZone("PST"); assertTrue(tz.useDaylightTime()); } /* * Test method for 'com.ibm.icu.util.TimeZone.inDaylightTime(Date)' */ public void testInDaylightTime() { TimeZone tz = TimeZone.getTimeZone("PST"); Calendar cal = Calendar.getInstance(); cal.set(2005, 0, 17); Date date = cal.getTime(); assertFalse(tz.inDaylightTime(date)); cal.set(2005, 6, 17); date = cal.getTime(); assertTrue(tz.inDaylightTime(date)); } /* * Test method for 'com.ibm.icu.util.TimeZone.getTimeZone(String)' */ public void testGetTimeZone() { // implicitly tested everywhere } /* * Test method for 'com.ibm.icu.util.TimeZone.getAvailableIDs(int)' */ public void testGetAvailableIDsInt() { String[] ids = TimeZone.getAvailableIDs(-28800000); assertNotNull(ids); } /* * Test method for 'com.ibm.icu.util.TimeZone.getAvailableIDs()' */ public void testGetAvailableIDs() { String[] ids = TimeZone.getAvailableIDs(); assertNotNull(ids); } /* * Test method for 'com.ibm.icu.util.TimeZone.getDefault()' */ public void testGetDefault() { TimeZone tz = TimeZone.getDefault(); assertNotNull(tz); } /* * Test method for 'com.ibm.icu.util.TimeZone.setDefault(TimeZone)' */ public void testSetDefault() { TimeZone tz1 = TimeZone.getDefault(); String newCode = "PDT".equals(tz1.getID()) ? "CST" : "PDT"; TimeZone tz2 = TimeZone.getTimeZone(newCode); TimeZone.setDefault(tz2); TimeZone result = TimeZone.getDefault(); assertNotEqual(tz1, result); assertEquals(tz2, result); } /* * Test method for 'com.ibm.icu.util.TimeZone.hasSameRules(TimeZone)' */ public void testHasSameRules() { TimeZone tz1 = TimeZone.getTimeZone("PST"); TimeZone tz2 = TimeZone.getTimeZone("America/Los_Angeles"); assertTrue(tz1.hasSameRules(tz2)); } /* * Test method for 'com.ibm.icu.util.TimeZone.clone()' */ public void testClone() { // tested by testHashCode } /* * Test method for 'com.ibm.icu.util.TimeZone.equals(Object)' */ public void testEqualsObject() { // tested by testHashCode } } ULocaleTest.java000066400000000000000000000705041172643025600344150ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base.tests/src/com/ibm/icu/tests/* ******************************************************************************* * Copyright (C) 2006-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.tests; import java.util.Iterator; import java.util.Locale; import com.ibm.icu.util.ULocale; import com.ibm.icu.util.ULocale.Category; public class ULocaleTest extends ICUTestCase { private String sampleName; private String longULocaleName; private String longULocaleBasename; private String nonNormalizedName; private ULocale longULocale; private Locale sampleLocale; /** * @Override */ protected void setUp() throws Exception { super.setUp(); sampleName = "ll_CC_VVVV"; longULocaleName = "ll_Ssss_CC_VVVV@collation=phonebook;key=value"; longULocaleBasename = longULocaleName.substring(0, longULocaleName.indexOf('@')); nonNormalizedName = "LL_ssss_cc_VVVV@ Key = value ; Collation = phonebook ; "; longULocale = new ULocale(longULocaleName); sampleLocale = new ULocale(sampleName).toLocale(); } /* * Test method for 'com.ibm.icu.x.util.ULocale.hashCode()' */ public void testHashCode() { ULocale obj = ULocale.GERMANY; ULocale eq = new ULocale("de_DE"); ULocale neq = new ULocale("de_DE_FRENCH"); ICUTestCase.testEHCS(obj, eq, neq); } /* * Test method for 'com.ibm.icu.x.util.ULocale.forLocale(Locale)' */ public void testForLocale() { assertEquals(ULocale.GERMANY, ULocale.forLocale(Locale.GERMANY)); } /* * Test method for 'com.ibm.icu.x.util.ULocale.ULocale(String)' */ public void testULocaleString() { assertEquals(ULocale.GERMAN, new ULocale("de")); } /* * Test method for 'com.ibm.icu.x.util.ULocale.ULocale(String, String)' */ public void testULocaleStringString() { assertEquals(ULocale.GERMANY, new ULocale("de", "DE")); } /* * Test method for 'com.ibm.icu.x.util.ULocale.ULocale(String, String, String)' */ public void testULocaleStringStringString() { assertEquals(sampleLocale, new ULocale("ll", "cc", "VVVV").toLocale()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.createCanonical(String)' */ public void testCreateCanonical() { ULocale result = ULocale.createCanonical("de__PHONEBOOK"); assertEquals(new ULocale("de@collation=phonebook"), result); } /* * Test method for 'com.ibm.icu.x.util.ULocale.toLocale()' */ public void testToLocale() { assertEquals(sampleLocale, new ULocale("ll", "cc", "VVVV").toLocale()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDefault()' */ public void testGetDefault() { assertEquals(Locale.getDefault(), ULocale.getDefault().toLocale()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.setDefault(ULocale)' */ public void testSetDefault() { Locale oldLocale = Locale.getDefault(); ULocale oldULocale = ULocale.getDefault(); try { ULocale.setDefault(longULocale); ICUTestCase.assertNotEqual(Locale.getDefault(), oldLocale); ICUTestCase.assertNotEqual(ULocale.getDefault(), oldULocale); assertEquals(longULocale, ULocale.getDefault()); assertEquals(sampleLocale, Locale.getDefault()); } finally { ULocale.setDefault(oldULocale); Locale.setDefault(oldLocale); // in case of some error } } /* * Test method for 'com.ibm.icu.x.util.ULocale.clone()' */ public void testClone() { // see testHashcode } /* * Test method for 'com.ibm.icu.x.util.ULocale.equals(Object)' */ public void testEqualsObject() { // see testHashcode } /* * Test method for 'com.ibm.icu.x.util.ULocale.getAvailableLocales()' */ public void testGetAvailableLocales() { ULocale[] ulocales = ULocale.getAvailableLocales(); if (ICUTestCase.testingWrapper) { Locale[] locales = Locale.getAvailableLocales(); for (int i = 0; i < ulocales.length; ++i) { assertEquals(ulocales[i].toLocale(), locales[i]); } } // else nothing to test except that the function returned. } /* * Test method for 'com.ibm.icu.x.util.ULocale.getISOCountries()' */ public void testGetISOCountries() { String[] ucountries = ULocale.getISOCountries(); assertNotNull(ucountries); if (ICUTestCase.testingWrapper) { // keep our own data for now // our data doesn't match java's so this test would fail // TODO: enable if we decide to use java's data // String[] countries = Locale.getISOCountries(); // TestBoilerplate.assertArraysEqual(ucountries, countries); } // else nothing to test except that the function returned. } /* * Test method for 'com.ibm.icu.x.util.ULocale.getISOLanguages()' */ public void testGetISOLanguages() { String[] ulanguages = ULocale.getISOLanguages(); assertNotNull(ulanguages); if (ICUTestCase.testingWrapper) { // keep our own data for now // our data doesn't match java's so this test would fail // TODO: enable if we decide to use java's data // String[] languages = Locale.getISOLanguages(); // TestBoilerplate.assertArraysEqual(ulanguages, languages); } // else nothing to test except that the function returned. } /* * Test method for 'com.ibm.icu.x.util.ULocale.getLanguage()' */ public void testGetLanguage() { assertEquals("ll", longULocale.getLanguage()); assertEquals("ll", longULocale.toLocale().getLanguage()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getLanguage(String)' */ public void testGetLanguageString() { assertEquals("ll", ULocale.getLanguage(longULocale.getName())); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getScript()' */ public void testGetScript() { assertEquals("Ssss", longULocale.getScript()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getScript(String)' */ public void testGetScriptString() { assertEquals("Ssss", ULocale.getScript(longULocale.getName())); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getCountry()' */ public void testGetCountry() { assertEquals("CC", longULocale.getCountry()); assertEquals("CC", longULocale.toLocale().getCountry()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getCountry(String)' */ public void testGetCountryString() { assertEquals("CC", ULocale.getCountry(longULocale.getName())); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getVariant()' */ public void testGetVariant() { assertEquals("VVVV", longULocale.getVariant()); assertEquals("VVVV", longULocale.toLocale().getVariant()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getVariant(String)' */ public void testGetVariantString() { assertEquals("VVVV", ULocale.getVariant(longULocale.getName())); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getFallback(String)' */ public void testGetFallbackString() { assertEquals(ULocale.GERMAN, ULocale.getFallback(ULocale.GERMANY.getName())); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getFallback()' */ public void testGetFallback() { assertEquals(ULocale.GERMAN, ULocale.GERMANY.getFallback()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getBaseName()' */ public void testGetBaseName() { assertEquals(longULocaleBasename, longULocale.getBaseName()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getBaseName(String)' */ public void testGetBaseNameString() { assertEquals(longULocaleBasename, longULocale.getBaseName()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getName()' */ public void testGetName() { assertEquals(longULocaleName, longULocale.getName()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getName(String)' */ public void testGetNameString() { assertEquals(longULocaleName, ULocale.getName(nonNormalizedName)); } /* * Test method for 'com.ibm.icu.x.util.ULocale.toString()' */ public void testToString() { assertEquals(longULocaleName, longULocale.toString()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getKeywords()' */ public void testGetKeywords() { Iterator iter = longULocale.getKeywords(); assertEquals(iter.next(), "collation"); assertEquals(iter.next(), "key"); assertFalse(iter.hasNext()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getKeywords(String)' */ public void testGetKeywordsString() { Iterator iter = ULocale.getKeywords(nonNormalizedName); assertEquals(iter.next(), "collation"); assertEquals(iter.next(), "key"); assertFalse(iter.hasNext()); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getKeywordValue(String)' */ public void testGetKeywordValueString() { assertEquals("value", longULocale.getKeywordValue("key")); assertEquals("phonebook", longULocale.getKeywordValue("collation")); assertNull(longULocale.getKeywordValue("zzyzx")); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getKeywordValue(String, String)' */ public void testGetKeywordValueStringString() { assertEquals("value", ULocale.getKeywordValue(longULocaleName, "key")); assertEquals("phonebook", ULocale.getKeywordValue(longULocaleName, "collation")); assertNull(ULocale.getKeywordValue(longULocaleName, "zzyzx")); } /* * Test method for 'com.ibm.icu.x.util.ULocale.canonicalize(String)' */ public void testCanonicalize() { assertEquals("de@collation=phonebook", ULocale.canonicalize("de__PHONEBOOK")); } /* * Test method for 'com.ibm.icu.x.util.ULocale.setKeywordValue(String, String)' */ public void testSetKeywordValueStringString() { ULocale munged = longULocale.setKeywordValue("key", "C#"); assertEquals("C#", munged.getKeywordValue("key")); munged = munged.setKeywordValue("zzyzx", "grue"); assertEquals("grue", munged.getKeywordValue("zzyzx")); } /* * Test method for 'com.ibm.icu.x.util.ULocale.setKeywordValue(String, String, String)' */ public void testSetKeywordValueStringStringString() { String munged = ULocale.setKeywordValue(longULocaleName, "key", "C#"); assertEquals("C#", ULocale.getKeywordValue(munged, "key")); munged = ULocale.setKeywordValue(munged, "zzyzx", "grue"); assertEquals("grue", ULocale.getKeywordValue(munged, "zzyzx")); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getISO3Language()' */ public void testGetISO3Language() { String il = ULocale.GERMANY.getISO3Language(); String jl = Locale.GERMANY.getISO3Language(); assertEquals(il, jl); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getISO3Language(String)' */ public void testGetISO3LanguageString() { String il = ULocale.getISO3Language(ULocale.GERMANY.getName()); String jl = Locale.GERMANY.getISO3Language(); assertEquals(il, jl); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getISO3Country()' */ public void testGetISO3Country() { String ic = ULocale.GERMANY.getISO3Country(); String jc = Locale.GERMANY.getISO3Country(); assertEquals(ic, jc); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getISO3Country(String)' */ public void testGetISO3CountryString() { String ic = ULocale.getISO3Country(ULocale.GERMANY.getName()); String jc = Locale.GERMANY.getISO3Country(); assertEquals(ic, jc); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayLanguage()' */ public void testGetDisplayLanguage() { String idl = ULocale.GERMANY.getDisplayLanguage(); String jdl = Locale.GERMANY.getDisplayLanguage(); assertEquals(idl, jdl); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayLanguage(ULocale)' */ public void testGetDisplayLanguageULocale() { String idl = ULocale.GERMANY.getDisplayLanguage(ULocale.GERMANY); String jdl = Locale.GERMANY.getDisplayLanguage(Locale.GERMANY); assertEquals(idl, jdl); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayLanguage(String, String)' */ public void testGetDisplayLanguageStringString() { String idl = ULocale.getDisplayLanguage(ULocale.GERMANY.getName(), "de_DE"); String jdl = Locale.GERMANY.getDisplayLanguage(Locale.GERMANY); assertEquals(idl, jdl); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayLanguage(String, ULocale)' */ public void testGetDisplayLanguageStringULocale() { String idl = ULocale.getDisplayLanguage(ULocale.GERMANY.getName(), ULocale.GERMANY); String jdl = Locale.GERMANY.getDisplayLanguage(Locale.GERMANY); assertEquals(idl, jdl); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayScript()' */ public void testGetDisplayScript() { String is = ULocale.TRADITIONAL_CHINESE.getDisplayScript(); if (ICUTestCase.testingWrapper) { assertEquals("Hant", is); } else { assertEquals("Traditional Chinese", is); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayScript(ULocale)' */ public void testGetDisplayScriptULocale() { String is = ULocale.TRADITIONAL_CHINESE.getDisplayScript(ULocale.GERMANY); if (ICUTestCase.testingWrapper) { assertEquals("Hant", is); } else { // TODO: look up expected value assertEquals("Hant", is); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayScript(String, String)' */ public void testGetDisplayScriptStringString() { String is = ULocale.getDisplayScript("zh_Hant", "de_DE"); if (ICUTestCase.testingWrapper) { assertEquals("Hant", is); } else { // TODO: look up expected value assertEquals("Hant", is); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayScript(String, ULocale)' */ public void testGetDisplayScriptStringULocale() { String is = ULocale.getDisplayScript("zh_Hant", ULocale.GERMANY); if (ICUTestCase.testingWrapper) { assertEquals("Hant", is); } else { // TODO: look up expected value assertEquals("Hant", is); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayCountry()' */ public void testGetDisplayCountry() { String idc = ULocale.GERMANY.getDisplayCountry(); String jdc = Locale.GERMANY.getDisplayCountry(); assertEquals(idc, jdc); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayCountry(ULocale)' */ public void testGetDisplayCountryULocale() { String idc = ULocale.GERMANY.getDisplayCountry(ULocale.GERMANY); String jdc = Locale.GERMANY.getDisplayCountry(Locale.GERMANY); assertEquals(idc, jdc); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayCountry(String, String)' */ public void testGetDisplayCountryStringString() { String idc = ULocale.getDisplayCountry("de_DE", "de_DE"); String jdc = Locale.GERMANY.getDisplayCountry(Locale.GERMANY); assertEquals(idc, jdc); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayCountry(String, ULocale)' */ public void testGetDisplayCountryStringULocale() { String idc = ULocale.getDisplayCountry("de_DE", ULocale.GERMANY); String jdc = Locale.GERMANY.getDisplayCountry(Locale.GERMANY); assertEquals(idc, jdc); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayVariant()' */ public void testGetDisplayVariant() { String idv = new ULocale("de_DE_PHONEBOOK").getDisplayVariant(); String jdv = new Locale("de", "DE", "PHONEBOOK").getDisplayVariant(); assertEquals(jdv, idv); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayVariant(ULocale)' */ public void testGetDisplayVariantULocale() { String idv = new ULocale("de_DE_PHONEBOOK").getDisplayVariant(ULocale.GERMANY); String jdv = new Locale("de", "DE", "PHONEBOOK").getDisplayVariant(Locale.GERMANY); assertEquals(jdv, idv); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayVariant(String, String)' */ public void testGetDisplayVariantStringString() { String idv = ULocale.getDisplayVariant("de_DE_PHONEBOOK", "de_DE"); String jdv = new Locale("de", "DE", "PHONEBOOK").getDisplayVariant(Locale.GERMANY); assertEquals(jdv, idv); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayVariant(String, ULocale)' */ public void testGetDisplayVariantStringULocale() { String idv = ULocale.getDisplayVariant("de_DE_PHONEBOOK", ULocale.GERMANY); String jdv = new Locale("de", "DE", "PHONEBOOK").getDisplayVariant(Locale.GERMANY); assertEquals(jdv, idv); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeyword(String)' */ public void testGetDisplayKeywordString() { String idk = ULocale.getDisplayKeyword("collation"); assertEquals("collation", idk); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeyword(String, String)' */ public void testGetDisplayKeywordStringString() { String idk = ULocale.getDisplayKeyword("collation", "de_DE"); if (ICUTestCase.testingWrapper) { assertEquals("collation", idk); } else { // TODO: find real value assertEquals("collation", idk); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeyword(String, ULocale)' */ public void testGetDisplayKeywordStringULocale() { String idk = ULocale.getDisplayKeyword("collation", ULocale.GERMANY); if (ICUTestCase.testingWrapper) { assertEquals("collation", idk); } else { // TODO: find real value assertEquals("collation", idk); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeywordValue(String)' */ public void testGetDisplayKeywordValueString() { ULocale ul = new ULocale("de_DE@collation=phonebook"); String idk = ul.getDisplayKeywordValue("collation"); if (ICUTestCase.testingWrapper) { assertEquals("phonebook", idk); } else { // TODO: find real value assertEquals("phonebook", idk); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeywordValue(String, ULocale)' */ public void testGetDisplayKeywordValueStringULocale() { ULocale ul = new ULocale("de_DE@collation=phonebook"); String idk = ul.getDisplayKeywordValue("collation", ULocale.GERMANY); if (ICUTestCase.testingWrapper) { assertEquals("phonebook", idk); } else { // TODO: find real value assertEquals("phonebook", idk); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeywordValue(String, String, String)' */ public void testGetDisplayKeywordValueStringStringString() { String idk = ULocale.getDisplayKeywordValue("de_DE@collation=phonebook", "collation", "de_DE"); if (ICUTestCase.testingWrapper) { assertEquals("phonebook", idk); } else { // TODO: find real value assertEquals("phonebook", idk); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayKeywordValue(String, String, ULocale)' */ public void testGetDisplayKeywordValueStringStringULocale() { String idk = ULocale.getDisplayKeywordValue("de_DE@collation=phonebook", "collation", ULocale.GERMANY); if (ICUTestCase.testingWrapper) { assertEquals("phonebook", idk); } else { // TODO: find real value assertEquals("phonebook", idk); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayName()' */ public void testGetDisplayName() { String idn = ULocale.GERMANY.getDisplayName(); String jdn = Locale.GERMANY.getDisplayName(); assertEquals(idn, jdn); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayName(ULocale)' */ public void testGetDisplayNameULocale() { String idn = ULocale.GERMANY.getDisplayName(ULocale.GERMANY); String jdn = Locale.GERMANY.getDisplayName(Locale.GERMANY); assertEquals(idn, jdn); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayName(String, String)' */ public void testGetDisplayNameStringString() { String idn = ULocale.getDisplayName("de_DE", "de_DE"); String jdn = Locale.GERMANY.getDisplayName(Locale.GERMANY); assertEquals(idn, jdn); } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDisplayName(String, ULocale)' */ public void testGetDisplayNameStringULocale() { String idn = ULocale.getDisplayName("de_DE", ULocale.GERMANY); String jdn = Locale.GERMANY.getDisplayName(Locale.GERMANY); assertEquals(idn, jdn); } /* * Test method for 'com.ibm.icu.x.util.ULocale.acceptLanguage(String, ULocale[], boolean[])' */ public void testAcceptLanguageStringULocaleArrayBooleanArray() { boolean[] fallback = new boolean[1]; ULocale[] locales = { new ULocale("en_CA"), new ULocale("es_US"), }; ULocale result = ULocale.acceptLanguage("en-US, en-GB, en-CA, es-US", locales, fallback); assertEquals(new ULocale("en_CA"), result); assertFalse(fallback[0]); result = ULocale.acceptLanguage("en-US, en-GB, es-US-NEWMEXICO", locales, fallback); assertEquals(new ULocale("es_US"), result); assertTrue(fallback[0]); } /* * Test method for 'com.ibm.icu.x.util.ULocale.acceptLanguage(ULocale[], ULocale[], boolean[])' */ public void testAcceptLanguageULocaleArrayULocaleArrayBooleanArray() { boolean[] fallback = new boolean[1]; ULocale[] locales = { new ULocale("en_CA"), new ULocale("es_US"), }; ULocale[] accept_locales = { new ULocale("en_US"), new ULocale("en_GB"), new ULocale("en_CA"), new ULocale("es_US"), }; ULocale[] accept_locales2 = { new ULocale("en_US"), new ULocale("en_GB"), new ULocale("es_US_NEWMEXICO"), }; ULocale result = ULocale.acceptLanguage(accept_locales, locales, fallback); assertEquals(new ULocale("en_CA"), result); assertFalse(fallback[0]); result = ULocale.acceptLanguage(accept_locales2, locales, fallback); assertEquals(new ULocale("es_US"), result); assertTrue(fallback[0]); } /* * Test method for 'com.ibm.icu.x.util.ULocale.acceptLanguage(String, boolean[])' */ public void testAcceptLanguageStringBooleanArray() { boolean[] fallback = new boolean[1]; ULocale result = ULocale.acceptLanguage("en-CA, en-GB, es-US", fallback); assertEquals(new ULocale("en_CA"), result); assertFalse(fallback[0]); result = ULocale.acceptLanguage("es-US-NEWMEXICO", fallback); assertNotNull(result); // actual result depends on jdk assertTrue(fallback[0]); } /* * Test method for 'com.ibm.icu.x.util.ULocale.acceptLanguage(ULocale[], boolean[])' */ public void testAcceptLanguageULocaleArrayBooleanArray() { boolean[] fallback = new boolean[1]; ULocale[] accept_locales = { new ULocale("en_CA"), new ULocale("en_GB"), new ULocale("es_US"), }; ULocale[] accept_locales2 = { new ULocale("es_US_NEWMEXICO"), }; ULocale result = ULocale.acceptLanguage(accept_locales, fallback); assertEquals(new ULocale("en_CA"), result); assertFalse(fallback[0]); result = ULocale.acceptLanguage(accept_locales2, fallback); assertNotNull(result); // actual result depends on jdk assertTrue(fallback[0]); } /* * Test method for 'com.ibm.icu.x.util.ULocale.toLanguageTag()' */ public void testToLanguageTag() { ULocale[] test_ulocales = { new ULocale("en_US"), new ULocale(""), new ULocale("de_DE@collation=phonebook"), new ULocale("en_Latn_US_POSIX"), new ULocale("th_TH@numbers=thai;calendar=buddhist"), new ULocale("und_CN@timezone=PRC"), new ULocale("iw_IL"), }; String[] expected = { "en-US", "und", "de-DE-u-co-phonebk", "en-Latn-US-u-va-posix", "th-TH-u-ca-buddhist-nu-thai", "und-CN-u-tz-cnsha", "he-IL", }; for (int i = 0; i < test_ulocales.length; i++) { String result = test_ulocales[i].toLanguageTag(); assertEquals(expected[i], result); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.forLanguageTag()' */ public void testForLanguageTag() { String[] test_tags = { "en-us", "Und-Us", "ja-jp-u-ca-japanese", "fr-FR-u-tz-frpar-ca-gregory", }; ULocale[] expected = { new ULocale("en_US"), new ULocale("und_US"), new ULocale("ja_JP@calendar=japanese"), new ULocale("fr_FR@calendar=gregorian;timezone=Europe/Paris"), }; for (int i = 0; i < test_tags.length; i++) { ULocale result = ULocale.forLanguageTag(test_tags[i]); assertEquals(expected[i], result); } } /* * Test method for 'com.ibm.icu.x.util.ULocale.getDefault(Category)' */ public void testGetDefaultCategory() { ULocale dispLoc = ULocale.getDefault(Category.DISPLAY); assertNotNull(dispLoc); ULocale formLoc = ULocale.getDefault(Category.FORMAT); assertNotNull(formLoc); } /* * Test method for 'com.ibm.icu.x.util.ULocale.setDefault(Category, ULocale)' */ public void testSetDefaultCategoryULocale() { ULocale orgDefault = ULocale.getDefault(); ULocale orgDisplay = ULocale.getDefault(Category.DISPLAY); ULocale orgFormat = ULocale.getDefault(Category.FORMAT); ULocale jaUS = new ULocale("ja_US"); ULocale.setDefault(jaUS); // setDefault(ULocale) updates category defaults assertEquals(ULocale.getDefault(), jaUS); assertEquals(ULocale.getDefault(Category.DISPLAY), jaUS); assertEquals(ULocale.getDefault(Category.FORMAT), jaUS); ULocale frDE = new ULocale("fr_DE"); ULocale.setDefault(Category.DISPLAY, frDE); // setDefault(Category, ULocale) only updates the category default assertEquals(ULocale.getDefault(), jaUS); assertEquals(ULocale.getDefault(Category.DISPLAY), frDE); assertEquals(ULocale.getDefault(Category.FORMAT), jaUS); // restore the original ULocale.setDefault(orgDefault); ULocale.setDefault(Category.DISPLAY, orgDisplay); ULocale.setDefault(Category.FORMAT, orgFormat); assertEquals(ULocale.getDefault(), orgDefault); assertEquals(ULocale.getDefault(Category.DISPLAY), orgDisplay); assertEquals(ULocale.getDefault(Category.FORMAT), orgFormat); } } icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/000077500000000000000000000000001172643025600242405ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/.classpath000066400000000000000000000005661172643025600262320ustar00rootroot00000000000000 icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/.project000066400000000000000000000012451172643025600257110ustar00rootroot00000000000000 com.ibm.icu.base org.eclipse.pde.ManifestBuilder org.eclipse.pde.SchemaBuilder org.eclipse.jdt.core.javabuilder org.eclipse.jdt.core.javanature org.eclipse.pde.PluginNature icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/.settings/000077500000000000000000000000001172643025600261565ustar00rootroot00000000000000org.eclipse.jdt.core.prefs000066400000000000000000000122301172643025600330570ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/.settings#Mon Aug 30 14:05:56 EDT 2010 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore org.eclipse.jdt.core.compiler.problem.autoboxing=ignore org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning org.eclipse.jdt.core.compiler.problem.deadCode=warning org.eclipse.jdt.core.compiler.problem.deprecation=ignore org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.nullReference=warning org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled org.eclipse.jdt.core.compiler.problem.unusedImport=warning org.eclipse.jdt.core.compiler.problem.unusedLabel=warning org.eclipse.jdt.core.compiler.problem.unusedLocal=warning org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.5 icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/.settings/org.eclipse.jdt.ui.prefs000066400000000000000000000001431172643025600326230ustar00rootroot00000000000000#Thu Dec 14 11:50:17 EST 2006 eclipse.preferences.version=1 internal.default.compliance=default icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/META-INF/000077500000000000000000000000001172643025600254005ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/META-INF/MANIFEST.MF000066400000000000000000000011131172643025600270260ustar00rootroot00000000000000Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: com.ibm.icu.base; singleton:=true Bundle-Version: @BUILD_VERSION@ Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-Copyright: @COPYRIGHT@ Export-Package: com.ibm.icu.text;base=true;version="@IMPL_VERSION@", com.ibm.icu.util;base=true;version="@IMPL_VERSION@", com.ibm.icu.math;base=true;version="@IMPL_VERSION@", com.ibm.icu.impl;x-internal:=true, com.ibm.icu.impl.locale;x-internal:=true Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.5 icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/build.properties000066400000000000000000000014011172643025600274510ustar00rootroot00000000000000############################################################################### # Copyright (c) 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### source.. = src/ output.. = bin/ src.includes = about.html,\ about_files/ bin.includes = .,\ about.html,\ about_files/,\ plugin.properties,\ META-INF/ icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/plugin.properties000066400000000000000000000012161172643025600276540ustar00rootroot00000000000000############################################################################### # Copyright (c) 2011 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # IBM Corporation - initial API and implementation ############################################################################### pluginName = International Components for Unicode for Java (ICU4J) Replacement plug-in providerName = IBM Corporationicu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/000077500000000000000000000000001172643025600250275ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/000077500000000000000000000000001172643025600256055ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/000077500000000000000000000000001172643025600263545ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/000077500000000000000000000000001172643025600271345ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/000077500000000000000000000000001172643025600300755ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/ICUCache.java000066400000000000000000000013001172643025600322760ustar00rootroot00000000000000/* *************************************************************************** * Copyright (c) 2007-2011 International Business Machines Corporation and * * others. All rights reserved. * *************************************************************************** */ package com.ibm.icu.impl; public interface ICUCache { // Type of reference holding the Map instance public static final int SOFT = 0; public static final int WEAK = 1; // NULL object, which may be used for a cache key public static final Object NULL = new Object(); public void clear(); public void put(K key, V value); public V get(Object key); } LocaleIDParser.java000066400000000000000000000557671172643025600334760ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/* ****************************************************************************** * Copyright (C) 2003-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ****************************************************************************** */ package com.ibm.icu.impl; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.Map; import java.util.TreeMap; import com.ibm.icu.impl.locale.AsciiUtil; /** * Utility class to parse and normalize locale ids (including POSIX style) */ public final class LocaleIDParser { private char[] id; private int index; private char[] buffer; private int blen; // um, don't handle POSIX ids unless we request it. why not? well... because. private boolean canonicalize; private boolean hadCountry; // used when canonicalizing Map keywords; String baseName; /** * Parsing constants. */ private static final char KEYWORD_SEPARATOR = '@'; private static final char HYPHEN = '-'; private static final char KEYWORD_ASSIGN = '='; private static final char COMMA = ','; private static final char ITEM_SEPARATOR = ';'; private static final char DOT = '.'; private static final char UNDERSCORE = '_'; public LocaleIDParser(String localeID) { this(localeID, false); } public LocaleIDParser(String localeID, boolean canonicalize) { id = localeID.toCharArray(); index = 0; buffer = new char[id.length + 5]; blen = 0; this.canonicalize = canonicalize; } private void reset() { index = blen = 0; } // utilities for working on text in the buffer /** * Append c to the buffer. */ private void append(char c) { try { buffer[blen] = c; } catch (IndexOutOfBoundsException e) { if (buffer.length > 512) { // something is seriously wrong, let this go throw e; } char[] nbuffer = new char[buffer.length * 2]; System.arraycopy(buffer, 0, nbuffer, 0, buffer.length); nbuffer[blen] = c; buffer = nbuffer; } ++blen; } private void addSeparator() { append(UNDERSCORE); } /** * Returns the text in the buffer from start to blen as a String. */ private String getString(int start) { if (start == blen) { return ""; } return new String(buffer, start, blen-start); } /** * Set the length of the buffer to pos, then append the string. */ private void set(int pos, String s) { this.blen = pos; // no safety append(s); } /** * Append the string to the buffer. */ private void append(String s) { for (int i = 0; i < s.length(); ++i) { append(s.charAt(i)); } } // utilities for parsing text out of the id /** * Character to indicate no more text is available in the id. */ private static final char DONE = '\uffff'; /** * Returns the character at index in the id, and advance index. The returned character * is DONE if index was at the limit of the buffer. The index is advanced regardless * so that decrementing the index will always 'unget' the last character returned. */ private char next() { if (index == id.length) { index++; return DONE; } return id[index++]; } /** * Advance index until the next terminator or id separator, and leave it there. */ private void skipUntilTerminatorOrIDSeparator() { while (!isTerminatorOrIDSeparator(next())) { } --index; } /** * Returns true if the character at index in the id is a terminator. */ private boolean atTerminator() { return index >= id.length || isTerminator(id[index]); } /* * Returns true if the character is an id separator (underscore or hyphen). */ /* private boolean isIDSeparator(char c) { return c == UNDERSCORE || c == HYPHEN; }*/ /** * Returns true if the character is a terminator (keyword separator, dot, or DONE). * Dot is a terminator because of the POSIX form, where dot precedes the codepage. */ private boolean isTerminator(char c) { // always terminate at DOT, even if not handling POSIX. It's an error... return c == KEYWORD_SEPARATOR || c == DONE || c == DOT; } /** * Returns true if the character is a terminator or id separator. */ private boolean isTerminatorOrIDSeparator(char c) { return c == KEYWORD_SEPARATOR || c == UNDERSCORE || c == HYPHEN || c == DONE || c == DOT; } /** * Returns true if the start of the buffer has an experimental or private language * prefix, the pattern '[ixIX][-_].' shows the syntax checked. */ private boolean haveExperimentalLanguagePrefix() { if (id.length > 2) { char c = id[1]; if (c == HYPHEN || c == UNDERSCORE) { c = id[0]; return c == 'x' || c == 'X' || c == 'i' || c == 'I'; } } return false; } /** * Returns true if a value separator occurs at or after index. */ private boolean haveKeywordAssign() { // assume it is safe to start from index for (int i = index; i < id.length; ++i) { if (id[i] == KEYWORD_ASSIGN) { return true; } } return false; } /** * Advance index past language, and accumulate normalized language code in buffer. * Index must be at 0 when this is called. Index is left at a terminator or id * separator. Returns the start of the language code in the buffer. */ private int parseLanguage() { if (haveExperimentalLanguagePrefix()) { append(Character.toLowerCase(id[0])); append(HYPHEN); index = 2; } char c; while(!isTerminatorOrIDSeparator(c = next())) { append(Character.toLowerCase(c)); } --index; // unget if (blen == 3) { String lang = LocaleIDs.threeToTwoLetterLanguage(getString(0)); if (lang != null) { set(0, lang); } } return 0; } /** * Advance index past language. Index must be at 0 when this is called. Index * is left at a terminator or id separator. */ private void skipLanguage() { if (haveExperimentalLanguagePrefix()) { index = 2; } skipUntilTerminatorOrIDSeparator(); } /** * Advance index past script, and accumulate normalized script in buffer. * Index must be immediately after the language. * If the item at this position is not a script (is not four characters * long) leave index and buffer unchanged. Otherwise index is left at * a terminator or id separator. Returns the start of the script code * in the buffer (this may be equal to the buffer length, if there is no * script). */ private int parseScript() { if (!atTerminator()) { int oldIndex = index; // save original index ++index; int oldBlen = blen; // get before append hyphen, if we truncate everything is undone char c; while(!isTerminatorOrIDSeparator(c = next())) { if (blen == oldBlen) { // first pass addSeparator(); append(Character.toUpperCase(c)); } else { append(Character.toLowerCase(c)); } } --index; // unget /* If it's not exactly 4 characters long, then it's not a script. */ if (index - oldIndex != 5) { // +1 to account for separator index = oldIndex; blen = oldBlen; } else { oldBlen++; // index past hyphen, for clients who want to extract just the script } return oldBlen; } return blen; } /** * Advance index past script. * Index must be immediately after the language and IDSeparator. * If the item at this position is not a script (is not four characters * long) leave index. Otherwise index is left at a terminator or * id separator. */ private void skipScript() { if (!atTerminator()) { int oldIndex = index; ++index; skipUntilTerminatorOrIDSeparator(); if (index - oldIndex != 5) { // +1 to account for separator index = oldIndex; } } } /** * Advance index past country, and accumulate normalized country in buffer. * Index must be immediately after the script (if there is one, else language) * and IDSeparator. Return the start of the country code in the buffer. */ private int parseCountry() { if (!atTerminator()) { int oldIndex = index; ++index; int oldBlen = blen; char c; while (!isTerminatorOrIDSeparator(c = next())) { if (oldBlen == blen) { // first, add hyphen hadCountry = true; // we have a country, let variant parsing know addSeparator(); ++oldBlen; // increment past hyphen } append(Character.toUpperCase(c)); } --index; // unget int charsAppended = blen - oldBlen; if (charsAppended == 0) { // Do nothing. } else if (charsAppended < 2 || charsAppended > 3) { // It's not a country, so return index and blen to // their previous values. index = oldIndex; --oldBlen; blen = oldBlen; hadCountry = false; } else if (charsAppended == 3) { String region = LocaleIDs.threeToTwoLetterRegion(getString(oldBlen)); if (region != null) { set(oldBlen, region); } } return oldBlen; } return blen; } /** * Advance index past country. * Index must be immediately after the script (if there is one, else language) * and IDSeparator. */ private void skipCountry() { if (!atTerminator()) { ++index; /* * Save the index point after the separator, since the format * requires two separators if the country is not present. */ int oldIndex = index; skipUntilTerminatorOrIDSeparator(); int charsSkipped = index - oldIndex; if (charsSkipped < 2 || charsSkipped > 3) { index = oldIndex; } } } /** * Advance index past variant, and accumulate normalized variant in buffer. This ignores * the codepage information from POSIX ids. Index must be immediately after the country * or script. Index is left at the keyword separator or at the end of the text. Return * the start of the variant code in the buffer. * * In standard form, we can have the following forms: * ll__VVVV * ll_CC_VVVV * ll_Ssss_VVVV * ll_Ssss_CC_VVVV * * This also handles POSIX ids, which can have the following forms (pppp is code page id): * ll_CC.pppp --> ll_CC * ll_CC.pppp@VVVV --> ll_CC_VVVV * ll_CC@VVVV --> ll_CC_VVVV * * We identify this use of '@' in POSIX ids by looking for an '=' following * the '@'. If there is one, we consider '@' to start a keyword list, instead of * being part of a POSIX id. * * Note: since it was decided that we want an option to not handle POSIX ids, this * becomes a bit more complex. */ private int parseVariant() { int oldBlen = blen; boolean start = true; boolean needSeparator = true; boolean skipping = false; char c; while ((c = next()) != DONE) { if (c == DOT) { start = false; skipping = true; } else if (c == KEYWORD_SEPARATOR) { if (haveKeywordAssign()) { break; } skipping = false; start = false; needSeparator = true; // add another underscore if we have more text } else if (start) { start = false; } else if (!skipping) { if (needSeparator) { boolean incOldBlen = blen == oldBlen; // need to skip separators needSeparator = false; if (incOldBlen && !hadCountry) { // no country, we'll need two addSeparator(); ++oldBlen; // for sure } addSeparator(); if (incOldBlen) { // only for the first separator ++oldBlen; } } c = Character.toUpperCase(c); if (c == HYPHEN || c == COMMA) { c = UNDERSCORE; } append(c); } } --index; // unget return oldBlen; } // no need for skipvariant, to get the keywords we'll just scan directly for // the keyword separator /** * Returns the normalized language id, or the empty string. */ public String getLanguage() { reset(); return getString(parseLanguage()); } /** * Returns the normalized script id, or the empty string. */ public String getScript() { reset(); skipLanguage(); return getString(parseScript()); } /** * return the normalized country id, or the empty string. */ public String getCountry() { reset(); skipLanguage(); skipScript(); return getString(parseCountry()); } /** * Returns the normalized variant id, or the empty string. */ public String getVariant() { reset(); skipLanguage(); skipScript(); skipCountry(); return getString(parseVariant()); } /** * Returns the language, script, country, and variant as separate strings. */ public String[] getLanguageScriptCountryVariant() { reset(); return new String[] { getString(parseLanguage()), getString(parseScript()), getString(parseCountry()), getString(parseVariant()) }; } public void setBaseName(String baseName) { this.baseName = baseName; } public void parseBaseName() { if (baseName != null) { set(0, baseName); } else { reset(); parseLanguage(); parseScript(); parseCountry(); parseVariant(); // catch unwanted trailing underscore after country if there was no variant if (blen > 1 && buffer[blen-1] == UNDERSCORE) { --blen; } } } /** * Returns the normalized base form of the locale id. The base * form does not include keywords. */ public String getBaseName() { if (baseName != null) { return baseName; } parseBaseName(); return getString(0); } /** * Returns the normalized full form of the locale id. The full * form includes keywords if they are present. */ public String getName() { parseBaseName(); parseKeywords(); return getString(0); } // keyword utilities /** * If we have keywords, advance index to the start of the keywords and return true, * otherwise return false. */ private boolean setToKeywordStart() { for (int i = index; i < id.length; ++i) { if (id[i] == KEYWORD_SEPARATOR) { if (canonicalize) { for (int j = ++i; j < id.length; ++j) { // increment i past separator for return if (id[j] == KEYWORD_ASSIGN) { index = i; return true; } } } else { if (++i < id.length) { index = i; return true; } } break; } } return false; } private static boolean isDoneOrKeywordAssign(char c) { return c == DONE || c == KEYWORD_ASSIGN; } private static boolean isDoneOrItemSeparator(char c) { return c == DONE || c == ITEM_SEPARATOR; } private String getKeyword() { int start = index; while (!isDoneOrKeywordAssign(next())) { } --index; return AsciiUtil.toLowerString(new String(id, start, index-start).trim()); } private String getValue() { int start = index; while (!isDoneOrItemSeparator(next())) { } --index; return new String(id, start, index-start).trim(); // leave case alone } private Comparator getKeyComparator() { final Comparator comp = new Comparator() { public int compare(String lhs, String rhs) { return lhs.compareTo(rhs); } }; return comp; } /** * Returns a map of the keywords and values, or null if there are none. */ public Map getKeywordMap() { if (keywords == null) { TreeMap m = null; if (setToKeywordStart()) { // trim spaces and convert to lower case, both keywords and values. do { String key = getKeyword(); if (key.length() == 0) { break; } char c = next(); if (c != KEYWORD_ASSIGN) { // throw new IllegalArgumentException("key '" + key + "' missing a value."); if (c == DONE) { break; } else { continue; } } String value = getValue(); if (value.length() == 0) { // throw new IllegalArgumentException("key '" + key + "' missing a value."); continue; } if (m == null) { m = new TreeMap(getKeyComparator()); } else if (m.containsKey(key)) { // throw new IllegalArgumentException("key '" + key + "' already has a value."); continue; } m.put(key, value); } while (next() == ITEM_SEPARATOR); } keywords = m != null ? m : Collections.emptyMap(); } return keywords; } /** * Parse the keywords and return start of the string in the buffer. */ private int parseKeywords() { int oldBlen = blen; Map m = getKeywordMap(); if (!m.isEmpty()) { boolean first = true; for (Map.Entry e : m.entrySet()) { append(first ? KEYWORD_SEPARATOR : ITEM_SEPARATOR); first = false; append(e.getKey()); append(KEYWORD_ASSIGN); append(e.getValue()); } if (blen != oldBlen) { ++oldBlen; } } return oldBlen; } /** * Returns an iterator over the keywords, or null if we have an empty map. */ public Iterator getKeywords() { Map m = getKeywordMap(); return m.isEmpty() ? null : m.keySet().iterator(); } /** * Returns the value for the named keyword, or null if the keyword is not * present. */ public String getKeywordValue(String keywordName) { Map m = getKeywordMap(); return m.isEmpty() ? null : m.get(AsciiUtil.toLowerString(keywordName.trim())); } /** * Set the keyword value only if it is not already set to something else. */ public void defaultKeywordValue(String keywordName, String value) { setKeywordValue(keywordName, value, false); } /** * Set the value for the named keyword, or unset it if value is null. If * keywordName itself is null, unset all keywords. If keywordName is not null, * value must not be null. */ public void setKeywordValue(String keywordName, String value) { setKeywordValue(keywordName, value, true); } /** * Set the value for the named keyword, or unset it if value is null. If * keywordName itself is null, unset all keywords. If keywordName is not null, * value must not be null. If reset is true, ignore any previous value for * the keyword, otherwise do not change the keyword (including removal of * one or all keywords). */ private void setKeywordValue(String keywordName, String value, boolean reset) { if (keywordName == null) { if (reset) { // force new map, ignore value keywords = Collections.emptyMap(); } } else { keywordName = AsciiUtil.toLowerString(keywordName.trim()); if (keywordName.length() == 0) { throw new IllegalArgumentException("keyword must not be empty"); } if (value != null) { value = value.trim(); if (value.length() == 0) { throw new IllegalArgumentException("value must not be empty"); } } Map m = getKeywordMap(); if (m.isEmpty()) { // it is EMPTY_MAP if (value != null) { // force new map keywords = new TreeMap(getKeyComparator()); keywords.put(keywordName, value.trim()); } } else { if (reset || !m.containsKey(keywordName)) { if (value != null) { m.put(keywordName, value); } else { m.remove(keywordName); if (m.isEmpty()) { // force new map keywords = Collections.emptyMap(); } } } } } } }LocaleIDs.java000066400000000000000000000724521172643025600324720ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl; import java.util.MissingResourceException; import com.ibm.icu.util.ULocale; /** * Utilities for mapping between old and new language, country, and other * locale ID related names. */ public class LocaleIDs { /** * Returns a list of all 2-letter country codes defined in ISO 3166. * Can be used to create Locales. * @stable ICU 3.0 */ public static String[] getISOCountries() { initCountryTables(); return _countries.clone(); } /** * Returns a list of all 2-letter language codes defined in ISO 639. * Can be used to create Locales. * [NOTE: ISO 639 is not a stable standard-- some languages' codes have changed. * The list this function returns includes both the new and the old codes for the * languages whose codes have changed.] * @stable ICU 3.0 */ public static String[] getISOLanguages() { initLanguageTables(); return _languages.clone(); } /** * Returns a three-letter abbreviation for the provided country. If the provided * country is empty, returns the empty string. Otherwise, returns * an uppercase ISO 3166 3-letter country code. * @exception MissingResourceException Throws MissingResourceException if the * three-letter country abbreviation is not available for this locale. * @stable ICU 3.0 */ public static String getISO3Country(String country){ initCountryTables(); int offset = findIndex(_countries, country); if(offset>=0){ return _countries3[offset]; }else{ offset = findIndex(_obsoleteCountries, country); if(offset>=0){ return _obsoleteCountries3[offset]; } } return ""; } /** * Returns a three-letter abbreviation for the language. If language is * empty, returns the empty string. Otherwise, returns * a lowercase ISO 639-2/T language code. * The ISO 639-2 language codes can be found on-line at * ftp://dkuug.dk/i18n/iso-639-2.txt * @exception MissingResourceException Throws MissingResourceException if the * three-letter language abbreviation is not available for this locale. * @stable ICU 3.0 */ public static String getISO3Language(String language) { initLanguageTables(); int offset = findIndex(_languages, language); if(offset>=0){ return _languages3[offset]; } else { offset = findIndex(_obsoleteLanguages, language); if (offset >= 0) { return _obsoleteLanguages3[offset]; } } return ""; } public static String threeToTwoLetterLanguage(String lang) { initLanguageTables(); /* convert 3 character code to 2 character code if possible *CWB*/ int offset = findIndex(_languages3, lang); if (offset >= 0) { return _languages[offset]; } offset = findIndex(_obsoleteLanguages3, lang); if (offset >= 0) { return _obsoleteLanguages[offset]; } return null; } public static String threeToTwoLetterRegion(String region) { initCountryTables(); /* convert 3 character code to 2 character code if possible *CWB*/ int offset = findIndex(_countries3, region); if (offset >= 0) { return _countries[offset]; } offset = findIndex(_obsoleteCountries3, region); if (offset >= 0) { return _obsoleteCountries[offset]; } return null; } /** * linear search of the string array. the arrays are unfortunately ordered by the * two-letter target code, not the three-letter search code, which seems backwards. */ private static int findIndex(String[] array, String target){ for (int i = 0; i < array.length; i++) { if (target.equals(array[i])) { return i; } } return -1; } /** * Tables used in normalizing portions of the id. */ /* tables updated per http://lcweb.loc.gov/standards/iso639-2/ to include the revisions up to 2001/7/27 *CWB*/ /* The 3 character codes are the terminology codes like RFC 3066. This is compatible with prior ICU codes */ /* "in" "iw" "ji" "jw" & "sh" have been withdrawn but are still in the table but now at the end of the table because 3 character codes are duplicates. This avoids bad searches going from 3 to 2 character codes.*/ /* The range qaa-qtz is reserved for local use. */ private static String[] _languages; private static String[] _replacementLanguages; private static String[] _obsoleteLanguages; private static String[] _languages3; private static String[] _obsoleteLanguages3; // Avoid initializing languages tables unless we have to. private static void initLanguageTables() { if (_languages == null) { /* This list MUST be in sorted order, and MUST contain the two-letter codes if one exists otherwise use the three letter code */ String[] tempLanguages = { "aa", "ab", "ace", "ach", "ada", "ady", "ae", "af", "afa", "afh", "ak", "akk", "ale", "alg", "am", "an", "ang", "apa", "ar", "arc", "arn", "arp", "art", "arw", "as", "ast", "ath", "aus", "av", "awa", "ay", "az", "ba", "bad", "bai", "bal", "ban", "bas", "bat", "be", "bej", "bem", "ber", "bg", "bh", "bho", "bi", "bik", "bin", "bla", "bm", "bn", "bnt", "bo", "br", "bra", "bs", "btk", "bua", "bug", "byn", "ca", "cad", "cai", "car", "cau", "ce", "ceb", "cel", "ch", "chb", "chg", "chk", "chm", "chn", "cho", "chp", "chr", "chy", "cmc", "co", "cop", "cpe", "cpf", "cpp", "cr", "crh", "crp", "cs", "csb", "cu", "cus", "cv", "cy", "da", "dak", "dar", "day", "de", "del", "den", "dgr", "din", "doi", "dra", "dsb", "dua", "dum", "dv", "dyu", "dz", "ee", "efi", "egy", "eka", "el", "elx", "en", "enm", "eo", "es", "et", "eu", "ewo", "fa", "fan", "fat", "ff", "fi", "fiu", "fj", "fo", "fon", "fr", "frm", "fro", "fur", "fy", "ga", "gaa", "gay", "gba", "gd", "gem", "gez", "gil", "gl", "gmh", "gn", "goh", "gon", "gor", "got", "grb", "grc", "gu", "gv", "gwi", "ha", "hai", "haw", "he", "hi", "hil", "him", "hit", "hmn", "ho", "hr", "hsb", "ht", "hu", "hup", "hy", "hz", "ia", "iba", "id", "ie", "ig", "ii", "ijo", "ik", "ilo", "inc", "ine", "inh", "io", "ira", "iro", "is", "it", "iu", "ja", "jbo", "jpr", "jrb", "jv", "ka", "kaa", "kab", "kac", "kam", "kar", "kaw", "kbd", "kg", "kha", "khi", "kho", "ki", "kj", "kk", "kl", "km", "kmb", "kn", "ko", "kok", "kos", "kpe", "kr", "krc", "kro", "kru", "ks", "ku", "kum", "kut", "kv", "kw", "ky", "la", "lad", "lah", "lam", "lb", "lez", "lg", "li", "ln", "lo", "lol", "loz", "lt", "lu", "lua", "lui", "lun", "luo", "lus", "lv", "mad", "mag", "mai", "mak", "man", "map", "mas", "mdf", "mdr", "men", "mg", "mga", "mh", "mi", "mic", "min", "mis", "mk", "mkh", "ml", "mn", "mnc", "mni", "mno", "mo", "moh", "mos", "mr", "ms", "mt", "mul", "mun", "mus", "mwr", "my", "myn", "myv", "na", "nah", "nai", "nap", "nb", "nd", "nds", "ne", "new", "ng", "nia", "nic", "niu", "nl", "nn", "no", "nog", "non", "nr", "nso", "nub", "nv", "nwc", "ny", "nym", "nyn", "nyo", "nzi", "oc", "oj", "om", "or", "os", "osa", "ota", "oto", "pa", "paa", "pag", "pal", "pam", "pap", "pau", "peo", "phi", "phn", "pi", "pl", "pon", "pra", "pro", "ps", "pt", "qu", "raj", "rap", "rar", "rm", "rn", "ro", "roa", "rom", "ru", "rup", "rw", "sa", "sad", "sah", "sai", "sal", "sam", "sas", "sat", "sc", "sco", "sd", "se", "sel", "sem", "sg", "sga", "sgn", "shn", "si", "sid", "sio", "sit", "sk", "sl", "sla", "sm", "sma", "smi", "smj", "smn", "sms", "sn", "snk", "so", "sog", "son", "sq", "sr", "srr", "ss", "ssa", "st", "su", "suk", "sus", "sux", "sv", "sw", "syr", "ta", "tai", "te", "tem", "ter", "tet", "tg", "th", "ti", "tig", "tiv", "tk", "tkl", "tl", "tlh", "tli", "tmh", "tn", "to", "tog", "tpi", "tr", "ts", "tsi", "tt", "tum", "tup", "tut", "tvl", "tw", "ty", "tyv", "udm", "ug", "uga", "uk", "umb", "und", "ur", "uz", "vai", "ve", "vi", "vo", "vot", "wa", "wak", "wal", "war", "was", "wen", "wo", "xal", "xh", "yao", "yap", "yi", "yo", "ypk", "za", "zap", "zen", "zh", "znd", "zu", "zun", }; String[] tempReplacementLanguages = { "id", "he", "yi", "jv", "sr", "nb",/* replacement language codes */ }; String[] tempObsoleteLanguages = { "in", "iw", "ji", "jw", "sh", "no", /* obsolete language codes */ }; /* This list MUST contain a three-letter code for every two-letter code in the list above, and they MUST ne in the same order (i.e., the same language must be in the same place in both lists)! */ String[] tempLanguages3 = { /*"aa", "ab", "ace", "ach", "ada", "ady", "ae", "af", "afa", */ "aar", "abk", "ace", "ach", "ada", "ady", "ave", "afr", "afa", /*"afh", "ak", "akk", "ale", "alg", "am", "an", "ang", "apa", */ "afh", "aka", "akk", "ale", "alg", "amh", "arg", "ang", "apa", /*"ar", "arc", "arn", "arp", "art", "arw", "as", "ast", */ "ara", "arc", "arn", "arp", "art", "arw", "asm", "ast", /*"ath", "aus", "av", "awa", "ay", "az", "ba", "bad", */ "ath", "aus", "ava", "awa", "aym", "aze", "bak", "bad", /*"bai", "bal", "ban", "bas", "bat", "be", "bej", */ "bai", "bal", "ban", "bas", "bat", "bel", "bej", /*"bem", "ber", "bg", "bh", "bho", "bi", "bik", "bin", */ "bem", "ber", "bul", "bih", "bho", "bis", "bik", "bin", /*"bla", "bm", "bn", "bnt", "bo", "br", "bra", "bs", */ "bla", "bam", "ben", "bnt", "bod", "bre", "bra", "bos", /*"btk", "bua", "bug", "byn", "ca", "cad", "cai", "car", "cau", */ "btk", "bua", "bug", "byn", "cat", "cad", "cai", "car", "cau", /*"ce", "ceb", "cel", "ch", "chb", "chg", "chk", "chm", */ "che", "ceb", "cel", "cha", "chb", "chg", "chk", "chm", /*"chn", "cho", "chp", "chr", "chy", "cmc", "co", "cop", */ "chn", "cho", "chp", "chr", "chy", "cmc", "cos", "cop", /*"cpe", "cpf", "cpp", "cr", "crh", "crp", "cs", "csb", "cu", "cus", */ "cpe", "cpf", "cpp", "cre", "crh", "crp", "ces", "csb", "chu", "cus", /*"cv", "cy", "da", "dak", "dar", "day", "de", "del", "den", */ "chv", "cym", "dan", "dak", "dar", "day", "deu", "del", "den", /*"dgr", "din", "doi", "dra", "dsb", "dua", "dum", "dv", "dyu", */ "dgr", "din", "doi", "dra", "dsb", "dua", "dum", "div", "dyu", /*"dz", "ee", "efi", "egy", "eka", "el", "elx", "en", */ "dzo", "ewe", "efi", "egy", "eka", "ell", "elx", "eng", /*"enm", "eo", "es", "et", "eu", "ewo", "fa", */ "enm", "epo", "spa", "est", "eus", "ewo", "fas", /*"fan", "fat", "ff", "fi", "fiu", "fj", "fo", "fon", */ "fan", "fat", "ful", "fin", "fiu", "fij", "fao", "fon", /*"fr", "frm", "fro", "fur", "fy", "ga", "gaa", "gay", */ "fra", "frm", "fro", "fur", "fry", "gle", "gaa", "gay", /*"gba", "gd", "gem", "gez", "gil", "gl", "gmh", "gn", */ "gba", "gla", "gem", "gez", "gil", "glg", "gmh", "grn", /*"goh", "gon", "gor", "got", "grb", "grc", "gu", "gv", */ "goh", "gon", "gor", "got", "grb", "grc", "guj", "glv", /*"gwi", "ha", "hai", "haw", "he", "hi", "hil", "him", */ "gwi", "hau", "hai", "haw", "heb", "hin", "hil", "him", /*"hit", "hmn", "ho", "hr", "hsb", "ht", "hu", "hup", "hy", "hz", */ "hit", "hmn", "hmo", "hrv", "hsb", "hat", "hun", "hup", "hye", "her", /*"ia", "iba", "id", "ie", "ig", "ii", "ijo", "ik", */ "ina", "iba", "ind", "ile", "ibo", "iii", "ijo", "ipk", /*"ilo", "inc", "ine", "inh", "io", "ira", "iro", "is", "it", */ "ilo", "inc", "ine", "inh", "ido", "ira", "iro", "isl", "ita", /*"iu", "ja", "jbo", "jpr", "jrb", "jv", "ka", "kaa", "kab", */ "iku", "jpn", "jbo", "jpr", "jrb", "jaw", "kat", "kaa", "kab", /*"kac", "kam", "kar", "kaw", "kbd", "kg", "kha", "khi", */ "kac", "kam", "kar", "kaw", "kbd", "kon", "kha", "khi", /*"kho", "ki", "kj", "kk", "kl", "km", "kmb", "kn", */ "kho", "kik", "kua", "kaz", "kal", "khm", "kmb", "kan", /*"ko", "kok", "kos", "kpe", "kr", "krc", "kro", "kru", "ks", */ "kor", "kok", "kos", "kpe", "kau", "krc", "kro", "kru", "kas", /*"ku", "kum", "kut", "kv", "kw", "ky", "la", "lad", */ "kur", "kum", "kut", "kom", "cor", "kir", "lat", "lad", /*"lah", "lam", "lb", "lez", "lg", "li", "ln", "lo", "lol", */ "lah", "lam", "ltz", "lez", "lug", "lim", "lin", "lao", "lol", /*"loz", "lt", "lu", "lua", "lui", "lun", "luo", "lus", */ "loz", "lit", "lub", "lua", "lui", "lun", "luo", "lus", /*"lv", "mad", "mag", "mai", "mak", "man", "map", "mas", */ "lav", "mad", "mag", "mai", "mak", "man", "map", "mas", /*"mdf", "mdr", "men", "mg", "mga", "mh", "mi", "mic", "min", */ "mdf", "mdr", "men", "mlg", "mga", "mah", "mri", "mic", "min", /*"mis", "mk", "mkh", "ml", "mn", "mnc", "mni", "mno", */ "mis", "mkd", "mkh", "mal", "mon", "mnc", "mni", "mno", /*"mo", "moh", "mos", "mr", "ms", "mt", "mul", "mun", */ "mol", "moh", "mos", "mar", "msa", "mlt", "mul", "mun", /*"mus", "mwr", "my", "myn", "myv", "na", "nah", "nai", "nap", */ "mus", "mwr", "mya", "myn", "myv", "nau", "nah", "nai", "nap", /*"nb", "nd", "nds", "ne", "new", "ng", "nia", "nic", */ "nob", "nde", "nds", "nep", "new", "ndo", "nia", "nic", /*"niu", "nl", "nn", "no", "nog", "non", "nr", "nso", "nub", */ "niu", "nld", "nno", "nor", "nog", "non", "nbl", "nso", "nub", /*"nv", "nwc", "ny", "nym", "nyn", "nyo", "nzi", "oc", "oj", */ "nav", "nwc", "nya", "nym", "nyn", "nyo", "nzi", "oci", "oji", /*"om", "or", "os", "osa", "ota", "oto", "pa", "paa", */ "orm", "ori", "oss", "osa", "ota", "oto", "pan", "paa", /*"pag", "pal", "pam", "pap", "pau", "peo", "phi", "phn", */ "pag", "pal", "pam", "pap", "pau", "peo", "phi", "phn", /*"pi", "pl", "pon", "pra", "pro", "ps", "pt", "qu", */ "pli", "pol", "pon", "pra", "pro", "pus", "por", "que", /*"raj", "rap", "rar", "rm", "rn", "ro", "roa", "rom", */ "raj", "rap", "rar", "roh", "run", "ron", "roa", "rom", /*"ru", "rup", "rw", "sa", "sad", "sah", "sai", "sal", "sam", */ "rus", "rup", "kin", "san", "sad", "sah", "sai", "sal", "sam", /*"sas", "sat", "sc", "sco", "sd", "se", "sel", "sem", */ "sas", "sat", "srd", "sco", "snd", "sme", "sel", "sem", /*"sg", "sga", "sgn", "shn", "si", "sid", "sio", "sit", */ "sag", "sga", "sgn", "shn", "sin", "sid", "sio", "sit", /*"sk", "sl", "sla", "sm", "sma", "smi", "smj", "smn", */ "slk", "slv", "sla", "smo", "sma", "smi", "smj", "smn", /*"sms", "sn", "snk", "so", "sog", "son", "sq", "sr", */ "sms", "sna", "snk", "som", "sog", "son", "sqi", "srp", /*"srr", "ss", "ssa", "st", "su", "suk", "sus", "sux", */ "srr", "ssw", "ssa", "sot", "sun", "suk", "sus", "sux", /*"sv", "sw", "syr", "ta", "tai", "te", "tem", "ter", */ "swe", "swa", "syr", "tam", "tai", "tel", "tem", "ter", /*"tet", "tg", "th", "ti", "tig", "tiv", "tk", "tkl", */ "tet", "tgk", "tha", "tir", "tig", "tiv", "tuk", "tkl", /*"tl", "tlh", "tli", "tmh", "tn", "to", "tog", "tpi", "tr", */ "tgl", "tlh", "tli", "tmh", "tsn", "ton", "tog", "tpi", "tur", /*"ts", "tsi", "tt", "tum", "tup", "tut", "tvl", "tw", */ "tso", "tsi", "tat", "tum", "tup", "tut", "tvl", "twi", /*"ty", "tyv", "udm", "ug", "uga", "uk", "umb", "und", "ur", */ "tah", "tyv", "udm", "uig", "uga", "ukr", "umb", "und", "urd", /*"uz", "vai", "ve", "vi", "vo", "vot", "wa", "wak", */ "uzb", "vai", "ven", "vie", "vol", "vot", "wln", "wak", /*"wal", "war", "was", "wen", "wo", "xal", "xh", "yao", "yap", */ "wal", "war", "was", "wen", "wol", "xal", "xho", "yao", "yap", /*"yi", "yo", "ypk", "za", "zap", "zen", "zh", "znd", */ "yid", "yor", "ypk", "zha", "zap", "zen", "zho", "znd", /*"zu", "zun", */ "zul", "zun", }; String[] tempObsoleteLanguages3 = { /* "in", "iw", "ji", "jw", "sh", */ "ind", "heb", "yid", "jaw", "srp", }; synchronized (ULocale.class) { if (_languages == null) { _languages = tempLanguages; _replacementLanguages = tempReplacementLanguages; _obsoleteLanguages = tempObsoleteLanguages; _languages3 = tempLanguages3; _obsoleteLanguages3 = tempObsoleteLanguages3; } } } } private static String[] _countries; private static String[] _deprecatedCountries; private static String[] _replacementCountries; private static String[] _obsoleteCountries; private static String[] _countries3; private static String[] _obsoleteCountries3; // Avoid initializing country tables unless we have to. private static void initCountryTables() { if (_countries == null) { /* ZR(ZAR) is now CD(COD) and FX(FXX) is PS(PSE) as per http://www.evertype.com/standards/iso3166/iso3166-1-en.html added new codes keeping the old ones for compatibility updated to include 1999/12/03 revisions *CWB*/ /* RO(ROM) is now RO(ROU) according to http://www.iso.org/iso/en/prods-services/iso3166ma/03updates-on-iso-3166/nlv3e-rou.html */ /* This list MUST be in sorted order, and MUST contain only two-letter codes! */ String[] tempCountries = { "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW", }; /* this table is used for 3 letter codes */ String[] tempObsoleteCountries = { "FX", "CS", "RO", "TP", "YU", "ZR", /* obsolete country codes */ }; String[] tempDeprecatedCountries = { "BU", "CS", "DY", "FX", "HV", "NH", "RH", "TP", "YU", "ZR" /* deprecated country list */ }; String[] tempReplacementCountries = { /* "BU", "CS", "DY", "FX", "HV", "NH", "RH", "TP", "YU", "ZR" */ "MM", "RS", "BJ", "FR", "BF", "VU", "ZW", "TL", "RS", "CD", /* replacement country codes */ }; /* This list MUST contain a three-letter code for every two-letter code in the above list, and they MUST be listed in the same order! */ String[] tempCountries3 = { /* "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", */ "AND", "ARE", "AFG", "ATG", "AIA", "ALB", "ARM", "ANT", /* "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", */ "AGO", "ATA", "ARG", "ASM", "AUT", "AUS", "ABW", "ALA", "AZE", /* "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", */ "BIH", "BRB", "BGD", "BEL", "BFA", "BGR", "BHR", "BDI", /* "BJ", "BL", "BM", "BN", "BO", "BR", "BS", "BT", "BV", */ "BEN", "BLM", "BMU", "BRN", "BOL", "BRA", "BHS", "BTN", "BVT", /* "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", */ "BWA", "BLR", "BLZ", "CAN", "CCK", "COD", "CAF", "COG", /* "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", */ "CHE", "CIV", "COK", "CHL", "CMR", "CHN", "COL", "CRI", /* "CU", "CV", "CX", "CY", "CZ", "DE", "DJ", "DK", */ "CUB", "CPV", "CXR", "CYP", "CZE", "DEU", "DJI", "DNK", /* "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", */ "DMA", "DOM", "DZA", "ECU", "EST", "EGY", "ESH", "ERI", /* "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", */ "ESP", "ETH", "FIN", "FJI", "FLK", "FSM", "FRO", "FRA", /* "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", */ "GAB", "GBR", "GRD", "GEO", "GUF", "GGY", "GHA", "GIB", "GRL", /* "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", */ "GMB", "GIN", "GLP", "GNQ", "GRC", "SGS", "GTM", "GUM", /* "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", */ "GNB", "GUY", "HKG", "HMD", "HND", "HRV", "HTI", "HUN", /* "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS" */ "IDN", "IRL", "ISR", "IMN", "IND", "IOT", "IRQ", "IRN", "ISL", /* "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", */ "ITA", "JEY", "JAM", "JOR", "JPN", "KEN", "KGZ", "KHM", "KIR", /* "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", */ "COM", "KNA", "PRK", "KOR", "KWT", "CYM", "KAZ", "LAO", /* "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", */ "LBN", "LCA", "LIE", "LKA", "LBR", "LSO", "LTU", "LUX", /* "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", */ "LVA", "LBY", "MAR", "MCO", "MDA", "MNE", "MAF", "MDG", "MHL", "MKD", /* "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", */ "MLI", "MMR", "MNG", "MAC", "MNP", "MTQ", "MRT", "MSR", /* "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", */ "MLT", "MUS", "MDV", "MWI", "MEX", "MYS", "MOZ", "NAM", /* "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", */ "NCL", "NER", "NFK", "NGA", "NIC", "NLD", "NOR", "NPL", /* "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", */ "NRU", "NIU", "NZL", "OMN", "PAN", "PER", "PYF", "PNG", /* "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", */ "PHL", "PAK", "POL", "SPM", "PCN", "PRI", "PSE", "PRT", /* "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", */ "PLW", "PRY", "QAT", "REU", "ROU", "SRB", "RUS", "RWA", "SAU", /* "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", */ "SLB", "SYC", "SDN", "SWE", "SGP", "SHN", "SVN", "SJM", /* "SK", "SL", "SM", "SN", "SO", "SR", "ST", "SV", */ "SVK", "SLE", "SMR", "SEN", "SOM", "SUR", "STP", "SLV", /* "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", */ "SYR", "SWZ", "TCA", "TCD", "ATF", "TGO", "THA", "TJK", /* "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", */ "TKL", "TLS", "TKM", "TUN", "TON", "TUR", "TTO", "TUV", /* "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", */ "TWN", "TZA", "UKR", "UGA", "UMI", "USA", "URY", "UZB", /* "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", */ "VAT", "VCT", "VEN", "VGB", "VIR", "VNM", "VUT", "WLF", /* "WS", "YE", "YT", "ZA", "ZM", "ZW" */ "WSM", "YEM", "MYT", "ZAF", "ZMB", "ZWE", }; String[] tempObsoleteCountries3 = { /*"FX", "CS", "RO", "TP", "YU", "ZR", */ "FXX", "SCG", "ROM", "TMP", "YUG", "ZAR", }; synchronized (ULocale.class) { if (_countries == null) { _countries = tempCountries; _deprecatedCountries = tempDeprecatedCountries; _replacementCountries = tempReplacementCountries; _obsoleteCountries = tempObsoleteCountries; _countries3 = tempCountries3; _obsoleteCountries3 = tempObsoleteCountries3; } } } } public static String getCurrentCountryID(String oldID){ initCountryTables(); int offset = findIndex(_deprecatedCountries, oldID); if (offset >= 0) { return _replacementCountries[offset]; } return oldID; } public static String getCurrentLanguageID(String oldID){ initLanguageTables(); int offset = findIndex(_obsoleteLanguages, oldID); if (offset >= 0) { return _replacementLanguages[offset]; } return oldID; } } LocaleUtility.java000066400000000000000000000103251172643025600334450ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/* ****************************************************************************** * Copyright (C) 1996-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ****************************************************************************** * ****************************************************************************** */ package com.ibm.icu.impl; import java.util.Locale; /** * A class to hold utility functions missing from java.util.Locale. */ public class LocaleUtility { /** * A helper function to convert a string of the form * aa_BB_CC to a locale object. Why isn't this in Locale? */ public static Locale getLocaleFromName(String name) { String language = ""; String country = ""; String variant = ""; int i1 = name.indexOf('_'); if (i1 < 0) { language = name; } else { language = name.substring(0, i1); ++i1; int i2 = name.indexOf('_', i1); if (i2 < 0) { country = name.substring(i1); } else { country = name.substring(i1, i2); variant = name.substring(i2+1); } } return new Locale(language, country, variant); } /** * Compare two locale strings of the form aa_BB_CC, and * return true if parent is a 'strict' fallback of child, that is, * if child =~ "^parent(_.+)*" (roughly). */ public static boolean isFallbackOf(String parent, String child) { if (!child.startsWith(parent)) { return false; } int i = parent.length(); return (i == child.length() || child.charAt(i) == '_'); } /** * Compare two locales, and return true if the parent is a * 'strict' fallback of the child (parent string is a fallback * of child string). */ public static boolean isFallbackOf(Locale parent, Locale child) { return isFallbackOf(parent.toString(), child.toString()); } /* * Convenience method that calls canonicalLocaleString(String) with * locale.toString(); */ /*public static String canonicalLocaleString(Locale locale) { return canonicalLocaleString(locale.toString()); }*/ /* * You'd think that Locale canonicalizes, since it munges the * renamed languages, but it doesn't quite. It forces the region * to be upper case but doesn't do anything about the language or * variant. Our canonical form is 'lower_UPPER_UPPER'. */ /*public static String canonicalLocaleString(String id) { if (id != null) { int x = id.indexOf("_"); if (x == -1) { id = id.toLowerCase(Locale.ENGLISH); } else { StringBuffer buf = new StringBuffer(); buf.append(id.substring(0, x).toLowerCase(Locale.ENGLISH)); buf.append(id.substring(x).toUpperCase(Locale.ENGLISH)); int len = buf.length(); int n = len; while (--n >= 0 && buf.charAt(n) == '_') { } if (++n != len) { buf.delete(n, len); } id = buf.toString(); } } return id; }*/ /** * Fallback from the given locale name by removing the rightmost _-delimited * element. If there is none, return the root locale ("", "", ""). If this * is the root locale, return null. NOTE: The string "root" is not * recognized; do not use it. * * @return a new Locale that is a fallback from the given locale, or null. */ public static Locale fallback(Locale loc) { // Split the locale into parts and remove the rightmost part String[] parts = new String[] { loc.getLanguage(), loc.getCountry(), loc.getVariant() }; int i; for (i=2; i>=0; --i) { if (parts[i].length() != 0) { parts[i] = ""; break; } } if (i<0) { return null; // All parts were empty } return new Locale(parts[0], parts[1], parts[2]); } } SimpleCache.java000066400000000000000000000037231172643025600330430ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/* **************************************************************************** * Copyright (c) 2007-2011 International Business Machines Corporation and * * others. All rights reserved. * **************************************************************************** */ package com.ibm.icu.impl; import java.lang.ref.Reference; import java.lang.ref.SoftReference; import java.lang.ref.WeakReference; import java.util.Collections; import java.util.HashMap; import java.util.Map; public class SimpleCache implements ICUCache { private static final int DEFAULT_CAPACITY = 16; private Reference> cacheRef = null; private int type = ICUCache.SOFT; private int capacity = DEFAULT_CAPACITY; public SimpleCache() { } public SimpleCache(int cacheType) { this(cacheType, DEFAULT_CAPACITY); } public SimpleCache(int cacheType, int initialCapacity) { if (cacheType == ICUCache.WEAK) { type = cacheType; } if (initialCapacity > 0) { capacity = initialCapacity; } } public V get(Object key) { Reference> ref = cacheRef; if (ref != null) { Map map = ref.get(); if (map != null) { return map.get(key); } } return null; } public void put(K key, V value) { Reference> ref = cacheRef; Map map = null; if (ref != null) { map = ref.get(); } if (map == null) { map = Collections.synchronizedMap(new HashMap(capacity)); if (type == ICUCache.WEAK) { ref = new WeakReference>(map); } else { ref = new SoftReference>(map); } cacheRef = ref; } map.put(key, value); } public void clear() { cacheRef = null; } } icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/000077500000000000000000000000001172643025600313345ustar00rootroot00000000000000AsciiUtil.java000066400000000000000000000114221172643025600340060ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; public final class AsciiUtil { public static boolean caseIgnoreMatch(String s1, String s2) { if (s1 == s2) { return true; } int len = s1.length(); if (len != s2.length()) { return false; } int i = 0; while (i < len) { char c1 = s1.charAt(i); char c2 = s2.charAt(i); if (c1 != c2 && toLower(c1) != toLower(c2)) { break; } i++; } return (i == len); } public static int caseIgnoreCompare(String s1, String s2) { if (s1 == s2) { return 0; } return AsciiUtil.toLowerString(s1).compareTo(AsciiUtil.toLowerString(s2)); } public static char toUpper(char c) { if (c >= 'a' && c <= 'z') { c -= 0x20; } return c; } public static char toLower(char c) { if (c >= 'A' && c <= 'Z') { c += 0x20; } return c; } public static String toLowerString(String s) { int idx = 0; for (; idx < s.length(); idx++) { char c = s.charAt(idx); if (c >= 'A' && c <= 'Z') { break; } } if (idx == s.length()) { return s; } StringBuilder buf = new StringBuilder(s.substring(0, idx)); for (; idx < s.length(); idx++) { buf.append(toLower(s.charAt(idx))); } return buf.toString(); } public static String toUpperString(String s) { int idx = 0; for (; idx < s.length(); idx++) { char c = s.charAt(idx); if (c >= 'a' && c <= 'z') { break; } } if (idx == s.length()) { return s; } StringBuilder buf = new StringBuilder(s.substring(0, idx)); for (; idx < s.length(); idx++) { buf.append(toUpper(s.charAt(idx))); } return buf.toString(); } public static String toTitleString(String s) { if (s.length() == 0) { return s; } int idx = 0; char c = s.charAt(idx); if (!(c >= 'a' && c <= 'z')) { for (idx = 1; idx < s.length(); idx++) { if (c >= 'A' && c <= 'Z') { break; } } } if (idx == s.length()) { return s; } StringBuilder buf = new StringBuilder(s.substring(0, idx)); if (idx == 0) { buf.append(toUpper(s.charAt(idx))); idx++; } for (; idx < s.length(); idx++) { buf.append(toLower(s.charAt(idx))); } return buf.toString(); } public static boolean isAlpha(char c) { return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'); } public static boolean isAlphaString(String s) { boolean b = true; for (int i = 0; i < s.length(); i++) { if (!isAlpha(s.charAt(i))) { b = false; break; } } return b; } public static boolean isNumeric(char c) { return (c >= '0' && c <= '9'); } public static boolean isNumericString(String s) { boolean b = true; for (int i = 0; i < s.length(); i++) { if (!isNumeric(s.charAt(i))) { b = false; break; } } return b; } public static boolean isAlphaNumeric(char c) { return isAlpha(c) || isNumeric(c); } public static boolean isAlphaNumericString(String s) { boolean b = true; for (int i = 0; i < s.length(); i++) { if (!isAlphaNumeric(s.charAt(i))) { b = false; break; } } return b; } public static class CaseInsensitiveKey { private String _key; private int _hash; public CaseInsensitiveKey(String key) { _key = key; _hash = AsciiUtil.toLowerString(key).hashCode(); } public boolean equals(Object o) { if (this == o) { return true; } if (o instanceof CaseInsensitiveKey) { return AsciiUtil.caseIgnoreMatch(_key, ((CaseInsensitiveKey)o)._key); } return false; } public int hashCode() { return _hash; } } } BaseLocale.java000066400000000000000000000206561172643025600341230ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; public final class BaseLocale { private static final boolean JDKIMPL = false; public static final String SEP = "_"; private static final Cache CACHE = new Cache(); public static final BaseLocale ROOT = BaseLocale.getInstance("", "", "", ""); private String _language = ""; private String _script = ""; private String _region = ""; private String _variant = ""; private transient volatile int _hash = 0; private BaseLocale(String language, String script, String region, String variant) { if (language != null) { _language = AsciiUtil.toLowerString(language).intern(); } if (script != null) { _script = AsciiUtil.toTitleString(script).intern(); } if (region != null) { _region = AsciiUtil.toUpperString(region).intern(); } if (variant != null) { if (JDKIMPL) { // preserve upper/lower cases _variant = variant.intern(); } else { _variant = AsciiUtil.toUpperString(variant).intern(); } } } public static BaseLocale getInstance(String language, String script, String region, String variant) { if (JDKIMPL) { // JDK uses deprecated ISO639.1 language codes for he, yi and id if (AsciiUtil.caseIgnoreMatch(language, "he")) { language = "iw"; } else if (AsciiUtil.caseIgnoreMatch(language, "yi")) { language = "ji"; } else if (AsciiUtil.caseIgnoreMatch(language, "id")) { language = "in"; } } Key key = new Key(language, script, region, variant); BaseLocale baseLocale = CACHE.get(key); return baseLocale; } public String getLanguage() { return _language; } public String getScript() { return _script; } public String getRegion() { return _region; } public String getVariant() { return _variant; } public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof BaseLocale)) { return false; } BaseLocale other = (BaseLocale)obj; return hashCode() == other.hashCode() && _language.equals(other._language) && _script.equals(other._script) && _region.equals(other._region) && _variant.equals(other._variant); } public String toString() { StringBuilder buf = new StringBuilder(); if (_language.length() > 0) { buf.append("language="); buf.append(_language); } if (_script.length() > 0) { if (buf.length() > 0) { buf.append(", "); } buf.append("script="); buf.append(_script); } if (_region.length() > 0) { if (buf.length() > 0) { buf.append(", "); } buf.append("region="); buf.append(_region); } if (_variant.length() > 0) { if (buf.length() > 0) { buf.append(", "); } buf.append("variant="); buf.append(_variant); } return buf.toString(); } public int hashCode() { int h = _hash; if (h == 0) { // Generating a hash value from language, script, region and variant for (int i = 0; i < _language.length(); i++) { h = 31*h + _language.charAt(i); } for (int i = 0; i < _script.length(); i++) { h = 31*h + _script.charAt(i); } for (int i = 0; i < _region.length(); i++) { h = 31*h + _region.charAt(i); } for (int i = 0; i < _variant.length(); i++) { h = 31*h + _variant.charAt(i); } _hash = h; } return h; } private static class Key implements Comparable { private String _lang = ""; private String _scrt = ""; private String _regn = ""; private String _vart = ""; private volatile int _hash; // Default to 0 public Key(String language, String script, String region, String variant) { if (language != null) { _lang = language; } if (script != null) { _scrt = script; } if (region != null) { _regn = region; } if (variant != null) { _vart = variant; } } public boolean equals(Object obj) { if (JDKIMPL) { return (this == obj) || (obj instanceof Key) && AsciiUtil.caseIgnoreMatch(((Key)obj)._lang, this._lang) && AsciiUtil.caseIgnoreMatch(((Key)obj)._scrt, this._scrt) && AsciiUtil.caseIgnoreMatch(((Key)obj)._regn, this._regn) && ((Key)obj)._vart.equals(_vart); // variant is case sensitive in JDK! } return (this == obj) || (obj instanceof Key) && AsciiUtil.caseIgnoreMatch(((Key)obj)._lang, this._lang) && AsciiUtil.caseIgnoreMatch(((Key)obj)._scrt, this._scrt) && AsciiUtil.caseIgnoreMatch(((Key)obj)._regn, this._regn) && AsciiUtil.caseIgnoreMatch(((Key)obj)._vart, this._vart); } public int compareTo(Key other) { int res = AsciiUtil.caseIgnoreCompare(this._lang, other._lang); if (res == 0) { res = AsciiUtil.caseIgnoreCompare(this._scrt, other._scrt); if (res == 0) { res = AsciiUtil.caseIgnoreCompare(this._regn, other._regn); if (res == 0) { if (JDKIMPL) { res = this._vart.compareTo(other._vart); } else { res = AsciiUtil.caseIgnoreCompare(this._vart, other._vart); } } } } return res; } public int hashCode() { int h = _hash; if (h == 0) { // Generating a hash value from language, script, region and variant for (int i = 0; i < _lang.length(); i++) { h = 31*h + AsciiUtil.toLower(_lang.charAt(i)); } for (int i = 0; i < _scrt.length(); i++) { h = 31*h + AsciiUtil.toLower(_scrt.charAt(i)); } for (int i = 0; i < _regn.length(); i++) { h = 31*h + AsciiUtil.toLower(_regn.charAt(i)); } for (int i = 0; i < _vart.length(); i++) { if (JDKIMPL) { h = 31*h + _vart.charAt(i); } else { h = 31*h + AsciiUtil.toLower(_vart.charAt(i)); } } _hash = h; } return h; } public static Key normalize(Key key) { String lang = AsciiUtil.toLowerString(key._lang).intern(); String scrt = AsciiUtil.toTitleString(key._scrt).intern(); String regn = AsciiUtil.toUpperString(key._regn).intern(); String vart; if (JDKIMPL) { // preserve upper/lower cases vart = key._vart.intern(); } else { vart = AsciiUtil.toUpperString(key._vart).intern(); } return new Key(lang, scrt, regn, vart); } } private static class Cache extends LocaleObjectCache { public Cache() { } protected Key normalizeKey(Key key) { return Key.normalize(key); } protected BaseLocale createObject(Key key) { return new BaseLocale(key._lang, key._scrt, key._regn, key._vart); } } } Extension.java000066400000000000000000000015331172643025600340760ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; public class Extension { private char _key; protected String _value; protected Extension(char key) { _key = key; } Extension(char key, String value) { _key = key; _value = value; } public char getKey() { return _key; } public String getValue() { return _value; } public String getID() { return _key + LanguageTag.SEP + _value; } public String toString() { return getID(); } }InternalLocaleBuilder.java000066400000000000000000000615261172643025600363350ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Set; public final class InternalLocaleBuilder { private static final boolean JDKIMPL = false; private String _language = ""; private String _script = ""; private String _region = ""; private String _variant = ""; private static final CaseInsensitiveChar PRIVUSE_KEY = new CaseInsensitiveChar(LanguageTag.PRIVATEUSE.charAt(0)); private HashMap _extensions; private HashSet _uattributes; private HashMap _ukeywords; public InternalLocaleBuilder() { } public InternalLocaleBuilder setLanguage(String language) throws LocaleSyntaxException { if (language == null || language.length() == 0) { _language = ""; } else { if (!LanguageTag.isLanguage(language)) { throw new LocaleSyntaxException("Ill-formed language: " + language, 0); } _language = language; } return this; } public InternalLocaleBuilder setScript(String script) throws LocaleSyntaxException { if (script == null || script.length() == 0) { _script = ""; } else { if (!LanguageTag.isScript(script)) { throw new LocaleSyntaxException("Ill-formed script: " + script, 0); } _script = script; } return this; } public InternalLocaleBuilder setRegion(String region) throws LocaleSyntaxException { if (region == null || region.length() == 0) { _region = ""; } else { if (!LanguageTag.isRegion(region)) { throw new LocaleSyntaxException("Ill-formed region: " + region, 0); } _region = region; } return this; } public InternalLocaleBuilder setVariant(String variant) throws LocaleSyntaxException { if (variant == null || variant.length() == 0) { _variant = ""; } else { // normalize separators to "_" String var = variant.replaceAll(LanguageTag.SEP, BaseLocale.SEP); int errIdx = checkVariants(var, BaseLocale.SEP); if (errIdx != -1) { throw new LocaleSyntaxException("Ill-formed variant: " + variant, errIdx); } _variant = var; } return this; } public InternalLocaleBuilder addUnicodeLocaleAttribute(String attribute) throws LocaleSyntaxException { if (attribute == null || !UnicodeLocaleExtension.isAttribute(attribute)) { throw new LocaleSyntaxException("Ill-formed Unicode locale attribute: " + attribute); } // Use case insensitive string to prevent duplication if (_uattributes == null) { _uattributes = new HashSet(4); } _uattributes.add(new CaseInsensitiveString(attribute)); return this; } public InternalLocaleBuilder removeUnicodeLocaleAttribute(String attribute) throws LocaleSyntaxException { if (attribute == null || !UnicodeLocaleExtension.isAttribute(attribute)) { throw new LocaleSyntaxException("Ill-formed Unicode locale attribute: " + attribute); } if (_uattributes != null) { _uattributes.remove(new CaseInsensitiveString(attribute)); } return this; } public InternalLocaleBuilder setUnicodeLocaleKeyword(String key, String type) throws LocaleSyntaxException { if (!UnicodeLocaleExtension.isKey(key)) { throw new LocaleSyntaxException("Ill-formed Unicode locale keyword key: " + key); } CaseInsensitiveString cikey = new CaseInsensitiveString(key); if (type == null) { if (_ukeywords != null) { // null type is used for remove the key _ukeywords.remove(cikey); } } else { if (type.length() != 0) { // normalize separator to "-" String tp = type.replaceAll(BaseLocale.SEP, LanguageTag.SEP); // validate StringTokenIterator itr = new StringTokenIterator(tp, LanguageTag.SEP); while (!itr.isDone()) { String s = itr.current(); if (!UnicodeLocaleExtension.isTypeSubtag(s)) { throw new LocaleSyntaxException("Ill-formed Unicode locale keyword type: " + type, itr.currentStart()); } itr.next(); } } if (_ukeywords == null) { _ukeywords = new HashMap(4); } _ukeywords.put(cikey, type); } return this; } public InternalLocaleBuilder setExtension(char singleton, String value) throws LocaleSyntaxException { // validate key boolean isBcpPrivateuse = LanguageTag.isPrivateusePrefixChar(singleton); if (!isBcpPrivateuse && !LanguageTag.isExtensionSingletonChar(singleton)) { throw new LocaleSyntaxException("Ill-formed extension key: " + singleton); } boolean remove = (value == null || value.length() == 0); CaseInsensitiveChar key = new CaseInsensitiveChar(singleton); if (remove) { if (UnicodeLocaleExtension.isSingletonChar(key.value())) { // clear entire Unicode locale extension if (_uattributes != null) { _uattributes.clear(); } if (_ukeywords != null) { _ukeywords.clear(); } } else { if (_extensions != null && _extensions.containsKey(key)) { _extensions.remove(key); } } } else { // validate value String val = value.replaceAll(BaseLocale.SEP, LanguageTag.SEP); StringTokenIterator itr = new StringTokenIterator(val, LanguageTag.SEP); while (!itr.isDone()) { String s = itr.current(); boolean validSubtag; if (isBcpPrivateuse) { validSubtag = LanguageTag.isPrivateuseSubtag(s); } else { validSubtag = LanguageTag.isExtensionSubtag(s); } if (!validSubtag) { throw new LocaleSyntaxException("Ill-formed extension value: " + s, itr.currentStart()); } itr.next(); } if (UnicodeLocaleExtension.isSingletonChar(key.value())) { setUnicodeLocaleExtension(val); } else { if (_extensions == null) { _extensions = new HashMap(4); } _extensions.put(key, val); } } return this; } /* * Set extension/private subtags in a single string representation */ public InternalLocaleBuilder setExtensions(String subtags) throws LocaleSyntaxException { if (subtags == null || subtags.length() == 0) { clearExtensions(); return this; } subtags = subtags.replaceAll(BaseLocale.SEP, LanguageTag.SEP); StringTokenIterator itr = new StringTokenIterator(subtags, LanguageTag.SEP); List extensions = null; String privateuse = null; int parsed = 0; int start; // Make a list of extension subtags while (!itr.isDone()) { String s = itr.current(); if (LanguageTag.isExtensionSingleton(s)) { start = itr.currentStart(); String singleton = s; StringBuilder sb = new StringBuilder(singleton); itr.next(); while (!itr.isDone()) { s = itr.current(); if (LanguageTag.isExtensionSubtag(s)) { sb.append(LanguageTag.SEP).append(s); parsed = itr.currentEnd(); } else { break; } itr.next(); } if (parsed < start) { throw new LocaleSyntaxException("Incomplete extension '" + singleton + "'", start); } if (extensions == null) { extensions = new ArrayList(4); } extensions.add(sb.toString()); } else { break; } } if (!itr.isDone()) { String s = itr.current(); if (LanguageTag.isPrivateusePrefix(s)) { start = itr.currentStart(); StringBuilder sb = new StringBuilder(s); itr.next(); while (!itr.isDone()) { s = itr.current(); if (!LanguageTag.isPrivateuseSubtag(s)) { break; } sb.append(LanguageTag.SEP).append(s); parsed = itr.currentEnd(); itr.next(); } if (parsed <= start) { throw new LocaleSyntaxException("Incomplete privateuse:" + subtags.substring(start), start); } else { privateuse = sb.toString(); } } } if (!itr.isDone()) { throw new LocaleSyntaxException("Ill-formed extension subtags:" + subtags.substring(itr.currentStart()), itr.currentStart()); } return setExtensions(extensions, privateuse); } /* * Set a list of BCP47 extensions and private use subtags * BCP47 extensions are already validated and well-formed, but may contain duplicates */ private InternalLocaleBuilder setExtensions(List bcpExtensions, String privateuse) { clearExtensions(); if (bcpExtensions != null && bcpExtensions.size() > 0) { HashSet processedExtensions = new HashSet(bcpExtensions.size()); for (String bcpExt : bcpExtensions) { CaseInsensitiveChar key = new CaseInsensitiveChar(bcpExt.charAt(0)); // ignore duplicates if (!processedExtensions.contains(key)) { // each extension string contains singleton, e.g. "a-abc-def" if (UnicodeLocaleExtension.isSingletonChar(key.value())) { setUnicodeLocaleExtension(bcpExt.substring(2)); } else { if (_extensions == null) { _extensions = new HashMap(4); } _extensions.put(key, bcpExt.substring(2)); } } } } if (privateuse != null && privateuse.length() > 0) { // privateuse string contains prefix, e.g. "x-abc-def" if (_extensions == null) { _extensions = new HashMap(1); } _extensions.put(new CaseInsensitiveChar(privateuse.charAt(0)), privateuse.substring(2)); } return this; } /* * Reset Builder's internal state with the given language tag */ public InternalLocaleBuilder setLanguageTag(LanguageTag langtag) { clear(); if (langtag.getExtlangs().size() > 0) { _language = langtag.getExtlangs().get(0); } else { String language = langtag.getLanguage(); if (!language.equals(LanguageTag.UNDETERMINED)) { _language = language; } } _script = langtag.getScript(); _region = langtag.getRegion(); List bcpVariants = langtag.getVariants(); if (bcpVariants.size() > 0) { StringBuilder var = new StringBuilder(bcpVariants.get(0)); for (int i = 1; i < bcpVariants.size(); i++) { var.append(BaseLocale.SEP).append(bcpVariants.get(i)); } _variant = var.toString(); } setExtensions(langtag.getExtensions(), langtag.getPrivateuse()); return this; } public InternalLocaleBuilder setLocale(BaseLocale base, LocaleExtensions extensions) throws LocaleSyntaxException { String language = base.getLanguage(); String script = base.getScript(); String region = base.getRegion(); String variant = base.getVariant(); if (JDKIMPL) { // Special backward compatibility support // Exception 1 - ja_JP_JP if (language.equals("ja") && region.equals("JP") && variant.equals("JP")) { // When locale ja_JP_JP is created, ca-japanese is always there. // The builder ignores the variant "JP" assert("japanese".equals(extensions.getUnicodeLocaleType("ca"))); variant = ""; } // Exception 2 - th_TH_TH else if (language.equals("th") && region.equals("TH") && variant.equals("TH")) { // When locale th_TH_TH is created, nu-thai is always there. // The builder ignores the variant "TH" assert("thai".equals(extensions.getUnicodeLocaleType("nu"))); variant = ""; } // Exception 3 - no_NO_NY else if (language.equals("no") && region.equals("NO") && variant.equals("NY")) { // no_NO_NY is a valid locale and used by Java 6 or older versions. // The build ignores the variant "NY" and change the language to "nn". language = "nn"; variant = ""; } } // Validate base locale fields before updating internal state. // LocaleExtensions always store validated/canonicalized values, // so no checks are necessary. if (language.length() > 0 && !LanguageTag.isLanguage(language)) { throw new LocaleSyntaxException("Ill-formed language: " + language); } if (script.length() > 0 && !LanguageTag.isScript(script)) { throw new LocaleSyntaxException("Ill-formed script: " + script); } if (region.length() > 0 && !LanguageTag.isRegion(region)) { throw new LocaleSyntaxException("Ill-formed region: " + region); } if (variant.length() > 0) { int errIdx = checkVariants(variant, BaseLocale.SEP); if (errIdx != -1) { throw new LocaleSyntaxException("Ill-formed variant: " + variant, errIdx); } } // The input locale is validated at this point. // Now, updating builder's internal fields. _language = language; _script = script; _region = region; _variant = variant; clearExtensions(); Set extKeys = (extensions == null) ? null : extensions.getKeys(); if (extKeys != null) { // map extensions back to builder's internal format for (Character key : extKeys) { Extension e = extensions.getExtension(key); if (e instanceof UnicodeLocaleExtension) { UnicodeLocaleExtension ue = (UnicodeLocaleExtension)e; for (String uatr : ue.getUnicodeLocaleAttributes()) { if (_uattributes == null) { _uattributes = new HashSet(4); } _uattributes.add(new CaseInsensitiveString(uatr)); } for (String ukey : ue.getUnicodeLocaleKeys()) { if (_ukeywords == null) { _ukeywords = new HashMap(4); } _ukeywords.put(new CaseInsensitiveString(ukey), ue.getUnicodeLocaleType(ukey)); } } else { if (_extensions == null) { _extensions = new HashMap(4); } _extensions.put(new CaseInsensitiveChar(key.charValue()), e.getValue()); } } } return this; } public InternalLocaleBuilder clear() { _language = ""; _script = ""; _region = ""; _variant = ""; clearExtensions(); return this; } public InternalLocaleBuilder clearExtensions() { if (_extensions != null) { _extensions.clear(); } if (_uattributes != null) { _uattributes.clear(); } if (_ukeywords != null) { _ukeywords.clear(); } return this; } public BaseLocale getBaseLocale() { String language = _language; String script = _script; String region = _region; String variant = _variant; // Special private use subtag sequence identified by "lvariant" will be // interpreted as Java variant. if (_extensions != null) { String privuse = _extensions.get(PRIVUSE_KEY); if (privuse != null) { StringTokenIterator itr = new StringTokenIterator(privuse, LanguageTag.SEP); boolean sawPrefix = false; int privVarStart = -1; while (!itr.isDone()) { if (sawPrefix) { privVarStart = itr.currentStart(); break; } if (AsciiUtil.caseIgnoreMatch(itr.current(), LanguageTag.PRIVUSE_VARIANT_PREFIX)) { sawPrefix = true; } itr.next(); } if (privVarStart != -1) { StringBuilder sb = new StringBuilder(variant); if (sb.length() != 0) { sb.append(BaseLocale.SEP); } sb.append(privuse.substring(privVarStart).replaceAll(LanguageTag.SEP, BaseLocale.SEP)); variant = sb.toString(); } } } return BaseLocale.getInstance(language, script, region, variant); } public LocaleExtensions getLocaleExtensions() { if ((_extensions == null || _extensions.size() == 0) && (_uattributes == null || _uattributes.size() == 0) && (_ukeywords == null || _ukeywords.size() == 0)) { return LocaleExtensions.EMPTY_EXTENSIONS; } return new LocaleExtensions(_extensions, _uattributes, _ukeywords); } /* * Remove special private use subtag sequence identified by "lvariant" * and return the rest. Only used by LocaleExtensions */ static String removePrivateuseVariant(String privuseVal) { StringTokenIterator itr = new StringTokenIterator(privuseVal, LanguageTag.SEP); // Note: privateuse value "abc-lvariant" is unchanged // because no subtags after "lvariant". int prefixStart = -1; boolean sawPrivuseVar = false; while (!itr.isDone()) { if (prefixStart != -1) { // Note: privateuse value "abc-lvariant" is unchanged // because no subtags after "lvariant". sawPrivuseVar = true; break; } if (AsciiUtil.caseIgnoreMatch(itr.current(), LanguageTag.PRIVUSE_VARIANT_PREFIX)) { prefixStart = itr.currentStart(); } itr.next(); } if (!sawPrivuseVar) { return privuseVal; } assert(prefixStart == 0 || prefixStart > 1); return (prefixStart == 0) ? null : privuseVal.substring(0, prefixStart -1); } /* * Check if the given variant subtags separated by the given * separator(s) are valid */ private int checkVariants(String variants, String sep) { StringTokenIterator itr = new StringTokenIterator(variants, sep); while (!itr.isDone()) { String s = itr.current(); if (!LanguageTag.isVariant(s)) { return itr.currentStart(); } itr.next(); } return -1; } /* * Private methods parsing Unicode Locale Extension subtags. * Duplicated attributes/keywords will be ignored. * The input must be a valid extension subtags (excluding singleton). */ private void setUnicodeLocaleExtension(String subtags) { // wipe out existing attributes/keywords if (_uattributes != null) { _uattributes.clear(); } if (_ukeywords != null) { _ukeywords.clear(); } StringTokenIterator itr = new StringTokenIterator(subtags, LanguageTag.SEP); // parse attributes while (!itr.isDone()) { if (!UnicodeLocaleExtension.isAttribute(itr.current())) { break; } if (_uattributes == null) { _uattributes = new HashSet(4); } _uattributes.add(new CaseInsensitiveString(itr.current())); itr.next(); } // parse keywords CaseInsensitiveString key = null; String type; int typeStart = -1; int typeEnd = -1; while (!itr.isDone()) { if (key != null) { if (UnicodeLocaleExtension.isKey(itr.current())) { // next keyword - emit previous one assert(typeStart == -1 || typeEnd != -1); type = (typeStart == -1) ? "" : subtags.substring(typeStart, typeEnd); if (_ukeywords == null) { _ukeywords = new HashMap(4); } _ukeywords.put(key, type); // reset keyword info CaseInsensitiveString tmpKey = new CaseInsensitiveString(itr.current()); key = _ukeywords.containsKey(tmpKey) ? null : tmpKey; typeStart = typeEnd = -1; } else { if (typeStart == -1) { typeStart = itr.currentStart(); } typeEnd = itr.currentEnd(); } } else if (UnicodeLocaleExtension.isKey(itr.current())) { // 1. first keyword or // 2. next keyword, but previous one was duplicate key = new CaseInsensitiveString(itr.current()); if (_ukeywords != null && _ukeywords.containsKey(key)) { // duplicate key = null; } } if (!itr.hasNext()) { if (key != null) { // last keyword assert(typeStart == -1 || typeEnd != -1); type = (typeStart == -1) ? "" : subtags.substring(typeStart, typeEnd); if (_ukeywords == null) { _ukeywords = new HashMap(4); } _ukeywords.put(key, type); } break; } itr.next(); } } static class CaseInsensitiveString { private String _s; CaseInsensitiveString(String s) { _s = s; } public String value() { return _s; } public int hashCode() { return AsciiUtil.toLowerString(_s).hashCode(); } public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof CaseInsensitiveString)) { return false; } return AsciiUtil.caseIgnoreMatch(_s, ((CaseInsensitiveString)obj).value()); } } static class CaseInsensitiveChar { private char _c; CaseInsensitiveChar(char c) { _c = c; } public char value() { return _c; } public int hashCode() { return AsciiUtil.toLower(_c); } public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof CaseInsensitiveChar)) { return false; } return _c == AsciiUtil.toLower(((CaseInsensitiveChar)obj).value()); } } } LanguageTag.java000066400000000000000000000562241172643025600343100ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2010-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; public class LanguageTag { private static final boolean JDKIMPL = false; // // static fields // public static final String SEP = "-"; public static final String PRIVATEUSE = "x"; public static String UNDETERMINED = "und"; public static final String PRIVUSE_VARIANT_PREFIX = "lvariant"; // // Language subtag fields // private String _language = ""; // language subtag private String _script = ""; // script subtag private String _region = ""; // region subtag private String _privateuse = ""; // privateuse private List _extlangs = Collections.emptyList(); // extlang subtags private List _variants = Collections.emptyList(); // variant subtags private List _extensions = Collections.emptyList(); // extensions // Map contains grandfathered tags and its preferred mappings from // http://www.ietf.org/rfc/rfc5646.txt private static final Map GRANDFATHERED = new HashMap(); static { // grandfathered = irregular ; non-redundant tags registered // / regular ; during the RFC 3066 era // // irregular = "en-GB-oed" ; irregular tags do not match // / "i-ami" ; the 'langtag' production and // / "i-bnn" ; would not otherwise be // / "i-default" ; considered 'well-formed' // / "i-enochian" ; These tags are all valid, // / "i-hak" ; but most are deprecated // / "i-klingon" ; in favor of more modern // / "i-lux" ; subtags or subtag // / "i-mingo" ; combination // / "i-navajo" // / "i-pwn" // / "i-tao" // / "i-tay" // / "i-tsu" // / "sgn-BE-FR" // / "sgn-BE-NL" // / "sgn-CH-DE" // // regular = "art-lojban" ; these tags match the 'langtag' // / "cel-gaulish" ; production, but their subtags // / "no-bok" ; are not extended language // / "no-nyn" ; or variant subtags: their meaning // / "zh-guoyu" ; is defined by their registration // / "zh-hakka" ; and all of these are deprecated // / "zh-min" ; in favor of a more modern // / "zh-min-nan" ; subtag or sequence of subtags // / "zh-xiang" final String[][] entries = { //{"tag", "preferred"}, {"art-lojban", "jbo"}, {"cel-gaulish", "xtg-x-cel-gaulish"}, // fallback {"en-GB-oed", "en-GB-x-oed"}, // fallback {"i-ami", "ami"}, {"i-bnn", "bnn"}, {"i-default", "en-x-i-default"}, // fallback {"i-enochian", "und-x-i-enochian"}, // fallback {"i-hak", "hak"}, {"i-klingon", "tlh"}, {"i-lux", "lb"}, {"i-mingo", "see-x-i-mingo"}, // fallback {"i-navajo", "nv"}, {"i-pwn", "pwn"}, {"i-tao", "tao"}, {"i-tay", "tay"}, {"i-tsu", "tsu"}, {"no-bok", "nb"}, {"no-nyn", "nn"}, {"sgn-BE-FR", "sfb"}, {"sgn-BE-NL", "vgt"}, {"sgn-CH-DE", "sgg"}, {"zh-guoyu", "cmn"}, {"zh-hakka", "hak"}, {"zh-min", "nan-x-zh-min"}, // fallback {"zh-min-nan", "nan"}, {"zh-xiang", "hsn"}, }; for (String[] e : entries) { GRANDFATHERED.put(new AsciiUtil.CaseInsensitiveKey(e[0]), e); } } private LanguageTag() { } /* * BNF in RFC5464 * * Language-Tag = langtag ; normal language tags * / privateuse ; private use tag * / grandfathered ; grandfathered tags * * * langtag = language * ["-" script] * ["-" region] * *("-" variant) * *("-" extension) * ["-" privateuse] * * language = 2*3ALPHA ; shortest ISO 639 code * ["-" extlang] ; sometimes followed by * ; extended language subtags * / 4ALPHA ; or reserved for future use * / 5*8ALPHA ; or registered language subtag * * extlang = 3ALPHA ; selected ISO 639 codes * *2("-" 3ALPHA) ; permanently reserved * * script = 4ALPHA ; ISO 15924 code * * region = 2ALPHA ; ISO 3166-1 code * / 3DIGIT ; UN M.49 code * * variant = 5*8alphanum ; registered variants * / (DIGIT 3alphanum) * * extension = singleton 1*("-" (2*8alphanum)) * * ; Single alphanumerics * ; "x" reserved for private use * singleton = DIGIT ; 0 - 9 * / %x41-57 ; A - W * / %x59-5A ; Y - Z * / %x61-77 ; a - w * / %x79-7A ; y - z * * privateuse = "x" 1*("-" (1*8alphanum)) * */ public static LanguageTag parse(String languageTag, ParseStatus sts) { if (sts == null) { sts = new ParseStatus(); } else { sts.reset(); } StringTokenIterator itr; // Check if the tag is grandfathered String[] gfmap = GRANDFATHERED.get(new AsciiUtil.CaseInsensitiveKey(languageTag)); if (gfmap != null) { // use preferred mapping itr = new StringTokenIterator(gfmap[1], SEP); } else { itr = new StringTokenIterator(languageTag, SEP); } LanguageTag tag = new LanguageTag(); // langtag must start with either language or privateuse if (tag.parseLanguage(itr, sts)) { tag.parseExtlangs(itr, sts); tag.parseScript(itr, sts); tag.parseRegion(itr, sts); tag.parseVariants(itr, sts); tag.parseExtensions(itr, sts); } tag.parsePrivateuse(itr, sts); if (!itr.isDone() && !sts.isError()) { String s = itr.current(); sts._errorIndex = itr.currentStart(); if (s.length() == 0) { sts._errorMsg = "Empty subtag"; } else { sts._errorMsg = "Invalid subtag: " + s; } } return tag; } // // Language subtag parsers // private boolean parseLanguage(StringTokenIterator itr, ParseStatus sts) { if (itr.isDone() || sts.isError()) { return false; } boolean found = false; String s = itr.current(); if (isLanguage(s)) { found = true; _language = s; sts._parseLength = itr.currentEnd(); itr.next(); } return found; } private boolean parseExtlangs(StringTokenIterator itr, ParseStatus sts) { if (itr.isDone() || sts.isError()) { return false; } boolean found = false; while (!itr.isDone()) { String s = itr.current(); if (!isExtlang(s)) { break; } found = true; if (_extlangs.isEmpty()) { _extlangs = new ArrayList(3); } _extlangs.add(s); sts._parseLength = itr.currentEnd(); itr.next(); if (_extlangs.size() == 3) { // Maximum 3 extlangs break; } } return found; } private boolean parseScript(StringTokenIterator itr, ParseStatus sts) { if (itr.isDone() || sts.isError()) { return false; } boolean found = false; String s = itr.current(); if (isScript(s)) { found = true; _script = s; sts._parseLength = itr.currentEnd(); itr.next(); } return found; } private boolean parseRegion(StringTokenIterator itr, ParseStatus sts) { if (itr.isDone() || sts.isError()) { return false; } boolean found = false; String s = itr.current(); if (isRegion(s)) { found = true; _region = s; sts._parseLength = itr.currentEnd(); itr.next(); } return found; } private boolean parseVariants(StringTokenIterator itr, ParseStatus sts) { if (itr.isDone() || sts.isError()) { return false; } boolean found = false; while (!itr.isDone()) { String s = itr.current(); if (!isVariant(s)) { break; } found = true; if (_variants.isEmpty()) { _variants = new ArrayList(3); } _variants.add(s); sts._parseLength = itr.currentEnd(); itr.next(); } return found; } private boolean parseExtensions(StringTokenIterator itr, ParseStatus sts) { if (itr.isDone() || sts.isError()) { return false; } boolean found = false; while (!itr.isDone()) { String s = itr.current(); if (isExtensionSingleton(s)) { int start = itr.currentStart(); String singleton = s; StringBuilder sb = new StringBuilder(singleton); itr.next(); while (!itr.isDone()) { s = itr.current(); if (isExtensionSubtag(s)) { sb.append(SEP).append(s); sts._parseLength = itr.currentEnd(); } else { break; } itr.next(); } if (sts._parseLength <= start) { sts._errorIndex = start; sts._errorMsg = "Incomplete extension '" + singleton + "'"; break; } if (_extensions.size() == 0) { _extensions = new ArrayList(4); } _extensions.add(sb.toString()); found = true; } else { break; } } return found; } private boolean parsePrivateuse(StringTokenIterator itr, ParseStatus sts) { if (itr.isDone() || sts.isError()) { return false; } boolean found = false; String s = itr.current(); if (isPrivateusePrefix(s)) { int start = itr.currentStart(); StringBuilder sb = new StringBuilder(s); itr.next(); while (!itr.isDone()) { s = itr.current(); if (!isPrivateuseSubtag(s)) { break; } sb.append(SEP).append(s); sts._parseLength = itr.currentEnd(); itr.next(); } if (sts._parseLength <= start) { // need at least 1 private subtag sts._errorIndex = start; sts._errorMsg = "Incomplete privateuse"; } else { _privateuse = sb.toString(); found = true; } } return found; } public static LanguageTag parseLocale(BaseLocale baseLocale, LocaleExtensions localeExtensions) { LanguageTag tag = new LanguageTag(); String language = baseLocale.getLanguage(); String script = baseLocale.getScript(); String region = baseLocale.getRegion(); String variant = baseLocale.getVariant(); boolean hasSubtag = false; String privuseVar = null; // store ill-formed variant subtags if (language.length() > 0 && isLanguage(language)) { // Convert a deprecated language code used by Java to // a new code if (language.equals("iw")) { language = "he"; } else if (language.equals("ji")) { language = "yi"; } else if (language.equals("in")) { language = "id"; } tag._language = language; } if (script.length() > 0 && isScript(script)) { tag._script = canonicalizeScript(script); hasSubtag = true; } if (region.length() > 0 && isRegion(region)) { tag._region = canonicalizeRegion(region); hasSubtag = true; } if (JDKIMPL) { // Special handling for no_NO_NY - use nn_NO for language tag if (tag._language.equals("no") && tag._region.equals("NO") && variant.equals("NY")) { tag._language = "nn"; variant = ""; } } if (variant.length() > 0) { List variants = null; StringTokenIterator varitr = new StringTokenIterator(variant, BaseLocale.SEP); while (!varitr.isDone()) { String var = varitr.current(); if (!isVariant(var)) { break; } if (variants == null) { variants = new ArrayList(); } if (JDKIMPL) { variants.add(var); // Do not canonicalize! } else { variants.add(canonicalizeVariant(var)); } varitr.next(); } if (variants != null) { tag._variants = variants; hasSubtag = true; } if (!varitr.isDone()) { // ill-formed variant subtags StringBuilder buf = new StringBuilder(); while (!varitr.isDone()) { String prvv = varitr.current(); if (!isPrivateuseSubtag(prvv)) { // cannot use private use subtag - truncated break; } if (buf.length() > 0) { buf.append(SEP); } if (!JDKIMPL) { prvv = AsciiUtil.toLowerString(prvv); } buf.append(prvv); varitr.next(); } if (buf.length() > 0) { privuseVar = buf.toString(); } } } List extensions = null; String privateuse = null; Set locextKeys = localeExtensions.getKeys(); for (Character locextKey : locextKeys) { Extension ext = localeExtensions.getExtension(locextKey); if (isPrivateusePrefixChar(locextKey.charValue())) { privateuse = ext.getValue(); } else { if (extensions == null) { extensions = new ArrayList(); } extensions.add(locextKey.toString() + SEP + ext.getValue()); } } if (extensions != null) { tag._extensions = extensions; hasSubtag = true; } // append ill-formed variant subtags to private use if (privuseVar != null) { if (privateuse == null) { privateuse = PRIVUSE_VARIANT_PREFIX + SEP + privuseVar; } else { privateuse = privateuse + SEP + PRIVUSE_VARIANT_PREFIX + SEP + privuseVar.replace(BaseLocale.SEP, SEP); } } if (privateuse != null) { tag._privateuse = privateuse; } if (tag._language.length() == 0 && (hasSubtag || privateuse == null)) { // use lang "und" when 1) no language is available AND // 2) any of other subtags other than private use are available or // no private use tag is available tag._language = UNDETERMINED; } return tag; } // // Getter methods for language subtag fields // public String getLanguage() { return _language; } public List getExtlangs() { return Collections.unmodifiableList(_extlangs); } public String getScript() { return _script; } public String getRegion() { return _region; } public List getVariants() { return Collections.unmodifiableList(_variants); } public List getExtensions() { return Collections.unmodifiableList(_extensions); } public String getPrivateuse() { return _privateuse; } // // Language subtag syntax checking methods // public static boolean isLanguage(String s) { // language = 2*3ALPHA ; shortest ISO 639 code // ["-" extlang] ; sometimes followed by // ; extended language subtags // / 4ALPHA ; or reserved for future use // / 5*8ALPHA ; or registered language subtag return (s.length() >= 2) && (s.length() <= 8) && AsciiUtil.isAlphaString(s); } public static boolean isExtlang(String s) { // extlang = 3ALPHA ; selected ISO 639 codes // *2("-" 3ALPHA) ; permanently reserved return (s.length() == 3) && AsciiUtil.isAlphaString(s); } public static boolean isScript(String s) { // script = 4ALPHA ; ISO 15924 code return (s.length() == 4) && AsciiUtil.isAlphaString(s); } public static boolean isRegion(String s) { // region = 2ALPHA ; ISO 3166-1 code // / 3DIGIT ; UN M.49 code return ((s.length() == 2) && AsciiUtil.isAlphaString(s)) || ((s.length() == 3) && AsciiUtil.isNumericString(s)); } public static boolean isVariant(String s) { // variant = 5*8alphanum ; registered variants // / (DIGIT 3alphanum) int len = s.length(); if (len >= 5 && len <= 8) { return AsciiUtil.isAlphaNumericString(s); } if (len == 4) { return AsciiUtil.isNumeric(s.charAt(0)) && AsciiUtil.isAlphaNumeric(s.charAt(1)) && AsciiUtil.isAlphaNumeric(s.charAt(2)) && AsciiUtil.isAlphaNumeric(s.charAt(3)); } return false; } public static boolean isExtensionSingleton(String s) { // singleton = DIGIT ; 0 - 9 // / %x41-57 ; A - W // / %x59-5A ; Y - Z // / %x61-77 ; a - w // / %x79-7A ; y - z return (s.length() == 1) && AsciiUtil.isAlphaString(s) && !AsciiUtil.caseIgnoreMatch(PRIVATEUSE, s); } public static boolean isExtensionSingletonChar(char c) { return isExtensionSingleton(String.valueOf(c)); } public static boolean isExtensionSubtag(String s) { // extension = singleton 1*("-" (2*8alphanum)) return (s.length() >= 2) && (s.length() <= 8) && AsciiUtil.isAlphaNumericString(s); } public static boolean isPrivateusePrefix(String s) { // privateuse = "x" 1*("-" (1*8alphanum)) return (s.length() == 1) && AsciiUtil.caseIgnoreMatch(PRIVATEUSE, s); } public static boolean isPrivateusePrefixChar(char c) { return (AsciiUtil.caseIgnoreMatch(PRIVATEUSE, String.valueOf(c))); } public static boolean isPrivateuseSubtag(String s) { // privateuse = "x" 1*("-" (1*8alphanum)) return (s.length() >= 1) && (s.length() <= 8) && AsciiUtil.isAlphaNumericString(s); } // // Language subtag canonicalization methods // public static String canonicalizeLanguage(String s) { return AsciiUtil.toLowerString(s); } public static String canonicalizeExtlang(String s) { return AsciiUtil.toLowerString(s); } public static String canonicalizeScript(String s) { return AsciiUtil.toTitleString(s); } public static String canonicalizeRegion(String s) { return AsciiUtil.toUpperString(s); } public static String canonicalizeVariant(String s) { return AsciiUtil.toLowerString(s); } public static String canonicalizeExtension(String s) { return AsciiUtil.toLowerString(s); } public static String canonicalizeExtensionSingleton(String s) { return AsciiUtil.toLowerString(s); } public static String canonicalizeExtensionSubtag(String s) { return AsciiUtil.toLowerString(s); } public static String canonicalizePrivateuse(String s) { return AsciiUtil.toLowerString(s); } public static String canonicalizePrivateuseSubtag(String s) { return AsciiUtil.toLowerString(s); } public String toString() { StringBuilder sb = new StringBuilder(); if (_language.length() > 0) { sb.append(_language); for (String extlang : _extlangs) { sb.append(SEP).append(extlang); } if (_script.length() > 0) { sb.append(SEP).append(_script); } if (_region.length() > 0) { sb.append(SEP).append(_region); } for (String variant : _extlangs) { sb.append(SEP).append(variant); } for (String extension : _extensions) { sb.append(SEP).append(extension); } } if (_privateuse.length() > 0) { if (sb.length() > 0) { sb.append(SEP); } sb.append(_privateuse); } return sb.toString(); } } LocaleExtensions.java000066400000000000000000000170661172643025600354110ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; import java.util.Collections; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; import java.util.TreeSet; import com.ibm.icu.impl.locale.InternalLocaleBuilder.CaseInsensitiveChar; import com.ibm.icu.impl.locale.InternalLocaleBuilder.CaseInsensitiveString; public class LocaleExtensions { private SortedMap _map; private String _id; private static final SortedMap EMPTY_MAP = Collections.unmodifiableSortedMap(new TreeMap()); public static final LocaleExtensions EMPTY_EXTENSIONS; public static final LocaleExtensions CALENDAR_JAPANESE; public static final LocaleExtensions NUMBER_THAI; static { EMPTY_EXTENSIONS = new LocaleExtensions(); EMPTY_EXTENSIONS._id = ""; EMPTY_EXTENSIONS._map = EMPTY_MAP; CALENDAR_JAPANESE = new LocaleExtensions(); CALENDAR_JAPANESE._id = "u-ca-japanese"; CALENDAR_JAPANESE._map = new TreeMap(); CALENDAR_JAPANESE._map.put(Character.valueOf(UnicodeLocaleExtension.SINGLETON), UnicodeLocaleExtension.CA_JAPANESE); NUMBER_THAI = new LocaleExtensions(); NUMBER_THAI._id = "u-nu-thai"; NUMBER_THAI._map = new TreeMap(); NUMBER_THAI._map.put(Character.valueOf(UnicodeLocaleExtension.SINGLETON), UnicodeLocaleExtension.NU_THAI); } private LocaleExtensions() { } /* * Package local constructor, only used by InternalLocaleBuilder. */ LocaleExtensions(Map extensions, Set uattributes, Map ukeywords) { boolean hasExtension = (extensions != null && extensions.size() > 0); boolean hasUAttributes = (uattributes != null && uattributes.size() > 0); boolean hasUKeywords = (ukeywords != null && ukeywords.size() > 0); if (!hasExtension && !hasUAttributes && !hasUKeywords) { _map = EMPTY_MAP; _id = ""; return; } // Build extension map _map = new TreeMap(); if (hasExtension) { for (Entry ext : extensions.entrySet()) { char key = AsciiUtil.toLower(ext.getKey().value()); String value = ext.getValue(); if (LanguageTag.isPrivateusePrefixChar(key)) { // we need to exclude special variant in privuateuse, e.g. "x-abc-lvariant-DEF" value = InternalLocaleBuilder.removePrivateuseVariant(value); if (value == null) { continue; } } Extension e = new Extension(key, AsciiUtil.toLowerString(value)); _map.put(Character.valueOf(key), e); } } if (hasUAttributes || hasUKeywords) { TreeSet uaset = null; TreeMap ukmap = null; if (hasUAttributes) { uaset = new TreeSet(); for (CaseInsensitiveString cis : uattributes) { uaset.add(AsciiUtil.toLowerString(cis.value())); } } if (hasUKeywords) { ukmap = new TreeMap(); for (Entry kwd : ukeywords.entrySet()) { String key = AsciiUtil.toLowerString(kwd.getKey().value()); String type = AsciiUtil.toLowerString(kwd.getValue()); ukmap.put(key, type); } } UnicodeLocaleExtension ule = new UnicodeLocaleExtension(uaset, ukmap); _map.put(Character.valueOf(UnicodeLocaleExtension.SINGLETON), ule); } if (_map.size() == 0) { // this could happen when only privuateuse with special variant _map = EMPTY_MAP; _id = ""; } else { _id = toID(_map); } } public Set getKeys() { return Collections.unmodifiableSet(_map.keySet()); } public Extension getExtension(Character key) { return _map.get(Character.valueOf(AsciiUtil.toLower(key.charValue()))); } public String getExtensionValue(Character key) { Extension ext = _map.get(Character.valueOf(AsciiUtil.toLower(key.charValue()))); if (ext == null) { return null; } return ext.getValue(); } public Set getUnicodeLocaleAttributes() { Extension ext = _map.get(Character.valueOf(UnicodeLocaleExtension.SINGLETON)); if (ext == null) { return Collections.emptySet(); } assert (ext instanceof UnicodeLocaleExtension); return ((UnicodeLocaleExtension)ext).getUnicodeLocaleAttributes(); } public Set getUnicodeLocaleKeys() { Extension ext = _map.get(Character.valueOf(UnicodeLocaleExtension.SINGLETON)); if (ext == null) { return Collections.emptySet(); } assert (ext instanceof UnicodeLocaleExtension); return ((UnicodeLocaleExtension)ext).getUnicodeLocaleKeys(); } public String getUnicodeLocaleType(String unicodeLocaleKey) { Extension ext = _map.get(Character.valueOf(UnicodeLocaleExtension.SINGLETON)); if (ext == null) { return null; } assert (ext instanceof UnicodeLocaleExtension); return ((UnicodeLocaleExtension)ext).getUnicodeLocaleType(AsciiUtil.toLowerString(unicodeLocaleKey)); } public boolean isEmpty() { return _map.isEmpty(); } public static boolean isValidKey(char c) { return LanguageTag.isExtensionSingletonChar(c) || LanguageTag.isPrivateusePrefixChar(c); } public static boolean isValidUnicodeLocaleKey(String ukey) { return UnicodeLocaleExtension.isKey(ukey); } private static String toID(SortedMap map) { StringBuilder buf = new StringBuilder(); Extension privuse = null; for (Entry entry : map.entrySet()) { char singleton = entry.getKey().charValue(); Extension extension = entry.getValue(); if (LanguageTag.isPrivateusePrefixChar(singleton)) { privuse = extension; } else { if (buf.length() > 0) { buf.append(LanguageTag.SEP); } buf.append(extension); } } if (privuse != null) { if (buf.length() > 0) { buf.append(LanguageTag.SEP); } buf.append(privuse); } return buf.toString(); } public String toString() { return _id; } public String getID() { return _id; } public int hashCode() { return _id.hashCode(); } public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof LocaleExtensions)) { return false; } return this._id.equals(((LocaleExtensions)other)._id); } } LocaleObjectCache.java000066400000000000000000000046601172643025600354000ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; import java.lang.ref.ReferenceQueue; import java.lang.ref.SoftReference; import java.util.concurrent.ConcurrentHashMap; public abstract class LocaleObjectCache { private ConcurrentHashMap> _map; private ReferenceQueue _queue = new ReferenceQueue(); public LocaleObjectCache() { this(16, 0.75f, 16); } public LocaleObjectCache(int initialCapacity, float loadFactor, int concurrencyLevel) { _map = new ConcurrentHashMap>(initialCapacity, loadFactor, concurrencyLevel); } public V get(K key) { V value = null; cleanStaleEntries(); CacheEntry entry = _map.get(key); if (entry != null) { value = entry.get(); } if (value == null) { key = normalizeKey(key); V newVal = createObject(key); if (key == null || newVal == null) { // subclass must return non-null key/value object return null; } CacheEntry newEntry = new CacheEntry(key, newVal, _queue); while (value == null) { cleanStaleEntries(); entry = _map.putIfAbsent(key, newEntry); if (entry == null) { value = newVal; break; } else { value = entry.get(); } } } return value; } @SuppressWarnings("unchecked") private void cleanStaleEntries() { CacheEntry entry; while ((entry = (CacheEntry)_queue.poll()) != null) { _map.remove(entry.getKey()); } } protected abstract V createObject(K key); protected K normalizeKey(K key) { return key; } private static class CacheEntry extends SoftReference { private K _key; CacheEntry(K key, V value, ReferenceQueue queue) { super(value, queue); _key = key; } K getKey() { return _key; } } } LocaleSyntaxException.java000066400000000000000000000013741172643025600364120ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; public class LocaleSyntaxException extends Exception { private static final long serialVersionUID = 1L; private int _index = -1; public LocaleSyntaxException(String msg) { this(msg, 0); } public LocaleSyntaxException(String msg, int errorIndex) { super(msg); _index = errorIndex; } public int getErrorIndex() { return _index; } } ParseStatus.java000066400000000000000000000015441172643025600344020ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2010-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; public class ParseStatus { int _parseLength = 0; int _errorIndex = -1; String _errorMsg = null; public void reset() { _parseLength = 0; _errorIndex = -1; _errorMsg = null; } public boolean isError() { return (_errorIndex >= 0); } public int getErrorIndex() { return _errorIndex; } public int getParseLength() { return _parseLength; } public String getErrorMessage() { return _errorMsg; } } StringTokenIterator.java000066400000000000000000000042441172643025600361050ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; public class StringTokenIterator { private String _text; private String _dlms; private String _token; private int _start; private int _end; private boolean _done; public StringTokenIterator(String text, String dlms) { _text = text; _dlms = dlms; setStart(0); } public String first() { setStart(0); return _token; } public String current() { return _token; } public int currentStart() { return _start; } public int currentEnd() { return _end; } public boolean isDone() { return _done; } public String next() { if (hasNext()) { _start = _end + 1; _end = nextDelimiter(_start); _token = _text.substring(_start, _end); } else { _start = _end; _token = null; _done = true; } return _token; } public boolean hasNext() { return (_end < _text.length()); } public StringTokenIterator setStart(int offset) { if (offset > _text.length()) { throw new IndexOutOfBoundsException(); } _start = offset; _end = nextDelimiter(_start); _token = _text.substring(_start, _end); _done = false; return this; } public StringTokenIterator setText(String text) { _text = text; setStart(0); return this; } private int nextDelimiter(int start) { int idx = start; outer: while (idx < _text.length()) { char c = _text.charAt(idx); for (int i = 0; i < _dlms.length(); i++) { if (c == _dlms.charAt(i)) { break outer; } } idx++; } return idx; } } UnicodeLocaleExtension.java000066400000000000000000000067271172643025600365370ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/impl/locale/* ******************************************************************************* * Copyright (C) 2009-2011, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.impl.locale; import java.util.Collections; import java.util.Map.Entry; import java.util.Set; import java.util.SortedMap; import java.util.SortedSet; import java.util.TreeMap; import java.util.TreeSet; public class UnicodeLocaleExtension extends Extension { public static final char SINGLETON = 'u'; private static final SortedSet EMPTY_SORTED_SET = new TreeSet(); private static final SortedMap EMPTY_SORTED_MAP = new TreeMap(); private SortedSet _attributes = EMPTY_SORTED_SET; private SortedMap _keywords = EMPTY_SORTED_MAP; public static final UnicodeLocaleExtension CA_JAPANESE; public static final UnicodeLocaleExtension NU_THAI; static { CA_JAPANESE = new UnicodeLocaleExtension(); CA_JAPANESE._keywords = new TreeMap(); CA_JAPANESE._keywords.put("ca", "japanese"); CA_JAPANESE._value = "ca-japanese"; NU_THAI = new UnicodeLocaleExtension(); NU_THAI._keywords = new TreeMap(); NU_THAI._keywords.put("nu", "thai"); NU_THAI._value = "nu-thai"; } private UnicodeLocaleExtension() { super(SINGLETON); } UnicodeLocaleExtension(SortedSet attributes, SortedMap keywords) { this(); if (attributes != null && attributes.size() > 0) { _attributes = attributes; } if (keywords != null && keywords.size() > 0) { _keywords = keywords; } if (_attributes.size() > 0 || _keywords.size() > 0) { StringBuilder sb = new StringBuilder(); for (String attribute : _attributes) { sb.append(LanguageTag.SEP).append(attribute); } for (Entry keyword : _keywords.entrySet()) { String key = keyword.getKey(); String value = keyword.getValue(); sb.append(LanguageTag.SEP).append(key); if (value.length() > 0) { sb.append(LanguageTag.SEP).append(value); } } _value = sb.substring(1); // skip leading '-' } } public Set getUnicodeLocaleAttributes() { return Collections.unmodifiableSet(_attributes); } public Set getUnicodeLocaleKeys() { return Collections.unmodifiableSet(_keywords.keySet()); } public String getUnicodeLocaleType(String unicodeLocaleKey) { return _keywords.get(unicodeLocaleKey); } public static boolean isSingletonChar(char c) { return (SINGLETON == AsciiUtil.toLower(c)); } public static boolean isAttribute(String s) { // 3*8alphanum return (s.length() >= 3) && (s.length() <= 8) && AsciiUtil.isAlphaNumericString(s); } public static boolean isKey(String s) { // 2alphanum return (s.length() == 2) && AsciiUtil.isAlphaNumericString(s); } public static boolean isTypeSubtag(String s) { // 3*8alphanum return (s.length() >= 3) && (s.length() <= 8) && AsciiUtil.isAlphaNumericString(s); } } icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/math/000077500000000000000000000000001172643025600300655ustar00rootroot00000000000000BigDecimal.java000066400000000000000000005356711172643025600326520ustar00rootroot00000000000000icu4j-4.4-4.4.2.2/eclipse-build/plugins.template/com.ibm.icu.base/src/com/ibm/icu/math/* Generated from 'BigDecimal.nrx' 8 Sep 2000 11:10:50 [v2.00] */ /* Options: Binary Comments Crossref Format Java Logo Strictargs Strictcase Trace2 Verbose3 */ package com.ibm.icu.math; import java.math.BigInteger; /* ------------------------------------------------------------------ */ /* BigDecimal -- Decimal arithmetic for Java */ /* ------------------------------------------------------------------ */ /* Copyright IBM Corporation, 1996-2011. All Rights Reserved. */ /* */ /* The BigDecimal class provides immutable arbitrary-precision */ /* floating point (including integer) decimal numbers. */ /* */ /* As the numbers are decimal, there is an exact correspondence */ /* between an instance of a BigDecimal object and its String */ /* representation; the BigDecimal class provides direct conversions */ /* to and from String and character array objects, and well as */ /* conversions to and from the Java primitive types (which may not */ /* be exact). */ /* ------------------------------------------------------------------ */ /* Notes: */ /* */ /* 1. A BigDecimal object is never changed in value once constructed; */ /* this avoids the need for locking. Note in particular that the */ /* mantissa array may be shared between many BigDecimal objects, */ /* so that once exposed it must not be altered. */ /* */ /* 2. This class looks at MathContext class fields directly (for */ /* performance). It must not and does not change them. */ /* */ /* 3. Exponent checking is delayed until finish(), as we know */ /* intermediate calculations cannot cause 31-bit overflow. */ /* [This assertion depends on MAX_DIGITS in MathContext.] */ /* */ /* 4. Comments for the public API now follow the javadoc conventions. */ /* The NetRexx -comments option is used to pass these comments */ /* through to the generated Java code (with -format, if desired). */ /* */ /* 5. System.arraycopy is faster than explicit loop as follows */ /* Mean length 4: equal */ /* Mean length 8: x2 */ /* Mean length 16: x3 */ /* Mean length 24: x4 */ /* From prior experience, we expect mean length a little below 8, */ /* but arraycopy is still the one to use, in general, until later */ /* measurements suggest otherwise. */ /* */ /* 6. 'DMSRCN' referred to below is the original (1981) IBM S/370 */ /* assembler code implementation of the algorithms below; it is */ /* now called IXXRCN and is available with the OS/390 and VM/ESA */ /* operating systems. */ /* ------------------------------------------------------------------ */ /* Change History: */ /* 1997.09.02 Initial version (derived from netrexx.lang classes) */ /* 1997.09.12 Add lostDigits checking */ /* 1997.10.06 Change mantissa to a byte array */ /* 1997.11.22 Rework power [did not prepare arguments, etc.] */ /* 1997.12.13 multiply did not prepare arguments */ /* 1997.12.14 add did not prepare and align arguments correctly */ /* 1998.05.02 0.07 packaging changes suggested by Sun and Oracle */ /* 1998.05.21 adjust remainder operator finalization */ /* 1998.06.04 rework to pass MathContext to finish() and round() */ /* 1998.06.06 change format to use round(); support rounding modes */ /* 1998.06.25 rename to BigDecimal and begin merge */ /* zero can now have trailing zeros (i.e., exp\=0) */ /* 1998.06.28 new methods: movePointXxxx, scale, toBigInteger */ /* unscaledValue, valueof */ /* 1998.07.01 improve byteaddsub to allow array reuse, etc. */ /* 1998.07.01 make null testing explicit to avoid JIT bug [Win32] */ /* 1998.07.07 scaled division [divide(BigDecimal, int, int)] */ /* 1998.07.08 setScale, faster equals */ /* 1998.07.11 allow 1E6 (no sign) ; new double/float conversion */ /* 1998.10.12 change package to com.ibm.icu.math */ /* 1998.12.14 power operator no longer rounds RHS [to match ANSI] */ /* add toBigDecimal() and BigDecimal(java.math.BigDecimal) */ /* 1998.12.29 improve byteaddsub by using table lookup */ /* 1999.02.04 lostdigits=0 behaviour rounds instead of digits+1 guard */ /* 1999.02.05 cleaner code for BigDecimal(char[]) */ /* 1999.02.06 add javadoc comments */ /* 1999.02.11 format() changed from 7 to 2 method form */ /* 1999.03.05 null pointer checking is no longer explicit */ /* 1999.03.05 simplify; changes from discussion with J. Bloch: */ /* null no longer permitted for MathContext; drop boolean, */ /* byte, char, float, short constructor, deprecate double */ /* constructor, no blanks in string constructor, add */ /* offset and length version of char[] constructor; */ /* add valueOf(double); drop booleanValue, charValue; */ /* add ...Exact versions of remaining convertors */ /* 1999.03.13 add toBigIntegerExact */ /* 1999.03.13 1.00 release to IBM Centre for Java Technology */ /* 1999.05.27 1.01 correct 0-0.2 bug under scaled arithmetic */ /* 1999.06.29 1.02 constructors should not allow exponent > 9 digits */ /* 1999.07.03 1.03 lost digits should not be checked if digits=0 */ /* 1999.07.06 lost digits Exception message changed */ /* 1999.07.10 1.04 more work on 0-0.2 (scaled arithmetic) */ /* 1999.07.17 improve messages from pow method */ /* 1999.08.08 performance tweaks */ /* 1999.08.15 fastpath in multiply */ /* 1999.11.05 1.05 fix problem in intValueExact [e.g., 5555555555] */ /* 1999.12.22 1.06 remove multiply fastpath, and improve performance */ /* 2000.01.01 copyright update [Y2K has arrived] */ /* 2000.06.18 1.08 no longer deprecate BigDecimal(double) */ /* ------------------------------------------------------------------ */ /** * The BigDecimal class implements immutable arbitrary-precision decimal numbers. The methods of the * BigDecimal class provide operations for fixed and floating point arithmetic, comparison, format * conversions, and hashing. *

    * As the numbers are decimal, there is an exact correspondence between an instance of a BigDecimal object * and its String representation; the BigDecimal class provides direct conversions to and from * String and character array (char[]) objects, as well as conversions to and from the Java * primitive types (which may not be exact) and BigInteger. *

    * In the descriptions of constructors and methods in this documentation, the value of a BigDecimal number * object is shown as the result of invoking the toString() method on the object. The internal * representation of a decimal number is neither defined nor exposed, and is not permitted to affect the result of any * operation. *

    * The floating point arithmetic provided by this class is defined by the ANSI X3.274-1996 standard, and is also * documented at http://www2.hursley.ibm.com/decimal
    * [This URL will change.] * *

    Operator methods

    *

    * Operations on BigDecimal numbers are controlled by a {@link MathContext} object, which provides the * context (precision and other information) for the operation. Methods that can take a MathContext * parameter implement the standard arithmetic operators for BigDecimal objects and are known as * operator methods. The default settings provided by the constant {@link MathContext#DEFAULT} (digits=9, * form=SCIENTIFIC, lostDigits=false, roundingMode=ROUND_HALF_UP) perform general-purpose floating point * arithmetic to nine digits of precision. The MathContext parameter must not be null. *

    * Each operator method also has a version provided which does not take a MathContext parameter. For this * version of each method, the context settings used are digits=0, * form=PLAIN, lostDigits=false, roundingMode=ROUND_HALF_UP; these settings perform fixed point arithmetic with * unlimited precision, as defined for the original BigDecimal class in Java 1.1 and Java 1.2. *

    * For monadic operators, only the optional MathContext parameter is present; the operation acts upon the * current object. *

    * For dyadic operators, a BigDecimal parameter is always present; it must not be null. The * operation acts with the current object being the left-hand operand and the BigDecimal parameter being * the right-hand operand. *

    * For example, adding two BigDecimal objects referred to by the names award and * extra could be written as any of: *

    * * award.add(extra) *
    award.add(extra, MathContext.DEFAULT) *
    award.add(extra, acontext) *
    *

    * (where acontext is a MathContext object), which would return a BigDecimal * object whose value is the result of adding award and extra under the appropriate context * settings. *

    * When a BigDecimal operator method is used, a set of rules define what the result will be (and, by * implication, how the result would be represented as a character string). These rules are defined in the BigDecimal * arithmetic documentation (see the URL above), but in summary: *