12 ms·
Cantonese Font with Pronunciation
- abudabi123 3y agoA package to power GNU Emacs chinese-ctlaub input method with 100% font coverage is needed. I see TOFU in the browser and emacs, for example * https://humanum.arts.cuhk.edu.hk/Lexis/lexi-mf/shuowenRadical.php?rad=%E5%88%80 https://humanum.arts.cuhk.edu.hk/Lexis/lexi-mf/shuowenRadica... and there are graphs that can't be input by emacs chinese-ctlaub. Associating a cognitive complexity load score for each graph to guide learning would help.
- kelvie 3y agoSomething's not clear here to me, how does this handle words with multiple pronounciations using a font alone?
- ghayes 3y agoAs far as I know, Mandarin doesn't have multiple pronunciations for the same character-- does Cantonese? Aside of that, you could use ligatures for that, couldn't you?
- akavi 3y agoMandarin absolutely does: * 行: xíng or háng * 的: de or dì * 长: cháng or zhǎng (plus I'm sure many more that I can't think of just right now)
- gs17 3y ago了 as le or liǎo, too.
- hangonhn 3y agoDid it get more numerous with the adoption of simplified characters?
- akavi 3y agoI'm not sure, but I believe that most, if not all, mergers from simplification were homophones.
- hawflakes 3y agoYes, it did if you're not a mandarin speaker. The simplification process was biased towards Mandarin and there are some words that were merged that have different pronunciations in Cantonese but not in Mandarin.
- joak 3y agoIn Mandarin there are actually different pronunciation depending on context. Example 觉得 juede, to think 睡觉 shuijiao, to sleep Here the same character is pronounced jue or jiao depending on context
- gnownelag 3y agoBoth Mandarin and Cantonese actually have multiple pronunciations for the same character. Here is an example in both: - 说服/說服 Mandarin: shuì fú Cantonese: seoi3 fuk6 - 说话/說話 Mandarin: shuō huà Cantonese: syut3 waa6
- Umofomia 3y agoMandarin definitely has many characters with multiple pronunciations. One large class come from literary vs. colloquial reading differences: https://en.wikipedia.org/wiki/Literary_and_colloquial_readings_of_Chinese_characters#Mandarin https://en.wikipedia.org/wiki/Literary_and_colloquial_readin... Another large class class comes from vestiges of derivational morphology in Old Chinese: https://en.wikipedia.org/wiki/Homograph#In_Chinese https://en.wikipedia.org/wiki/Homograph#In_Chinese For instance, the character 度 in modern Mandarin can be pronounced dù (when used as a noun) or duó (when used as a verb), both of which derived from Old Chinese /daːɡs/ and /daːɡ/, respectively. With Simplified Chinese characters, some of them come from the merger of originally different words that had similar, but not exactly the same pronunciations. For instance, both 髮 (fà) and 發 (fā) were merged into 发.
- ackfoobar 3y agoFor the example you give, in Cantonese they're dou6 and dok6, respectively. The 3/6 tones in Cantonese and ˋ (4th, falling tone) in Mandarin are the "departing" tone, which comes from the departing tone in Middle Chinese, which I believe comes from the -s ending in Old Chinese.
- inkyoto 3y agoBoth do. A single, isolated Chinese character may have multiple unrelated meanings with some of them having an entirely unrelated pronunciation. It is, in fact, ubiquitous. The idea is that each honzi has exactly one meaning is a misconception. With respect to ligatures, if by that you mean the length of the same word across different Sinitic languages, that depends on the specific language and its phonology. Mandarin, for instance, has lost a large number of finals over the course of its evolution which has resulted in words generally being longer and requiring extra syllables to resolve the phonetic ambiguity. The Sinitic languages that have retained more finals (and sounds in general) tend to have more of shorter words. Cantonese is one of them albeit not the only one.
- pleasedontsell 3y agoMaybe it uses font ligatures to change based on the surrounding characters. https://en.wikipedia.org/wiki/Ligature_(writing) https://en.wikipedia.org/wiki/Ligature_(writing)
- jkwchui 3y agoYou are correct!
- rahimnathwani 3y agoPerhaps they use the same technology as ligatures? There could be a glyph for the standalone character, but also special glyphs for certain combos? The page says they do handle variations: Pronunciation in the Cantonese Font adapts to the context. Based on what comes before or after, the Jyutping romanization changes to the right one. The magic behind this is a careful curation from 100,000 contexts where the pronunciation differs from the standalone character.
- jeffparsons 3y agoI've seen ligatures (or whatever the underlying feature is in font formats) used for some wild stuff, but this takes the cake. They're effectively encoding a small amount of natural language processing in a font. Setting aside for a minute the question of whether you _should_, I wonder how far you can take this? I.e. what limits are there on how much context you can take into account, etc.?
- TylerE 3y agoYou'd like https://www.notationcentral.com/product/musglyphs/ https://www.notationcentral.com/product/musglyphs/
- philsnow 3y agoI think it also uses ligatures to render words from the "phrasebook", where you can take a word like "friend" and change the font from Times to this font, and it renders it as 朋友. Beautiful.
- jkwchui 3y ago(Font author) This is all off the beaten path, so I suspect the answer is no one knows. Font tables have a limit of 65k characters, but this ceiling can be busted in whacky ways using multiple lookups, useExtension... Practically, font building tools / operations crash (mysteriously), stalls (mysteriously), or slows to a crawl (indistinguishable from stalling), and the Cantonese Font about pushes the limit.
- jkwchui 3y ago
- jamesdutc 3y agoI am not a Cantonese speaker; however, in Mandarin, fonts with phonetic guidance are very common. e.g., Hann-Tzong Wang's (王漢宗) free font collection[1] includes two typefaces with phonetic pronunciation guidance. These are wp{0..3}10-05.ttf and wp{0..3}10-08.ttf [2] As you can see from the filenames, there are actually four different font files for each of these two typefaces. The font files numbered {1..3} are for 「破音字」, characters with alternate pronunciation. When a user types a word like 「給予」 (ㄐ一ˇㄩˇ/jǐ yǔ) for which there is an alternate, less-common pronunciation (ㄐ一ˇ/jǐ instead of ㄍㄟˇ/gěi for 給) they simply change the font for just the affected character to the variant with the correct pronunciation. In the case of this Cantonese Font, the authors distribute a single .ttf (alongside a “phrasebook” .ttf whose purpose is not clear to me) and indicate in the Roadmap section of the website that ligature support must be enabled. If alternate pronunciations are common in Cantonese, then I suspect that they must use some ligature-based method. I would have to imagine there must be cases where this could be ambiguous, but I don't know how you would resolve those. (In practice, just swapping the font on a single character works fairly well.) [1] https://code.google.com/archive/p/wangfonts/ https://code.google.com/archive/p/wangfonts/ [2] https://dywang.csie.cyut.edu.tw/dywang/download/pdf/sample-ooo.pdf https://dywang.csie.cyut.edu.tw/dywang/download/pdf/sample-o...
- er4hn 3y agoThanks for sharing this. When I saw the link, I wanted to see if there was something similar for Mandarin. Looking at the PDF sample I don't see anything around how to pronounce the characters, i.e. there's nothing along the top or bottom that looks like pinyin with tonal markers. Am I missing something?
- ywnico 3y agoThe fonts at the bottom of the first page (wp010-05.ttf) and the top of the second page (wp[123]10-05.ttf etc.) have zhuyin (aka bopomofo) phonetic symbols [1] to the right of each character. These are common in Taiwan, whereas pinyin is used in the mainland. jamesdutc also used them in the comment above; e.g., ㄐ一ˇㄩˇ = jǐ yǔ. [1] https://en.wikipedia.org/wiki/Bopomofo https://en.wikipedia.org/wiki/Bopomofo
- 3y ago
- Keyframe 3y agoI see it, I understand what's going on - it's clear, but I still cannot read it. How do you read those pronunciations?
- Umofomia 3y agoThe font annotates each character using the Jyutping system for Cantonese pronunciation: https://en.wikipedia.org/wiki/Jyutping https://en.wikipedia.org/wiki/Jyutping
- likpok 3y agoYou have to understand both how the jyutping romanization works (i.e. what sound 'bat' makes) as well as what the tones in Cantonese are. I'll let you read about the initials and finals (mostly consonants and vowels). There are some tricky ones: the 'c' in cat is pronounced more like an aspirated 'ts'. There are six or nine tones in Cantonese: high middle rising middle low rising low low falling There are also three "entering" tones that some people don't distinguish at all, as they're sort of just the high/middle/low tones but short. I couldn't tell you whether they're really separate tones or just short versions of the first six. You can see how the tone marks on the font line up with the tones here -- if you know them, the font marks are a reasonable guide.
- ackfoobar 3y ago> There are some tricky ones: the 'c' in cat is pronounced more like an aspirated 'ts'. I would be perfectly happy if a non-native speaker pronounces "c" and "z" like the English "ch" and soft "g".
- ackfoobar 3y agoFor a rough guide of the sounds, the pronunciation key in Wikipedia does a good enough job. https://en.wikipedia.org/wiki/Help:IPA/Cantonese https://en.wikipedia.org/wiki/Help:IPA/Cantonese
- teleforce 3y agoAs many have pointed here Mandarin, Thai, Cantonese and Vietnam are tonal languages and the meaning of words are depending on how you speak the syllables inside the words. Mandarin has four, Thai has five, Cantonese has six and Vitnamese has six tones. Overall about 20% or 1.5 billion of the world's population converse daily in tonal languages. It will be very helpful if someone come up with automatic tonal detection systems for language learners to automatically check the correctness of their pronunciations as they speak in real-time. This can be accomplished by using time-frequency analysis that detect its accuracy similar to these language pronunciation apps like ELSA speak for English [1][2]. [1]Time–frequency representation: https://en.wikipedia.org/wiki/Time%E2%80%93frequency_representation https://en.wikipedia.org/wiki/Time%E2%80%93frequency_represe... [2] ELSA Speak: https://elsaspeak.com/en/ https://elsaspeak.com/en/
- xbeta 3y agoIsn't true that Cantonese has 9 tones?
- likpok 3y agoIt depends. Some people classify it as 6 tones, some as 9. The extra three are "entering <x> level tone", which are sort of shortened versions of a different tone. So: some words end in a stop, which is sometimes counted as a different tone even though the pitch pattern isn't different. For example, consider fan versus fat. https://en.wikipedia.org/wiki/Checked_tone https://en.wikipedia.org/wiki/Checked_tone
- Umofomia 3y agoYes and no. Cantonese has 9 tone categories that have 6 distinct tone contours. The 3 additional tones fall under the checked tone category (https://en.wikipedia.org/wiki/Checked_tone https://en.wikipedia.org/wiki/Checked_tone) for historical purposes, but their realized pronunciations coincide with the tone contours of 3 of the other 6 tones, so for most practical purposes, many sources describe Cantonese as having 6 tones. I have an old Quora answer here that goes into more detail: https://qr.ae/pyNupi https://qr.ae/pyNupi
- 3y ago
- gaudat 3y agoA friend of mine noticed the website thumbnail image is FizzBuzz but in classical Chinese.
- Umofomia 3y agoThe code in that image [1] is written in wenyang-lang [2], a programming language based on Classical Chinese. It was previously featured on HN here: https://news.ycombinator.com/item?id=22213406 https://news.ycombinator.com/item?id=22213406 [1] https://visual-fonts.com/#jp-carousel-1092 https://visual-fonts.com/#jp-carousel-1092 [2] https://wy-lang.org/ https://wy-lang.org/
- ackfoobar 3y agoDo you mean the og:image? It's Sieve of Eratosthenes, not FizzBuzz.
- panabee 3y agothis is awesome. thanks for sharing. there is a wealth of resources for learning mandarin but only a smattering for cantonese. two favorites: 1. web dictionary http://www.cantonese.sheik.co.uk/scripts/wordsearch.php?level=0 http://www.cantonese.sheik.co.uk/scripts/wordsearch.php?leve... 2. iOS dictionary that is free and comprehensive, also covers mandarin: https://apps.apple.com/us/app/pleco-chinese-dictionary/id341922306 https://apps.apple.com/us/app/pleco-chinese-dictionary/id341... unaffiliated with either company, just a longtime user. other suggestions for cantonese resources welcome.
- keyboard_smash 3y agoI make a Cantonese dictionary app for Windows/Mac/Linux, similar to Pleco (has multiple sources, coloured characters for tones, etc)! https://jyutdictionary.com/ https://jyutdictionary.com/
- panabee 3y agoawesome, just sent an email about potentially sponsoring this.
- panabee 3y agoconsolidating other resource links from the thread: * jyutpin typing game https://chaaklau.github.io/cantorocks/ https://chaaklau.github.io/cantorocks/
- a_c 3y agoDo you mind sharing why are you learning cantonese?
- panabee 3y agoour family grew up with cantonese as the second language. my mom is from hong kong and my dad from the southern part of china. unfortunately, i failed to cherish this opportunity and spoke english predominantly as a child, leaving me with heavily-accented and vocabulary-limited cantonese. i have spent an inordinate amount of time repairing these deficiencies and learning mandarin as well. a little more self-awareness and foresight as a teenager could have saved me years of learning as an adult. on the upside, self-learning has yielded insights into chinese language and culture, learning, and accents. unsure if these other perspectives are worth the extra time and effort, though. :)
- lumb63 3y agoMy girlfriend’s family strictly speaks Cantonese and I known nothing about it. I was just talking with a friend in a similar situation who lamented the lack of resources for Cantonese. This is awesome! Does anyone have any other hidden-gem Cantonese learning resources?
- keyboard_smash 3y agoUnaffiliated with this group, but there are a bunch of graded readers, romanized with Jyutping, freely available, and very high quality![1] If you’d prefer physical books, this online store imports quite a few from Hong Kong.[2] A dictionary program for Windows/Mac/Linux that I make [3], and another for mobile that I don’t make.[4] Finally, a list of other good resources from Cantonese Alliance.[5] [1] https://hambaanglaang.hk/ https://hambaanglaang.hk/ [2] https://kozzi.ca/ https://kozzi.ca/ [3] https://jyutdictionary.com/ https://jyutdictionary.com/ [4] https://www.pleco.com/ https://www.pleco.com/ [5] https://cantonese-alliance.github.io/language.html https://cantonese-alliance.github.io/language.html
- Quiark 3y agoThis may look like an ad but I was satisfied with Cantonese101 app (except for the stupid fact that flashcards are not in mobile app, only in the (responsive) web based app). I went through 2 "levels" but I failed to start using the language on a daily basis which is why I still don't really know it (my fault).
- hnfong 3y agoHere's a side project of mine: https://cantowords.com/ https://cantowords.com/ It's an offshoot of https://words.hk https://words.hk (which has a Chinese interface). AFAIK we're the only modern Cantonese-Cantonese and Cantonese-English dictionary that is both comprehensive (50k+ entries) and word (詞) focused (i.e. not only explaining meaning of characters). It's a huge undertaking, we've been on this for almost 10 years, and probably almost half-way done. FWIW words.hk has quite a bit of traffic (from native/near-native speakers presumably) due to being well indexed by Google, but cantowords.com is relatively new and could benefit from more attention :) PS: some of our content has made way to Cantonese dictionary apps as mentioned in sibling post(s), but the web site contains the most up to date content (which does get updated on a day to day basis as editing work proceeds)
- lvturner 3y agoThis is amazing and very useful! Does anyone know of such a font for Manadrin?
- Zuiii 3y agoWouldn't this be better handled as a font rendering engine feature so that it wouldn't be tied to a specific font and users would be able to configure which language to display the pronunciations in? Good stopgap though. Do they have plans to do the same for other languages?
- orm 3y agoI really like this idea, though I haven't tried it yet. Spotify has lyrics for many songs, but for characters the first hurdle is you cannot really sing along even with the lyrics unless you know them. Is there some easy way one change the font used by Spotify to be this font somehow?
- jkwchui 3y ago(Font author) I have tried, but I couldn't find a way to change font in Spotify app. If you find a way I'd love to know.
- niij 3y agoVery interesting! Does anyone know of a similar font for Thai? Or information on how to make such a thing?
- donatj 3y agoI honestly wonder how good of a job one could do with Chinese at making a font that just translated each character into English? Especially given modern font ligatures letting you change the meanings displayed based on context (the way things like Fira code do). Maybe don't even show the Chinese characters, just their meaning in English? It's obviously not going to be perfect, but I think there's potential there for a fun project.
- keyboard_smash 3y agoLike with any language, there’s gonna be a lot of context-dependent words/phrases with multiple meanings that are hard to segment/parse/translate correctly. Things like DeepL or GTranslate take into account probabilities for segmentation and grammar (or use ICU libraries); but that’s harder to do from a context of using ligatures and basic font engine features. e.g. The classic example is 大麻煩 - is it 大|麻煩 (a big inconvenience), or is it 大麻|煩 (marijuana annoyance)? Is 粉絲 fan, or vermicelli? Is 早唞! “good night!” or “go fuck yourself!”?
- dumbotron 3y agoMarijuana literally means "big numb" in Chinese? Or "big horse" if I mispronounce it?
- keyboard_smash 3y agoHaha, yeah, works that way for Cantonese and Mandarin. 大麻 daai6 maa4/dà má (marijuana, literally ‘big numb’) vs 大馬 daai6 maa5/dà mǎ (big horse). Bonus: 大媽 daai6 maa1/dà mā (auntie or father’s elder brother’s wife, literally ‘big mother’).
- eloisius 3y ago麻 isn’t always numb. It’s also a genetic term for all kinds of flax or fiberous plants like hemp. For example sesame is 芝麻.
- bobbylarrybobby 3y agoIirc, opentype font tables are Turing complete so... you could put an AI translator in a font! The sky's the limit.
- orm 3y agoDoes anyone know of good tools to practice tone-listening and recognition for cantonese? or tools for drilling jyutping more generally, I've used https://chaaklau.github.io/cantorocks/ https://chaaklau.github.io/cantorocks/, but I would like to also try others, as the audio is not great sometimes and I'd like to listen to different voices. When studying Mandarin I found that getting the phonetics right early on really helped me, it can be done in a relatively short time and its hugely motivating.
- keyboard_smash 3y agoSomebody made this app[1][2][3] for practicing tones in Cantonese. [1] https://www.reddit.com/r/Chinese/comments/xx5g39/cantone_an_app_for_mandarin_and_cantonese_tones/ https://www.reddit.com/r/Chinese/comments/xx5g39/cantone_an_... [2] https://apps.apple.com/us/app/cantone/id1602297692 https://apps.apple.com/us/app/cantone/id1602297692 [3] https://play.google.com/store/apps/details?id=com.cantone.cantone https://play.google.com/store/apps/details?id=com.cantone.ca...
- wpietri 3y agoFor those curious, the romanization system here is Jyutping: https://en.wikipedia.org/wiki/Jyutping https://en.wikipedia.org/wiki/Jyutping That's new to me; previously I had only seen Pinyin and Wade-Giles: https://en.wikipedia.org/wiki/Pinyin https://en.wikipedia.org/wiki/Pinyin https://en.wikipedia.org/wiki/Wade%E2%80%93Giles https://en.wikipedia.org/wiki/Wade%E2%80%93Giles Wikipedia has a nice article on the history and a number of other systems: https://en.wikipedia.org/wiki/Romanization_of_Chinese https://en.wikipedia.org/wiki/Romanization_of_Chinese
- wluu 3y agoThis is pretty good for someone who can speak Cantonese but can't read/write it. As an example, I speak Mandarin and can't read/write (much) Chinese characters as I spoke it at home while growing up in Australia. So, I can imagine there'd be quite a lot who are in a similar situation to me but with Cantonese who would benefit from this (not just as a learning tool). I've been using the Zhongwen[0] browser extension to "read" websites that have Chinese characters for many years as hovering over Chinese characters will display a popup with the pronunciation ping yin. It may not be the speediest way of understanding a block of Chinese text. I could imagine someone creating a browser extension that would replace the font used on the website(s) with the Cantonese Visual Font when the extension is enabled. [0] https://github.com/cschiller/zhongwen https://github.com/cschiller/zhongwen
- xixixao 3y agoI find it, well, outrageous, that Google translate doesn’t support Cantonese. Nationalism at its worst.
- inkyoto 3y agoGoogle Board does, although the text input only. It support both, Yale and Jyutping, romanisations. Microsoft Bing Translator does support Cantonese tho.
- Symbiote 3y agoIsn't it listed as "Chinese Traditional"?
- Umofomia 3y agoNo, "Chinese Traditional" refers to the character set used to write each character[1], but the actual text is still written according with the vocabulary and grammar of Standard Written Chinese, which is based on spoken Mandarin. As an example, this is the sentence "Please give me his book" written in Standard Written Chinese using "Chinese Traditional" characters: 請你給我他的書。 If you use "Chinese Simplified" characters[2] instead, it would still be the same words, but some of the characters have simpler forms: 请你给我他的书。 However, both of those renderings still follow Mandarin vocabulary and grammar. Even though Cantonese speakers generally read and write Standard Written Chinese (in either Traditional or Simplified characters), if they were to actually convey that sentence in spoken Cantonese, it would actually be quite different. Written Cantonese[3] is generally only used in informal contexts, but a rendering of the sentence in Cantonese would instead be: 唔該你畀佢本書我。 (Traditional) 唔该你畀佢本书我。 (Simplified) The written Cantonese version uses vocabulary and grammatical constructions that are not part of Standard Written Chinese, and Google Translate is currently not able to translate to written Cantonese. I've found that over time though, Google Translate has been getting better at translating from written Cantonese to English (however, for the example I just gave, it appears it still completely botches the translation; it currently thinks it translates to "You shouldn't have let her book me"). [1] https://en.wikipedia.org/wiki/Traditional_Chinese_characters https://en.wikipedia.org/wiki/Traditional_Chinese_characters [2] https://en.wikipedia.org/wiki/Simplified_Chinese_characters https://en.wikipedia.org/wiki/Simplified_Chinese_characters [3] https://en.wikipedia.org/wiki/Written_Cantonese https://en.wikipedia.org/wiki/Written_Cantonese
- Obsnold 3y agoThat looks good! I’ll have to give it a try. I’ve been trying to make some resources to encourage my son to pick up more from my wife and have been using hambaanglangs graphical generator[1]. It’s good but can be a bit fiddly to use. [1] https://hambaanglaang.hk/software-tool/#GC%20Generator https://hambaanglaang.hk/software-tool/#GC%20Generator
- nagarjun 3y agoThis is great! Desperately need this for Japanese!
- gondaloof 3y agoI'm confident that either this already exists in Japanese or that apps/tools can do it. Japanese Children learn Kanji with Furigana, so there are solutions for them. Some examples I found: - https://support.microsoft.com/en-us/office/use-furigana-phonetic-guides-with-japanese-text-673b30ed-6bbd-4759-870f-0e5616955e9a https://support.microsoft.com/en-us/office/use-furigana-phon... - http://www.furiganizer.com/static/about.html http://www.furiganizer.com/static/about.html - https://www.youtube.com/watch?v=2Fmw2IrRUXo https://www.youtube.com/watch?v=2Fmw2IrRUXo
- ccozan 3y agothe furiganizer.com website does not seem to work :( However the third link, with the Mac Pages, really great.
- gweilo84638 3y agoFunded by ... a dance studio! How wonderful. I walked past it the other day. Perhaps I'll pay them back for funding the creation of this font by taking a Tango class :) > The Cantonese Font is a piece of culture funded from our savings, and from revenue from our dance studio in Causeway Bay. If you are in Hong Kong, come join our fun, friendly, best Argentine Tango classes for all levels at www.eli.dance
- jkwchui 3y agoAbsolutely. Eli is a superb dancer and teacher. And if you are under-25, we even offer 50% off the group classes!
- yosito 3y agoDoes anyone know if something like this exists for Thai?
- tescocles 3y agoThis wouldn't work in the same way in Japanese because characters can have different readings depending on the context. Could that be overcome with font ligatures? Still, even if we could overcome that massively complex task, some groups of characters (i.e. the aforementioned context) can still have multiple ways of reading them.
- dry_soup 3y agoIf you scroll down on the article in the OP, you'll see that Cantonese readings of Chinese characters are also context-specific, and they appear to have solved that problem with ligatures.
- soundnote 3y agoThe proper solution for Japanese is a time machine to the 1940s and instituting a proper script reform instead of the touyou kanji list and Shinjitai simplifications. :)
- m348e912 3y agoI asked my Asian friend if this font is a good way to learn Chinese. He said a better option was to get a girlfriend who only speaks Cantonese. Noted.
- lvturner 3y agoI’ve been married to a native Mandarin speaker for years now… this strategy does not always work.
- physicles 3y agoAmazing. I started learning mandarin about 10 years ago, and spent a good deal of effort building flash cards where characters and accompanying pinyin were color coded by tone. If this font had existed then, I would've adapted it to mandarin and then used the shit out of it.
- tikkabhuna 3y agoHappy to see this here. I think there's tons of potential for making Cantonese easier to learn. The big difficulties I've had as an English speaker learning is: 1. Multiple Romanisation formats (Jyutping vs Yale) 2. Many community lead dictionaries with varying completeness. 3. Many web resources for learning words/phrases/etc use a mixture of traditional characters, jyutping, yale, or something else. Its very difficult to find the content in the format a learner needs. Hopefully something like this will help learners use content written using traditional characters.
- jkwchui 3y ago(Font author here) I whole-heartedly agree. I am a native speaker, and "fluent" in jyutping, yet I have such a hard time with Yale. One service I'm going to build is a mapping tool between {R1, R2, ...Rn} and {G1, G2, ...Gn} where R is romanization method and G are y/z-variants of glyphs. (These, for the most part, already exists inside packages I built for building the font, and just need to have an UI to expose it to the world.) It would sure save me lots of time trying to read Matthews-Yip...
- tikkabhuna 3y agoI was thinking the same thing. Perhaps creating an API around PyCantonese? My thought is that if there's a common data format for a Cantonese sentence with jyutping/yale/traditional + translation(s), the user could then pick what to display. It could then also be worked into games/learning exercises. Placeholders could be made with a number of options so users could learn how to slot different adjectives into sentences, for example. (I have the same username on Reddit, by the way. Sorry I never got to test it out for you!)
- zb1plus 3y agoI use a similar one for Mandarin. Here's a cool little chrome extension I built to force the use of the font for all Hanzi/Han characters in a webpage. ```// This script changes the font of all Mandarin character on a page. const url = chrome.runtime.getURL('font/Hanzi-Pinyin-Font.top.ttf'); const fontFace = ` @font-face { font-family: ZhongwenFont; src: url(${url}) } `; window.onload = function () { const styleSheet = document.createElement("style"); styleSheet.innerHTML = fontFace document.head.appendChild(styleSheet); // For static pages, handle all elements: document.body.querySelectorAll("").forEach(handleElement); // support for dynamic pages // For dynamic apps, like Twitter, observe all DOM mutations henceforth within document body: addMutationObserver(); } function handleText(textNode) { // Regular expression to match all Chinese characters const regex = /[\p{Script=Han}]+/gu; if (regex.test(textNode.nodeValue)) { const { style } = textNode.parentElement; style.fontFamily = 'ZhongwenFont'; style.fontSize = "large" } } function addMutationObserver() { const observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { mutation.target.querySelectorAll("").forEach(handleElement); }); }); observer.observe(document.body, { subtree: true, childList: true }); } function handleElement(e) { e.childNodes.forEach((child) => { if (child && !isUserInput(child) && child.nodeName === "#text") { handleText(child); } }); } // Some helper functions used by the code above: function isUserInput(node) { const tagName = node.tagName ? node.tagName.toLowerCase() : ""; return ( tagName == "input" || tagName == "textarea" || isInsideContentEditable(node) ); } function isInsideContentEditable(node) { while (node.parentNode) { if (node.contentEditable === "true") { return true; } node = node.parentNode; } return false; }```
- knolax 3y agoTrying to learn pronunciation through some sort of visual language annotation is one the most counterproductive ways you could approach it. Pronunciation varies subtly from person to person and even from situation to situation, all this information can only really be conveyed from actually listening to people speak, where as most systems for transcribing pronunciation have to optimize for regularity. The end result is that it only conveys the minimum amount of phonetic information needed to distinguish between morphemes. If you add more information then the categories become more and more subjective and harder to distinguish. For example try to do some IPA transcriptions for a language you do speak, or listen to trained linguists try to pronounce words in non-native language. Think of it as trying to compress several kilobytes of information down to several bytes of information and then trying to reconstruct the original data all in the CPU when you have dedicated hardware several orders of magnitude more powerful and which uses a non-compatible black box compression scheme.