<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi Timothy,</p>
<p><br>
</p>
<p>do you also know Unicode class and, in particular, its class variables and its testing selectors? Not sure whether this is on the same abstraction level as your work - just wanted to add this pointer.</p>
<p><br>
</p>
<p>Also note that Unicode class's character classification does not yet support UTF-16 characters - I have added this to my todo-list some disgracefully long time ago [1] and not yet managed to return back to this issue (so sorry, Levente!).</p>
<p><br>
</p>
<p>Best,</p>
<p>Christoph</p>
<p><br>
</p>
<p>[1] <a href="http://forum.world.st/Unicode-td5113495.html" class="OWAAutoLink" id="LPlnk861122" previewremoved="true">http://forum.world.st/Unicode-td5113495.html</a></p>
<br>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div>
<div class="_rp_T4" id="Item.MessagePartBody">
<div class="_rp_U4 ms-font-weight-regular ms-font-color-neutralDark rpHighlightAllClass rpHighlightBodyClass" id="Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont">
<div><font size="3" color="black"><span style="font-size:12pt"><a href="http://www.hpi.de/" target="_blank" rel="noopener noreferrer" id="LPNoLP"><font size="2"><span id="LPlnk909538"><font color="#757B80"></font></span></font></a></span></font></div>
</font></div>
</div>
</font></div>
</div>
</div>
</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von gettimothy via Squeak-dev <squeak-dev@lists.squeakfoundation.org><br>
<b>Gesendet:</b> Montag, 1. Februar 2021 15:30:29<br>
<b>An:</b> eric.gade@gmail.com<br>
<b>Cc:</b> squeak-dev@lists.squeakfoundation.org<br>
<b>Betreff:</b> Re: [squeak-dev] Unicode Ranges you might want to copy</font>
<div> </div>
</div>
<div>
<div style="font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;">Hi Eric<br>
<br>
<br>
Thanks for the heads up!<br>
<br>
Doing some lite browsing on the matter, I found these resources....<br>
<br>
https://unicode-table.com/en/#control-character<br>
 https://css-tricks.com/almanac/properties/u/unicode-range/<br>
 http://www.alanwood.net/unicode/alphabetic_presentation_forms.html<br>
<br>
<br>
<br>
That last one  looks very useful  and I will ve working through it.<br>
<br>
The middle one claims that fonts can be loaded dynamically when needed.<br>
<br>
An intersting thing is that the alan wood site displays the $ sign under the currency range, but the jgraphix  website does not!<br>
<br>
<br>
It is also somewhat apparent that  "like" ranges are not contigous.<br>
<br>
Thanjs again for your gelp!<br>
<br>
Cheers,   <br>
<div id="message"></div>
<br id="br3">
<div id="signature"></div>
<div id="content"><br>
---- On Mon, 01 Feb 2021 08:57:32 -0500 <b>eric.gade@gmail.com </b>wrote ----<br>
<br>
<blockquote style="border-left: 1px solid rgb(204, 204, 204); padding-left: 6px; margin-left: 5px;">
<div>
<div dir="ltr">
<div>Hi Timothy,</div>
<div><br>
</div>
<div>I spent several (fruitless) days last year trying to get cuneiform fonts to render properly in Squeak (see
<a href="https://www.hethport.uni-wuerzburg.de/cuneifont/" target="_blank">here</a> for examples of the fonts). There does seem to be an issue with rendering glyphs above a certain code point from what I recall. I am definitely interested in your work and what
 you end up finding out.<br>
