Wednesday, 2 January 2013

Unicode and Hangul

One of the Unicode blocks is Hangul Syllables, codepoints U+AC00➜U+D7AF. Each character in this block has a formal Unicode name written in upper case Latin eg

  • U+AC85 겅 HANGUL SYLLABLE GEONG
  • U+B268 뉨 HANGUL SYLLABLE NWIM
I draw your attention to the last word in the Unicode name. This may appear to be a string of random  Latin characters. If though you use the Mac OSX GongjinCheong Romaja Input Method this string represents the sequence of key presses required to produce the Hangul Syllable. So, taking the first example above, typing the key sequence GEONG will produce the Hangul character 겅.

There are two cases where one needs to augment the key sequence in order to write the Hangul character.

  1. When the syllable begins with a vowel then one needs to prefix with the silent placeholder ㅇwhich in the GongjinCheong Romaja Input Method is produced by typing X. Thus, U+C54B 앋 HANGUL SYLLABLE AD, is produced by typing the key sequence XAD
  2. When the syllable ends with ㄲ or ㅆ then one needs to type ⇧G or ⇧S, respectively. Thus, U+AC14 갔 HANGUL SYLLABLE GASS, is produced by typing the key sequence GA⇧S
Notes:
  • Unicode characters can be viewed on Mac OSX using Character Viewer
  • The GongjinCheong Romaja Input Method is enabled in System Preferences➞Language & Text➞Input Sources

Friday, 19 October 2012

Twitter Character Count

In a previous article I examined Sina Wēibó 新浪微博 character count for a user post schappo.blogspot.co.uk/2012/10/weibo-character-count.html Lets now examine twitter. The stated and generally understood limit is 140 characters for a tweet. This is not strictly true. The actual tweet limit is variable and ranges from 70 to 140, inclusive. Different characters have different counts, as follows:

  • Characters from Unicode range U+0000➜U+FFFF have a count of 1
  • Characters from Unicode range ≥ U+010000 have a count of 2
Or, to put it another way — Characters in the Basic Multilingual Plane (BMP) have a count of 1 and characters in the other planes have a count of 2. The 2 Mahjong Tile characters used in the example below are from the Supplementary Multilingual Plane (SMP).

Lets illustrate with a made-up posting that contains characters from the 2 Unicode ranges, above. The following text has a tweet character count of 17.
  • one two 🀂一二三四五🀀
  • 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 2 + 1 + 1 + 1 + 1 + 1 + 2 = 17

Saturday, 6 October 2012

Weibo Character Count

Same as all the other microblog systems I have encountered, Sina Wēibó 新浪微博 has a 140 character limit for a user post. This is not strictly accurate. The character limit is variable and ranges from 70 to 280, inclusive. It depends on which characters are included. Different characters have different counts, as follows:
  1. Characters from Unicode range U+0000➜U+00FF have a count of 0.5
  2. Characters from Unicode range U+0100➜U+FFFF have a count of 1
  3. Characters from Unicode range ≥ U+010000 have a count of 2
Some of the consequences of these differing counts are:

  • If one writes in everyday English then one has up to 280 characters as these will be Latin characters in Unicode blocks Basic Latin and Latin-1 Supplement U+0000➜U+00FF. The Latin Script does though occur in several Unicode blocks en.wikipedia.org/wiki/Latin_characters_in_Unicode. Latin characters in Unicode blocks other than Basic Latin and Latin-1 Supplement will have counts of 1 or 2 and usage of them will reduce the 280 limit.
  • For a Chinese only post then if all the Chinese characters used are in the Unicode Basic Multilingual Plane (BMP) then the limit will be the accepted 140 characters. There are many Chinese characters outside of the BMP and because they have a count of 2, usage of these will reduce the 140 limit. The extreme case being a limit of 70 if all characters used are Chinese characters outside of the BMP.
  • In recent releases of OSX and iOS, Apple incorporated Emoji characters en.wikipedia.org/wiki/Emoji The majority of these Emoji characters are outside the BMP (ie ≥ U+010000) and so will have a count of 2.
Lets illustrate with a nonsensical posting that contains characters from the 3 Unicode ranges, above. The following text has a Weibo character count of 13.

  • one two 🀂一二三四五🀀
  • 0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 0.5 + 2 + 1 + 1 + 1 + 1 + 1 + 2 = 13

