diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/org/madore/android/unicodeMap/UnicodeCharacter.java | 15 | ||||
| -rw-r--r-- | src/org/madore/android/unicodeMap/UnicodeMapActivity.java | 18 | 
2 files changed, 31 insertions, 2 deletions
| diff --git a/src/org/madore/android/unicodeMap/UnicodeCharacter.java b/src/org/madore/android/unicodeMap/UnicodeCharacter.java index 0228644..89c83be 100644 --- a/src/org/madore/android/unicodeMap/UnicodeCharacter.java +++ b/src/org/madore/android/unicodeMap/UnicodeCharacter.java @@ -233,7 +233,8 @@ public class UnicodeCharacter implements UnicodeDisplayable {  	TAGS(0xE0000, 0xE007F, "Tags"),  	VARIATION_SELECTORS_SUPPLEMENT(0xE0100, 0xE01EF, "Variation Selectors Supplement"),  	SUPPLEMENTARY_PRIVATE_USE_AREA_A(0xF0000, 0xFFFFF, "Supplementary Private Use Area-A"), -	SUPPLEMENTARY_PRIVATE_USE_AREA_B(0x100000, 0x10FFFF, "Supplementary Private Use Area-B"); +	SUPPLEMENTARY_PRIVATE_USE_AREA_B(0x100000, 0x10FFFF, "Supplementary Private Use Area-B"), +	UNASSIGNED(0x110000, 0x110000, "Not Assigned");  	protected final int from;  protected final int to;  	protected final String descr;  	Range(int from, int last, String descr) { @@ -422,6 +423,7 @@ public class UnicodeCharacter implements UnicodeDisplayable {      protected final int codePoint;      protected final String name; +    protected Range range;      protected final Category category;      protected final boolean isUnicode;      protected final String charStr; @@ -441,6 +443,7 @@ public class UnicodeCharacter implements UnicodeDisplayable {      public UnicodeCharacter(int codePoint, String name, Category category) {  	this.codePoint = codePoint;  	this.name = name; +	this.range = null;  	this.category = category;  	this.isUnicode = true;  	this.charStr = makeCharStr(); @@ -451,6 +454,7 @@ public class UnicodeCharacter implements UnicodeDisplayable {  			    boolean isUnicode) {  	this.codePoint = codePoint;  	this.name = name; +	this.range = null;  	this.category = category;  	this.isUnicode = isUnicode;  	this.charStr = makeCharStr(); @@ -465,6 +469,15 @@ public class UnicodeCharacter implements UnicodeDisplayable {  	return this.name;      } +    public Range getRange() { +	if ( this.range != null ) +	    return this.range; +	for ( Range r : Range.values() ) +	    if ( this.codePoint >= r.from && this.codePoint < r.to ) +		return this.range = r; +	return this.range = Range.UNASSIGNED; +    } +      public Category getCategory() {  	return this.category;      } diff --git a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java index 57e6a5e..c72549d 100644 --- a/src/org/madore/android/unicodeMap/UnicodeMapActivity.java +++ b/src/org/madore/android/unicodeMap/UnicodeMapActivity.java @@ -191,7 +191,8 @@ public final class UnicodeMapActivity extends ListActivity {  		     && rng != UnicodeCharacter.Range.LOW_SURROGATES  		     && rng != UnicodeCharacter.Range.PRIVATE_USE_AREA  		     && rng != UnicodeCharacter.Range.SUPPLEMENTARY_PRIVATE_USE_AREA_A -		     && rng != UnicodeCharacter.Range.SUPPLEMENTARY_PRIVATE_USE_AREA_B ) +		     && rng != UnicodeCharacter.Range.SUPPLEMENTARY_PRIVATE_USE_AREA_B +		     && rng != UnicodeCharacter.Range.UNASSIGNED )  		    list.add(rng);  	    disp.setListCache(list);  	    adapter = new UnicodeArrayAdapter(this, list); @@ -339,6 +340,8 @@ public final class UnicodeMapActivity extends ListActivity {  		    fmt.format(" 0x%02x", bytes[i]);  		text.setText(new String(s));  		textMakeSelectableIfPossible(text); +		text = (TextView) dialog.findViewById(R.id.rangeLabel); +		text.setText(itch.getRange().getDescr());  		text = (TextView) dialog.findViewById(R.id.categoryLabel);  		text.setText(itch.getCategory().getDescr());  		final Button copyCharButton = (Button) dialog.findViewById(R.id.copyCharButton); @@ -358,6 +361,19 @@ public final class UnicodeMapActivity extends ListActivity {  			    textForm.append(itch.getChar());  			}  		    }); +		final Button copyCodeButton = (Button) dialog.findViewById(R.id.copyCodeButton); +		copyCodeButton.setOnClickListener(new View.OnClickListener() { +			public void onClick(View view) { +			    dialog.dismiss(); +			    StringBuilder s = new StringBuilder(); +			    Formatter fmt = new Formatter(s); +			    fmt.format("%04X", itch.getCodePoint()); +			    cmgr.setText(new String(s)); +			    Toast.makeText(UnicodeMapActivity.this, +					   R.string.copied_toast, +					   Toast.LENGTH_SHORT).show(); +			} +		    });  		final Button copyNameButton = (Button) dialog.findViewById(R.id.copyNameButton);  		copyNameButton.setOnClickListener(new View.OnClickListener() {  			public void onClick(View view) { | 