</div>
</div>
<br>
<div class="x_369903778gmail_quote">
<div dir="ltr" class="x_369903778gmail_attr">On Sun, Jan 31, 2021 at 7:20 AM gettimothy via Squeak-dev <<a href="mailto:squeak-dev@lists.squeakfoundation.org" target="_blank">squeak-dev@lists.squeakfoundation.org</a>> wrote:<br>
</div>
<blockquote class="x_369903778gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left: 1.0px solid rgb(204,204,204);padding-left: 1.0ex;">
<u></u>
<div>
<div style="font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;">
<div>Hi Folks,<br>
</div>
<div><br>
</div>
<div>You might find the below handy.<br>
</div>
<div><br>
</div>
<div>Fwiw, I have coded the UnicodeRangeBrowser  SeasideApp to display all the below (it times out before all display, I will be doing refactor and more development).<br>
</div>
<div><br>
</div>
<div>I am also coding a utility class to provide information such as below in a variety of ways.<br>
</div>
<div><br>
</div>
<div>fwiw, here are my current todo notes for this font information.<br>
</div>
<div><br>
</div>
<div>
<blockquote style="border: 1.0px solid rgb(204,204,204);padding: 7.0px;background-color: rgb(245,245,245);">
<div>unifont<br>
</div>
<div><br>
</div>
<div>provide link to the unicode spec.<br>
</div>
<div>provide browser fonts list.<br>
</div>
<div>provide squeak fonts list.<br>
</div>
<div>provide phare fonts list ^self squeak fonts list:<br>
</div>
<div>what are Variant Selectors ?<br>
</div>
<div><br>
</div>
<div>show gaps in the ranges.<br>
</div>
<div><br>
</div>
<div>provide a link(s) to required fonts that will make a range display.<br>
</div>
<div>displays on: browser list, squeak, emacs, xterm...<br>
</div>
<div>status bar...broken, partial, full.<br>
</div>
<div>use cases for fonts<br>
</div>
<div>pairs with xyz   example superscripts and subscripts<br>
</div>
</blockquote>
<br>
</div>
<div>The goal is to show what works and to find/test fonts that will support stuff.<br>
</div>
<div>I am modelling the Seaside app on <a href="https://jrgraphix.net/research/unicode_blocks.php" target="_blank">https://jrgraphix.net/research/unicode_blocks.php</a>  <br>
</div>
<div>But...for each unicode range, I intend to display smalltalk specific helpers on what/where to get fonts for both the browser side and the image side.<br>
</div>
<div><br>
</div>
<div>--------------snip -------------------<br>
</div>
<div><br>
</div>
<div>(16r000020 asCharacter to: 16r00007F asCharacter) -> 'Basic Latin'<br>
</div>
<div>(16r0000A0 asCharacter to: 16r0000FF asCharacter) -> 'Latin-1 Supplement'<br>
</div>
<div>(16r000100 asCharacter to: 16r00017F asCharacter) -> 'Latin Extended-A'<br>
</div>
<div>(16r000180 asCharacter to: 16r00024F asCharacter) -> 'Latin Extended-B'<br>
</div>
<div>(16r000250 asCharacter to: 16r0002AF asCharacter) -> 'IPA Extensions'<br>
</div>
<div>(16r0002B0 asCharacter to: 16r0002FF asCharacter) -> 'Spacing Modifier Letters'<br>
</div>
<div>(16r000300 asCharacter to: 16r00036F asCharacter) -> 'Combining Diacritical Marks'<br>
</div>
<div>(16r000370 asCharacter to: 16r0003FF asCharacter) -> 'Greek and Coptic'<br>
</div>
<div>(16r000400 asCharacter to: 16r0004FF asCharacter) -> 'Cyrillic'<br>
</div>
<div>(16r000500 asCharacter to: 16r00052F asCharacter) -> 'Cyrillic Supplementary'<br>
</div>
<div>(16r000530 asCharacter to: 16r00058F asCharacter) -> 'Armenian'<br>
</div>
<div>(16r000590 asCharacter to: 16r0005FF asCharacter) -> 'Hebrew'<br>
</div>
<div>(16r000600 asCharacter to: 16r0006FF asCharacter) -> 'Arabic'<br>
</div>
<div>(16r000700 asCharacter to: 16r00074F asCharacter) -> 'Syriac'<br>
</div>
<div>(16r000780 asCharacter to: 16r0007BF asCharacter) -> 'Thaana'<br>
</div>
<div>(16r000900 asCharacter to: 16r00097F asCharacter) -> 'Devanagari'<br>
</div>
<div>(16r000980 asCharacter to: 16r0009FF asCharacter) -> 'Bengali'<br>
</div>
<div>(16r000A00 asCharacter to: 16r000A7F asCharacter) -> 'Gurmukhi'<br>
</div>
<div>(16r000A80 asCharacter to: 16r000AFF asCharacter) -> 'Gujarati'<br>
</div>
<div>(16r000B00 asCharacter to: 16r000B7F asCharacter) -> 'Oriya'<br>
</div>
<div>(16r000B80 asCharacter to: 16r000BFF asCharacter) -> 'Tamil'<br>
</div>
<div>(16r000C00 asCharacter to: 16r000C7F asCharacter) -> 'Telugu'<br>
</div>
<div>(16r000C80 asCharacter to: 16r000CFF asCharacter) -> 'Kannada'<br>
</div>
<div>(16r000D00 asCharacter to: 16r000D7F asCharacter) -> 'Malayalam'<br>
</div>
<div>(16r000D80 asCharacter to: 16r000DFF asCharacter) -> 'Sinhala'<br>
</div>
<div>(16r000E00 asCharacter to: 16r000E7F asCharacter) -> 'Thai'<br>
</div>
<div>(16r000E80 asCharacter to: 16r000EFF asCharacter) -> 'Lao'<br>
</div>
<div>(16r000F00 asCharacter to: 16r000FFF asCharacter) -> 'Tibetan'<br>
</div>
<div>(16r001000 asCharacter to: 16r00109F asCharacter) -> 'Myanmar'<br>
</div>
<div>(16r0010A0 asCharacter to: 16r0010FF asCharacter) -> 'Georgian'<br>
</div>
<div>(16r001100 asCharacter to: 16r0011FF asCharacter) -> 'Hangul Jamo'<br>
</div>
<div>(16r001200 asCharacter to: 16r00137F asCharacter) -> 'Ethiopic'<br>
</div>
<div>(16r0013A0 asCharacter to: 16r0013FF asCharacter) -> 'Cherokee'<br>
</div>
<div>(16r001400 asCharacter to: 16r00167F asCharacter) -> 'Unified Canadian Aboriginal Syllabics'<br>
</div>
<div>(16r001680 asCharacter to: 16r00169F asCharacter) -> 'Ogham'<br>
</div>
<div>(16r0016A0 asCharacter to: 16r0016FF asCharacter) -> 'Runic'<br>
</div>
<div>(16r001700 asCharacter to: 16r00171F asCharacter) -> 'Tagalog'<br>
</div>
<div>(16r001720 asCharacter to: 16r00173F asCharacter) -> 'Hanunoo'<br>
</div>
<div>(16r001740 asCharacter to: 16r00175F asCharacter) -> 'Buhid'<br>
</div>
<div>(16r001760 asCharacter to: 16r00177F asCharacter) -> 'Tagbanwa'<br>
</div>
<div>(16r001780 asCharacter to: 16r0017FF asCharacter) -> 'Khmer'<br>
</div>
<div>(16r001800 asCharacter to: 16r0018AF asCharacter) -> 'Mongolian'<br>
</div>
<div>(16r001900 asCharacter to: 16r00194F asCharacter) -> 'Limbu'<br>
</div>
<div>(16r001950 asCharacter to: 16r00197F asCharacter) -> 'Tai Le'<br>
</div>
<div>(16r0019E0 asCharacter to: 16r0019FF asCharacter) -> 'Khmer Symbols'<br>
</div>
<div>(16r001D00 asCharacter to: 16r001D7F asCharacter) -> 'Phonetic Extensions'<br>
</div>
<div>(16r001E00 asCharacter to: 16r001EFF asCharacter) -> 'Latin Extended Additional'<br>
</div>
<div>(16r001F00 asCharacter to: 16r001FFF asCharacter) -> 'Greek Extended'<br>
</div>
<div>(16r002000 asCharacter to: 16r00206F asCharacter) -> 'General Punctuation'<br>
</div>
<div>(16r002070 asCharacter to: 16r00209F asCharacter) -> 'Superscripts and Subscripts'<br>
</div>
<div>(16r0020A0 asCharacter to: 16r0020CF asCharacter) -> 'Currency Symbols'<br>
</div>
<div>(16r0020D0 asCharacter to: 16r0020FF asCharacter) -> 'Combining Diacritical Marks for Symbols'<br>
</div>
<div>(16r002100 asCharacter to: 16r00214F asCharacter) -> 'Letterlike Symbols'<br>
</div>
<div>(16r002150 asCharacter to: 16r00218F asCharacter) -> 'Number Forms'<br>
</div>
<div>(16r002190 asCharacter to: 16r0021FF asCharacter) -> 'Arrows'<br>
</div>
<div>(16r002200 asCharacter to: 16r0022FF asCharacter) -> 'Mathematical Operators'<br>
</div>
<div>(16r002300 asCharacter to: 16r0023FF asCharacter) -> 'Miscellaneous Technical'<br>
</div>
<div>(16r002400 asCharacter to: 16r00243F asCharacter) -> 'Control Pictures'<br>
</div>
<div>(16r002440 asCharacter to: 16r00245F asCharacter) -> 'Optical Character Recognition'<br>
</div>
<div>(16r002460 asCharacter to: 16r0024FF asCharacter) -> 'Enclosed Alphanumerics'<br>
</div>
<div>(16r002500 asCharacter to: 16r00257F asCharacter) -> 'Box Drawing'<br>
</div>
<div>(16r002580 asCharacter to: 16r00259F asCharacter) -> 'Block Elements'<br>
</div>
<div>(16r0025A0 asCharacter to: 16r0025FF asCharacter) -> 'Geometric Shapes'<br>
</div>
<div>(16r002600 asCharacter to: 16r0026FF asCharacter) -> 'Miscellaneous Symbols'<br>
</div>
<div>(16r002700 asCharacter to: 16r0027BF asCharacter) -> 'Dingbats'<br>
</div>
<div>(16r0027C0 asCharacter to: 16r0027EF asCharacter) -> 'Miscellaneous Mathematical Symbols-A'<br>
</div>
<div>(16r0027F0 asCharacter to: 16r0027FF asCharacter) -> 'Supplemental Arrows-A'<br>
</div>
<div>(16r002800 asCharacter to: 16r0028FF asCharacter) -> 'Braille Patterns'<br>
</div>
<div>(16r002900 asCharacter to: 16r00297F asCharacter) -> 'Supplemental Arrows-B'<br>
</div>
<div>(16r002980 asCharacter to: 16r0029FF asCharacter) -> 'Miscellaneous Mathematical Symbols-B'<br>
</div>
<div>(16r002A00 asCharacter to: 16r002AFF asCharacter) -> 'Supplemental Mathematical Operators'<br>
</div>
<div>(16r002B00 asCharacter to: 16r002BFF asCharacter) -> 'Miscellaneous Symbols and Arrows'<br>
</div>
<div>(16r002E80 asCharacter to: 16r002EFF asCharacter) -> 'CJK Radicals Supplement'<br>
</div>
<div>(16r002F00 asCharacter to: 16r002FDF asCharacter) -> 'Kangxi Radicals'<br>
</div>
<div>(16r002FF0 asCharacter to: 16r002FFF asCharacter) -> 'Ideographic Description Characters'<br>
</div>
<div>(16r003000 asCharacter to: 16r00303F asCharacter) -> 'CJK Symbols and Punctuation'<br>
</div>
<div>(16r003040 asCharacter to: 16r00309F asCharacter) -> 'Hiragana'<br>
</div>
<div>(16r0030A0 asCharacter to: 16r0030FF asCharacter) -> 'Katakana'<br>
</div>
<div>(16r003100 asCharacter to: 16r00312F asCharacter) -> 'Bopomofo'<br>
</div>
<div>(16r003130 asCharacter to: 16r00318F asCharacter) -> 'Hangul Compatibility Jamo'<br>
</div>
<div>(16r003190 asCharacter to: 16r00319F asCharacter) -> 'Kanbun'<br>
</div>
<div>(16r0031A0 asCharacter to: 16r0031BF asCharacter) -> 'Bopomofo Extended'<br>
</div>
<div>(16r0031F0 asCharacter to: 16r0031FF asCharacter) -> 'Katakana Phonetic Extensions'<br>
</div>
<div>(16r003200 asCharacter to: 16r0032FF asCharacter) -> 'Enclosed CJK Letters and Months'<br>
</div>
<div>(16r003300 asCharacter to: 16r0033FF asCharacter) -> 'CJK Compatibility'<br>
</div>
<div>(16r003400 asCharacter to: 16r004DBF asCharacter) -> 'CJK Unified Ideographs Extension A'<br>
</div>
<div>(16r004DC0 asCharacter to: 16r004DFF asCharacter) -> 'Yijing Hexagram Symbols'<br>
</div>
<div>(16r004E00 asCharacter to: 16r009FFF asCharacter) -> 'CJK Unified Ideographs'<br>
</div>
<div>(16r00A000 asCharacter to: 16r00A48F asCharacter) -> 'Yi Syllables'<br>
</div>
<div>(16r00A490 asCharacter to: 16r00A4CF asCharacter) -> 'Yi Radicals'<br>
</div>
<div>(16r00AC00 asCharacter to: 16r00D7AF asCharacter) -> 'Hangul Syllables'<br>
</div>
<div>(16r00D800 asCharacter to: 16r00DB7F asCharacter) -> 'High Surrogates'<br>
</div>
<div>(16r00DB80 asCharacter to: 16r00DBFF asCharacter) -> 'High Private Use Surrogates'<br>
</div>
<div>(16r00DC00 asCharacter to: 16r00DFFF asCharacter) -> 'Low Surrogates'<br>
</div>
<div>(16r00E000 asCharacter to: 16r00F8FF asCharacter) -> 'Private Use Area'<br>
</div>
<div>(16r00F900 asCharacter to: 16r00FAFF asCharacter) -> 'CJK Compatibility Ideographs'<br>
</div>
<div>(16r00FB00 asCharacter to: 16r00FB4F asCharacter) -> 'Alphabetic Presentation Forms'<br>
</div>
<div>(16r00FB50 asCharacter to: 16r00FDFF asCharacter) -> 'Arabic Presentation Forms-A'<br>
</div>
<div>(16r00FE00 asCharacter to: 16r00FE0F asCharacter) -> 'Variation Selectors'<br>
</div>
<div>(16r00FE20 asCharacter to: 16r00FE2F asCharacter) -> 'Combining Half Marks'<br>
</div>
<div>(16r00FE30 asCharacter to: 16r00FE4F asCharacter) -> 'CJK Compatibility Forms'<br>
</div>
<div>(16r00FE50 asCharacter to: 16r00FE6F asCharacter) -> 'Small Form Variants'<br>
</div>
<div>(16r00FE70 asCharacter to: 16r00FEFF asCharacter) -> 'Arabic Presentation Forms-B'<br>
</div>
<div>(16r00FF00 asCharacter to: 16r00FFEF asCharacter) -> 'Halfwidth and Fullwidth Forms'<br>
</div>
<div>(16r00FFF0 asCharacter to: 16r00FFFF asCharacter) -> 'Specials'<br>
</div>
<div>(16r010000 asCharacter to: 16r01007F asCharacter) -> 'Linear B Syllabary'<br>
</div>
<div>(16r010080 asCharacter to: 16r0100FF asCharacter) -> 'Linear B Ideograms'<br>
</div>
<div>(16r010100 asCharacter to: 16r01013F asCharacter) -> 'Aegean Numbers'<br>
</div>
<div>(16r010300 asCharacter to: 16r01032F asCharacter) -> 'Old Italic'<br>
</div>
<div>(16r010330 asCharacter to: 16r01034F asCharacter) -> 'Gothic'<br>
</div>
<div>(16r010380 asCharacter to: 16r01039F asCharacter) -> 'Ugaritic'<br>
</div>
<div>(16r010400 asCharacter to: 16r01044F asCharacter) -> 'Deseret'<br>
</div>
<div>(16r010450 asCharacter to: 16r01047F asCharacter) -> 'Shavian'<br>
</div>
<div>(16r010480 asCharacter to: 16r0104AF asCharacter) -> 'Osmanya'<br>
</div>
<div>(16r010800 asCharacter to: 16r01083F asCharacter) -> 'Cypriot Syllabary'<br>
</div>
<div>(16r01D000 asCharacter to: 16r01D0FF asCharacter) -> 'Byzantine Musical Symbols'<br>
</div>
<div>(16r01D100 asCharacter to: 16r01D1FF asCharacter) -> 'Musical Symbols'<br>
</div>
<div>(16r01D300 asCharacter to: 16r01D35F asCharacter) -> 'Tai Xuan Jing Symbols'<br>
</div>
<div>(16r01D400 asCharacter to: 16r01D7FF asCharacter) -> 'Mathematical Alphanumeric Symbols'<br>
</div>
<div>(16r020000 asCharacter to: 16r02A6DF asCharacter) -> 'CJK Unified Ideographs Extension B'<br>
</div>
<div>(16r02F800 asCharacter to: 16r02FA1F asCharacter) -> 'CJK Compatibility Ideographs Supplement'<br>
</div>
<div>(16r0E0000 asCharacter to: 16r0E007F asCharacter) -> 'Tags'<br>
</div>
<div><br>
</div>
</div>
<br>
</div>
<br>
</blockquote>
</div>
<br>
<br>
-- <br>
<div dir="ltr" class="x_369903778gmail_signature">
<div dir="ltr">
<div>Eric</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
<br>
</div>
</body>
</html>