Tuesday, 24 July 2012

My Adopted Chinese Name

In China there is a very famous Canadian by the name of Mark Rowswell dashan.com. One of the reasons he is so famous in China is that his Chinese is very very good. His adopted Chinese name is 大山 (dàshān) which means great or large mountain.

Several years ago I decided to also adopt a Chinese name. One day a name popped into my mind. Mark's Chinese is very good but my Chinese is only basic. Consequently, I chose the name 小山 (xiǎoshān) which means little mountain ☺

An advantage of having an adopted name is that one can change it and I can change it to reflect my progress in mastering the Chinese language. So as my Chinese improves I can change it to 中山 (zhōngshān) which means middle mountain. Then 大山 (dàshān) and finally, if I ever reach this level of proficiency, 巨山 (jùshān) which means gigantic mountain.

There are though, some days when I think my Chinese is so poor that maybe my adopted name should be 微山 (Wēishān) as this means micro mountain.

Monday, 27 February 2012

Western Brands on Weibo

The purpose of this article is to list some of the Western Companies/Brands that are using China's Sina Wēibó 新浪微博. Those marked with a ☆ are using the Enterprise version 企业版 which allows open access to all postings. The text in the square brackets is the Sina Wēibó 新浪微博 name. This article is a continuation of schappo.blogspot.co.uk/2011/08/companies-on-sina.html
Note: If the links listed below do not work for you then please visit my China Blog blog.sina.com.cn/s/blog_6fab5412010130zq.html where the links will work just fine.
  1. 7 For All Mankind [@7ForAllMankind] weibo.com/7forallmankind
  2. Abercrombie & Fitch [@Abercrombie] weibo.com/abercrombieny
  3. Accenture [@埃森哲中国] weibo.com/acnchina
  4. Accor Hotels [@雅高酒店AccorHotels] weibo.com/accorchina
  5. Air Liquide [@液空中国] weibo.com/airliquidechina
  6. AKG [@雅登-AKG中国] weibo.com/akgchina
  7. AkzoNobel [@阿克苏诺贝尔中国] weibo.com/akzonobelinchina
  8. Alberta Ferretti [@AlbertaFerretti] weibo.com/albertaferretti
  9. ALDO [@ALDO1972] weibo.com/n/ALDO1972
  10. Allen Edmonds [@AllenEdmonds中国] weibo.com/allenedmondschina
  11. Allianz Insurance [@安联保险-Allianz] weibo.com/allianzone
  12. Alpenliebe [@微有爱] weibo.com/alpenliebekindness
  13. American Express [@美国运通中国官方微博] weibo.com/amexchina
  14. Argos [@Argos爱顾商城] weibo.com/2720491021
  15. Associated Press [@美联社] weibo.com/apimages
  16. Aston Martin [@阿斯顿马丁拉共达] weibo.com/astonmartinlagondacn
  17. AVIS [@AVIS安飞士租车] weibo.com/avischina
  18. Balenciaga [@Balenciaga] weibo.com/officialbalenciaga
  19. Balmain [@瑞士宝曼手表] weibo.com/balmainwatches
  20. Barbie [@Barbie芭比官方微博] weibo.com/barbieofficial
  21. BASF [@巴斯夫大中华] weibo.com/basfinchina
  22. Bayer [@拜耳中国官方微博] weibo.com/bayerchina
  23. Bentley Motors [@宾利BentleyMotors] weibo.com/bentleymotorsuk
  24. Best Buy [@BestBuy百思买] weibo.com/bestbuycn
  25. Blue Nile Inc [@BlueNileInc] weibo.com/bluenileinc
  26. Bobbi Brown [@BobbiBrownChina] weibo.com/bobbibrownchina
  27. Bonpoint [@Bonpoint-中国] weibo.com/bonpoint
  28. Bosch [@博世中国] weibo.com/boschauto
  29. Breitling [@百年灵BREITLING] weibo.com/breitlingchina
  30. Bremont [@BREMONTwatch] weibo.com/bremont
  31. British Airways [@英国航空] weibo.com/britishairways
  32. Brompton Bicycle [@Brompton_bicycle_伯龙腾] weibo.com/bromptonbicycle
  33. BVLGARI [@BVLGARI宝格丽] weibo.com/bulgari
  34. BVLGARI Perfume [@宝格丽香水] weibo.com/bulgariperfume
  35. Cambridge Satchel Co. [@The_Cambridge_Satchel_Company] weibo.com/jianqiaobao
  36. Campo Marzio Design [@CampoMarzio中国区] weibo.com/campomarzio
  37. Caterpillar [@Caterpillar官方微博] weibo.com/caterpillarinchina
  38. Cath Kidston [@CathKidstonChina] weibo.com/cathkidstonchina
  39. Cheerios [@雀巢脆谷乐] weibo.com/nestlecheerios
  40. Chopard [@萧邦Chopard] weibo.com/chopardchina
  41. Christian Louboutin [@ChristianLouboutin官方微博] weibo.com/LouboutinWorld
  42. Christie's [@佳士得国际] weibo.com/christies
  43. Club Monaco [@Club_Monaco] weibo.com/clubmonaco
  44. CME Group [@CMEGroup] weibo.com/cmegroup
  45. Decanter [@Decanter醇鉴] weibo.com/decantercn
  46. Ducati [@杜卡迪中国] weibo.com/ducatichina
  47. Dulux [@多乐士Lets_Colour] weibo.com/letscolor
  48. DuPont [@杜邦公司] weibo.com/dupont
  49. eBay [@eBay] weibo.com/ebay
  50. Elizabeth Arden [@伊丽莎白雅顿美丽沙龙] weibo.com/elizabetharden
  51. EMC Corporation [@EMC中国-云计算] weibo.com/emcgreatchina
  52. Eppendorf [@eppendorf官方微博] weibo.com/eppendorfchina
  53. Ernst & Young [@安永EY] weibo.com/eyernstyoung
  54. Etro [@ETRO艾绰] weibo.com/etrochina
  55. Fairmont Hotels & Resorts [@费尔蒙酒店] weibo.com/fairmonthotels
  56. Fendi [@FENDI] weibo.com/fendi
  57. Financial Times [@FT中文网] weibo.com/ftchinese
  58. Firefox [@火狐] weibo.com/firefox
  59. Fisher-Price [@费雪中国官方微博] weibo.com/fisherprice
  60. Flipboard [@Flipboard] weibo.com/flipboard
  61. Freescale Semiconductor [@飞思卡尔] weibo.com/freescale
  62. Furla [@Furla_孚勒] weibo.com/furlaofficial
  63. G-Star RAW [@G-STARCHINA] weibo.com/gstarchina
  64. Geox [@健乐士GEOX] weibo.com/jianleshigeox
  65. Girard-Perregaux [@GP芝柏表] weibo.com/gpchina
  66. Glenmorangie [@格兰杰单一麦芽威士忌] weibo.com/glenmorangiechina
  67. GNC [@GNCLiveWell] weibo.com/gnclivewell
  68. GRAFF [@格拉夫GRAFF] weibo.com/graff
  69. Gregory Mountain Products [@Gregory官方微博] weibo.com/gregory1977
  70. Grey Goose [@法国灰雁GreyGoose] weibo.com/greygoosechina
  71. Gymboree [@金宝贝国际早教微课堂] weibo.com/gymboree
  72. H2O+ [@H2O水芝澳官方微博] weibo.com/h2ochina
  73. Hackett London [@Hackett-London] weibo.com/hackettlondon
  74. Halma [@HALMA中国] weibo.com/halma
  75. Harry Winston [@海瑞温斯顿HarryWinston] weibo.com/harrywinston
  76. Hasbro [@孩之宝中国] weibo.com/hasbrochina
  77. Holland & Barrett [@HollandAndBarrett] weibo.com/hollandandbarrett
  78. Hollister [@Hollister] weibo.com/hollistercalifornia
  79. Hooters [@美国猫头鹰餐厅-中国] weibo.com/hooterschina
  80. Hublot [@宇舶表] weibo.com/hublothanhan
  81. Hyatt [@凯悦酒店集团HYATT] weibo.com/hyatthotelscorp
  82. IBM [@IBM中国] weibo.com/ibm100
  83. IMAX [@IMAX] weibo.com/imax
  84. Irregular Choice [@IrregularChoice香港] weibo.com/irregularchoicehk
  85. IWC [@IWC万国表] weibo.com/iwcchina
  86. J.Lindeberg [@JLINDEBERG林德伯格] weibo.com/jlindeberg
  87. Jack Wolfskin [@JackWolfskin官方微博] weibo.com/jackwolfskingermany
  88. Jaeger-LeCoultre [@积家官方微博] weibo.com/jaegerlecoultrechina
  89. Kate Spade New York [@katespade官方微博] weibo.com/katespadeny
  90. Kipsta [@KIPSTA中国] http://weibo.com/kipstachina
  91. Kleenex [@舒洁kleenex] http://weibo.com/n/舒洁kleenex
  92. Lagostina [@拉歌蒂尼] weibo.com/lagostina
  93. Lana Marks [@LANA-MARKS-CHINA] weibo.com/lanamarks
  94. Lancaster [@兰嘉丝汀] weibo.com/lancasterchina
  95. Lindt [@Lindt瑞士莲巧克力] weibo.com/lindtchina
  96. Lonely Planet [@LonelyPlanet] weibo.com/lonelyplanet
  97. MAC Cosmetics [@MAC魅可] weibo.com/maccosmetics
  98. Manchester City FC [@曼城足球俱乐部MCFC] weibo.com/mcfcofficial
  99. Mango [@MANGO中国官网] weibo.com/mangofashion
  100. Marc Jacobs [@MarcJacobsIntl莫杰] weibo.com/marcjacobsintl
  101. Maria Luisa [@MARIA_LUISA] weibo.com/marialuisa
  102. Marimekko [@MARIMEKKO_玛莉美歌] weibo.com/marimekkoofficial
  103. Marmot [@Marmot中国] weibo.com/marmot001
  104. Marni [@MARNI] weibo.com/officialmarni
  105. Marvin Watches [@Marvin-瑞士摩纹表] weibo.com/marvinwatch
  106. MasterCard [@万事达人] weibo.com/mastercardchina
  107. Media Markt [@万得城电器] weibo.com/mediamarktchina
  108. Medtronic [@美敦力中国] weibo.com/medtronicchina
  109. Meltwater Group [@Meltwater] weibo.com/meltwater
  110. Mettler Toledo [@梅特勒-托利多中国] weibo.com/mettlertoledo
  111. Michael Kors [@Michael-Kors] weibo.com/michaelkors
  112. Monster Cable [@Monster-魔声中国] weibo.com/monsterchina
  113. Movado [@摩凡陀Movado] weibo.com/movado
  114. NASDAQ OMX [@纳斯达克交易所] weibo.com/nasdaqomx
  115. Neiman Marcus [@NeimanMarcus尼曼] weibo.com/neimanmarcuschina
  116. NERF [@孩之宝NERF-热火] weibo.com/ilovenerf
  117. New Balance [@新百伦newbalance] weibo.com/newbalanceofficial
  118. New York Times [@纽约时报中文网] weibo.com/nytchinese
  119. Nuxe Paris [@Nuxe欧树] weibo.com/nuxe
  120. Ovaltine [@阿华田Ovaltine] weibo.com/ovaltine001
  121. Pandora [@PANDORA珠宝] weibo.com/pandorajewellery
  122. Paul Smith [@PaulSmith_Official] weibo.com/paulsmithofficial
  123. Paula's Choice [@PaulasChoice宝拉珍选] weibo.com/paulaschoice01
  124. PayPal [@PayPal_China] weibo.com/paypalmarketing
  125. Penguin Books [@企鹅出版社] weibo.com/penguinbooks
  126. Perficient [@博克软件] weibo.com/perficientchina
  127. Peugeot Scooters [@标致摩托] weibo.com/peugeotscooters
  128. Piaget [@PIAGET] weibo.com/piaget
  129. Piaggio [@比亚乔机车] weibo.com/piaggio1884
  130. Pineider [@彼耐德Pineider] weibo.com/pineider
  131. Pizza Hut [@必胜客欢乐餐厅] weibo.com/pizzahut
  132. Pomellato [@Pomellato宝曼兰朵] weibo.com/pomellatoinchina
  133. Pony [@ponychina] weibo.com/ponychina
  134. Printemps [@春天百货Printemps] weibo.com/printempsparis
  135. Pull-in [@PULLIN内衣] weibo.com/pullinasia
  136. Rockport [@ROCKPORT美国乐步] weibo.com/rockportchina
  137. Roger Dubuis [@罗杰杜彼RogerDubuis] weibo.com/rogerdubuis
  138. Roger Vivier [@RogerVivier_罗杰维维亚] weibo.com/rogervivier
  139. Rupert Sanderson [@RupertSanderson] weibo.com/rupertsanderson
  140. Sergio Rossi [@sergio_rossi] weibo.com/sergiorossi
  141. Sheraton Hotels & Resorts [@喜来登酒店及度假村Sheraton] weibo.com/sheratonhotels
  142. Shopbop [@shopbop] weibo.com/shopbopchina
  143. Sigma-Aldrich [@SigmaAldrich] weibo.com/sigmaaldrich
  144. Skechers [@SKECHERS斯凯奇] weibo.com/skechers
  145. Standard Chartered Bank [@渣打银行中国] weibo.com/scbmainlandchina
  146. Stiebel Eltron [@斯宝亚创StiebelEltron] weibo.com/stiebeleltron
  147. Stroili Oro [@StroiliOro] weibo.com/stroilioro
  148. TAG Heuer [@豪雅TAGHeuer] weibo.com/tagheuerchina
  149. The Glenlivet [@格兰威特威士忌] weibo.com/theglenlivet
  150. Thermo Fisher Scientific [@赛默飞] weibo.com/thermofishercn
  151. Toblerone [@瑞士三角巧克力] weibo.com/toblerone
  152. Tom & Jerry [@华纳兄弟-猫和老鼠] weibo.com/tomandjerryoffical
  153. Topshop Shēnzhèn [@TOPSHOP深圳] weibo.com/topshopsz
  154. Tottenham Hotspur [@热刺TottenhamHotspur] weibo.com/tottenhamhotspur
  155. Truefitt & Hill [@TRUEFITT-HILL-CHINA] weibo.com/truefittandhill
  156. Valentino [@Valentino官方微博] weibo.com/valentinoofficial
  157. Van Cleef & Arples [@VanCleefArpels梵克雅宝] weibo.com/vancleefarpelschina
  158. Vichy Laboratoires [@薇姿医生] weibo.com/vichybrand
  159. Visa [@Visa中国] weibo.com/visachina
  160. VMware [@VMware中国] weibo.com/vmware
  161. Volvo [@沃尔沃集团中国] weibo.com/volvogroupchina
  162. Wall Street Journal [@华尔街日报中文网] weibo.com/chinesewsj
  163. Wallpaper* Magazine [@WallpaperMagazine] weibo.com/wallpapermag
  164. Westin Hotels & Resorts [@Westin] weibo.com/westinhotels
  165. YOOX [@YOOX网络概念店] weibo.com/yooxcn
  166. Yves Rocher [@Yves-Rocher伊夫黎雪] weibo.com/yvesrocher1959
  167. Zatchels [@Zatchels] weibo.com/zatchelsuk
  168. Zenith [@ZENITH真力时] weibo.com/zenithchina

