cjklib.reading.operator.CantoneseYaleOperator is a mature implementation of the Yale transcription for Cantonese. It’s one of the major romanisations used for Cantonese and frequently found in education.
Features:
Yale distinguishes two tones often subsumed under one: the high level tone with tone contour 55 as given in the commonly used pitch model by Yuen Ren Chao and the high falling tone given as pitch 53 (as by Chao), 52 or 51 (Bauer and Benedikt, chapter 2.1.1 pp. 115). Many sources state that these two tones aren’t distinguishable anymore in modern Hong Kong Cantonese and thus are subsumed under one tone in some romanisation systems for Cantonese.
In the abbreviated form of the Yale romanisation that uses numbers to represent tones this distinction is not made. The mapping of the tone number 1 to either the high level or the high falling tone can be given by the user and is important when conversion is done involving this abbreviated form of the Yale romanisation. By default the high level tone will be used as this primary use is indicated in the given sources.
Tone marks, if using the standard form with diacritics, are placed according to Cantonese Yale rules (see getTonalEntity()). The CantoneseYaleOperator by default tries to work around misplaced tone marks though to ease handling of malformed input. There are cases, where this generous behaviour leads to a different segmentation compared to the strict interpretation. No means are implemented to disambiguate between both solutions. The general behaviour is controlled with option 'strictDiacriticPlacement'.
See also