#! /bin/sed -f # Converts numeric pinyin tones to ISO Latin-1 imitations # Last edited on 1998-07-16 01:45:34 by stolfi # # Ignore comments: /^[#]/b # # Decapitalize y and w: s/Y/ºy/g s/W/ºw/g # # Replace y and w by phonetic equivalents: s/y/@i/g s/w/@u/g # # Hack something for ü, in case it turns up: s/ü/uh/g # # Mark off the vowel group: s/\([aeiou][aeiouh]*\)/{\1}/g # # Move the tone closer to the vowel group: s/}\([nrg]*\)\([0-9]\)/}\2\1/g # # Convert 1st tone to umlaut: s/{a}1/ä/g s/{ai}1/äi/g s/{ao}1/äo/g s/{ia}1/iä/g s/{iua}1/iuä/g s/{iao}1/iäo/g s/{ua}1/uä/g s/{uai}1/uäi/g s/{uha}1/uhä/g # s/{e}1/ë/g s/{ei}1/ëi/g s/{ie}1/ië/g s/{ue}1/uë/g s/{iue}1/iuë/g s/{uei}1/uëi/g s/{uhe}1/uhë/g # s/{i}1/ï/g s/{ii}1/iï/g s/{ui}1/uï/g # s/{o}1/ö/g s/{ou}1/öu/g s/{io}1/iö/g s/{iou}1/iöu/g s/{uo}1/uö/g # s/{u}1/ü/g s/{uu}1/uü/g s/{iu}1/iü/g s/{uh}1/üh/g # # Convert 2nd tone to acute accent: s/{a}2/á/g s/{ai}2/ái/g s/{ao}2/áo/g s/{ia}2/iá/g s/{iua}2/iuá/g s/{iao}2/iáo/g s/{ua}2/uá/g s/{uai}2/uái/g s/{uha}2/uhá/g # s/{e}2/é/g s/{ei}2/éi/g s/{ie}2/ié/g s/{ue}2/ué/g s/{iue}2/iué/g s/{uei}2/uéi/g s/{uhe}2/uhé/g # s/{i}2/í/g s/{ii}2/ií/g s/{ui}2/uí/g # s/{o}2/ó/g s/{ou}2/óu/g s/{io}2/ió/g s/{iou}2/ióu/g s/{uo}2/uó/g # s/{u}2/ú/g s/{iu}2/iú/g s/{uu}2/uú/g s/{uh}2/úh/g # # Convert third tone to circumflex: s/{a}3/â/g s/{ai}3/âi/g s/{ao}3/âo/g s/{ia}3/iâ/g s/{iua}3/iuâ/g s/{iao}3/iâo/g s/{ua}3/uâ/g s/{uai}3/uâi/g s/{uha}3/uhâ/g # s/{e}3/ê/g s/{ei}3/êi/g s/{ie}3/iê/g s/{ue}3/uê/g s/{iue}3/iuê/g s/{uei}3/uêi/g s/{uhe}3/uhê/g # s/{i}3/î/g s/{ii}3/iî/g s/{ui}3/uî/g # s/{o}3/ô/g s/{ou}3/ôu/g s/{io}3/iô/g s/{iou}3/iôu/g s/{uo}3/uô/g # s/{u}3/û/g s/{iu}3/iû/g s/{uu}3/uû/g s/{uh}3/ûh/g # # Convert fourth tone to grave: s/{a}4/à/g s/{ai}4/ài/g s/{ao}4/ào/g s/{ia}4/ià/g s/{iua}4/iuà/g s/{iao}4/iào/g s/{ua}4/uà/g s/{uai}4/uài/g s/{uha}4/uhà/g # s/{e}4/è/g s/{ei}4/èi/g s/{ie}4/iè/g s/{ue}4/uè/g s/{iue}4/iuè/g s/{uei}4/uèi/g s/{uhe}4/uhè/g # s/{i}4/ì/g s/{ii}4/iì/g s/{ui}4/uì/g # s/{o}4/ò/g s/{ou}4/òu/g s/{io}4/iò/g s/{iou}4/iòu/g s/{uo}4/uò/g # s/{u}4/ù/g s/{iu}4/iù/g s/{uu}4/uù/g s/{uh}4/ùh/g # # Neutral tone stays unmarked: s/{\([^{}]*\)}0/\1/g # # Restore y and w: s/@i/y/g s/@u/w/g # # Restore capitalization of y and w: s/ºy/Y/g s/ºw/W/g