Friday, 24 February 2012

MSc International Computing for the Internet

Computer Science at Loughborough University ラフバラ大学 now has a new MSc programme entitled International Computing for the Internet. This MSc will start 1st October 2012.

I am responsible for and will be teaching two of the modules:

  1. International Computing
  2. Implementing Internationalized Systems

Additionally, I will be involved in two of the other modules:

  1. Essential Skills for Computing: I will be sharing the teaching with another tutor
  2. Internationalized Project: These will be individual projects and I will be supervising some of them

Further information available from www.lboro.ac.uk/departments/co/postgrad/ici.html

Monday, 20 February 2012

Language Characteristics

In this article I list some of the characteristics of natural languages and scripts as they are manifested and used in modern day IT. With languages there are always exceptions and so there will be some exceptions to these characteristics. I will not be delving into linguistic technicalities such as the distinction between mora and syllable or the distinction between logogram and ideogram. I will take a more broad brush approach.

Arabic

  1. Arabic is written in the Arabic script
  2. Written from right to left
  3. The space character (U+0020 SPACE) is used as a separator between words and sentences
  4. The sentence terminator full stop is the Unicode character U+002E FULL STOP
  5. Unicase ie no uppercase and lowercase letter forms
  6. A Keyboard Mapping is sufficient in order to write Arabic
  7. The Arabic script is inherently cursive and hence is presented/displayed in it's cursive form.
  8. Letters change shape according to their position within a word. These different shapes are named Initial, Medial, Final and Isolated forms. en.wikipedia.org/wiki/Arabic_alphabet#Letter_forms

Chinese

  1. Chinese is written in the Chinese script which consists of hànzì (汉字) characters, of which, there are tens of thousands
  2. Written from left to right. Once browsers implement CSS3 Writing Modes we may well see some return to the traditional vertical text in webpages dev.w3.org/csswg/css3-writing-modes/#vertical-intro
  3. There is no space character separator between words and sentences
  4. The sentence terminator full stop is the Unicode character U+3002 IDEOGRAPHIC FULL STOP
  5. Unicase ie no uppercase and lowercase letter forms
  6. An Input Method is required in order to write Chinese
  7. All characters, including punctuation, are monospaced. Thus, for example, the list items separator in the text string "北京,南京,东京" is the single character U+FF0C FULLWIDTH COMMA. The text string "北京、南京、东京" uses the single character U+3001 IDEOGRAPHIC COMMA as the list items separator.
  8. With respect to number of characters required to communicate, Chinese is much more compact than English. Given a sentence written in English, the same sentence written in Chinese would require far fewer characters. This compactness gives Chinese a significant advantage over English for IDNs and when microblogging.

English

  1. English is written in the Latin script
  2. Written from left to right
  3. The space character (U+0020 SPACE) is used as a separator between words and sentences
  4. The sentence terminator full stop is the Unicode character U+002E FULL STOP
  5. Has uppercase and lowercase letter forms
  6. A Keyboard Mapping is sufficient in order to write English

Japanese

  1. Japanese is written in the Japanese scripts Kanji (漢字), Hiragana (ひらがな) and Katakana (カタカナ)
  2. Written from left to right. Once browsers implement CSS3 Writing Modes we may well see some return to the traditional vertical text in webpages dev.w3.org/csswg/css3-writing-modes/#vertical-intro
  3. There is no space character separator between words and sentences
  4. The sentence terminator full stop is the Unicode character U+3002 IDEOGRAPHIC FULL STOP
  5. Unicase ie no uppercase and lowercase letter forms. Uppercase is sometimes used for emphasis in English. Similarly, Katakana is sometimes used for emphasis.
  6. An Input Method is required in order to write Japanese
  7. In general, Japanese, like Chinese is monospaced. The exception is that there are half-width forms of Katakana and some punctuation characters. The half-width forms are in Unicode block Half-width and Full-width Forms U+FF00 ➤ U+FFEF.
  8. With respect to number of characters required to communicate, Japanese is much more compact than English. Given a sentence written in English, the same sentence written in Japanese would require far fewer characters. This compactness gives Japanese a significant advantage over English for IDNs and when microblogging.

Korean

  1. Korean is written in the Hangeul (한글) script
  2. Written from left to right
  3. The space character (U+0020 SPACE) is used as a separator between words and sentences
  4. The sentence terminator full stop is the Unicode character U+002E FULL STOP
  5. Unicase ie no uppercase and lowercase letter forms
  6. An Input Method is required in order to write Korean
  7. The individual Korean letters (jamo/자모) are grouped into and displayed as Syllabic blocks. e.g. the individual jamo ㅎ ㅏ ㄴ ㄱ ㅜ ㄱ are combined to form the two Korean characters 한국

Russian

  1. Russian is written in the Cyrillic (Кириллица) script
  2. Written from left to right
  3. The space character (U+0020 SPACE) is used as a separator between words and sentences
  4. The sentence terminator full stop is the Unicode character U+002E FULL STOP
  5. Has uppercase and lowercase letter forms
  6. A Keyboard Mapping is sufficient in order to write Russian