PLURAL author: Martin Kay and Jon L White files: [Eris] -- PLURAL documentation: PLURAL.tedit/press modified: 10-Dec-84 by JonL PLURAL is a file containing two main user-level functions: "Plural" which returns the plural forms of singular nouns, and "Ordinal" which returns the ordinal corresponding to a given cardinal. Both functions return STRINGs. Plural takes a STRING or a LITATOM as its argument and Ordinal takes a non-negative integer. The second argument to Plural, if non-null, affects the result just in case it is 1; in that case, the first argument is *not* modified for plurality (the rationale for this will be clear form the examples below). The second argument to Ordinal, if non-null, causes the oridnal suffix ("th", "nd", etc.) to be upper rather than lower case. &€@ pใเ€@๐ภ|๙แว€ 8pB'€ @€" € €€ @€@$@ Dˆฃ$@0 @€ Aแล€xฐใ` €<8Ž ฑaล"x@–8ฐเ@$@ Dˆฃ$@P @< @‚&@ ษ  €D#ภ ‘ ษFD" @™&ศ@๑โ$@ D€ขค@ @"|@‚$   €DB ‘ ‰DD" @"ˆ๐@B'€ Dนค@ @" @‚$   €D€ ‘ ‰DD" @"‰@ "$ D‰๒d@ @"@‚$  €D ‘ ษDD‘&$@&‰@@$ D‰d@ @ ฤ €โ  8๑ภŽฑDC@ˆ๐@|๙ฤ>8q'€| @€ € @€€€@>D@"xเ@>D๐>D๐>Dเ|ˆq๒ @@วศ€|"Dภ2D@ DDD "ˆƒ0ˆB @มA€@A„"DAว€2Dร@ Dล€D#ล€Dล€&ˆ…PˆB DA‚*D@D@DA@D๑@*ˆ B DBA€DA„"D@B&D@D@DA@D@2ˆ@B DCแ€A„"DB"@&DภD$@D$@D$@"ˆ‘€B D@A€DI„"D๑ม€"xโ@Dเฤ@D€ฤ@Dเฤ@ˆ็ร|๘B Ž D๐A€>81ว">€ƒ‘p>Dเ€8‰เ‡pcไ@>€#ˆ  €„B0ˆ‚‘D€"DษH€ˆ „@ €!xฐ„BP‰โภ“Dƒ"Dษ@–ˆ „@ xฐ! ศƒ‚ˆƒ | „Dฉ‡& ‡ภ< ศก ˆ„Bx‚ D@ƒฉ"! „@" ˆก ˆ„B‚ D€€„ ™"A๐„@ ˆa$ˆ„Bˆ’ D„D€ @™&€ „@"$ˆaˆใ‚|pb ŽD๓ใƒ>|‰เว๘ „@ˆ#€ V‡€ภ8>๘@xpp‚@ H€  D€ D @@ H„xq`€,8ุ`ัภ,8ฑแฤO ภDรx๐เ‡X ‡ ‰€2Dจ 82 2ศ‚$D @D A A@ˆ"dŸ ‰€ Dจ   ˆ‚$D @xม Aˆ Dˆ ‰€ Dจ   ˆ‚$D @@A  Aˆ D„ ‰€ Dจ ‘D2  ˆ’$ฤ€ @@2A  IH‰"Dว q€ 8จภ8ัภ ˆaรC @@าม @‚0เ‡†D@€8€๐เ(8 ˆ (@€ ˆ"%‡(๐แล…€ ˆ"&@‚@"&@€ ๐"$‚@!„@€ €"$‚@ D@€ €"d‚@"$@€€!ค‚@!ฤ@8€@@€ภ8pเ‡8๐โภ €<8qaร€@‰€"A €‰’$@@๘ภ€ Irregular plurals can be provided for by putting the putting them on the property list of the atom whose print name is the singular form, in lower case, under the name PLURAL. Thus: ภK€p€ม@A BDฐเBx„DศB OžD€๐B DDB" BLB" €4€๐A €p‡   xp  ˆ `" " ˆ p€€"| เ€<@‰เ„€@" "@‰D€B"@!ร"@‰D8ˆแภ€D"@" D"@‰แD"‰ €ฯž"@"#ฤ<@‰B$"0CศŒx€B€"Dˆ๒"D‰€€"(‘@aH‚"DDE@€B@"D‰@"D‰$@"D! "‘DˆaG‚8`Cย@๘ใใ€8๐๒€8๑#€< แภŽ"๘เว8p#€  For the user who wants to put suffixes together himself, the function ORDINALSUFFIXSTRING will return only the "st", "nd", "rd", or "th" part that Ordinal returns. 0(DEFAULTFONT 1 (SNAIL 10) (SNAIL 8 NNN NIL) NIL)  HELVETICAGACHA HELVETICA TIMESROMAN 0(DEFAULTFONT 1 (SNAIL 10) (SNAIL 8 NNN NIL) NIL) TIMESROMAN 0(DEFAULTFONT 1 (SNAIL 10) (SNAIL 8 NNN NIL) NIL) TIMESROMAN 0(DEFAULTFONT 1 (SNAIL 10) (SNAIL 8 NNN NIL) NIL)  TIMESROMAN 0(DEFAULTFONT 1 (SNAIL 10) (SNAIL 8 NNN NIL) NIL) !GACHA  TIMESROMAN GACHA TIMESROMAN  GACHA TIMESROMAN GACHA ฮNILNIL– TIMESROMAN NILNILGACHA NILNIL " BMOBJ.GETFN2GACHA GACHA NILNILGACHA NILNIL6 BMOBJ.GETFN2GACHA GACHA NILNILGACHA ฮNILNILท TIMESROMAN NILNILGACHA NILNIL BMOBJ.GETFN2GACHA GACHA ฮNILNIL TIMESROMAN NILNILGACHA NILNIL  BMOBJ.GETFN2GACHA GACHA NILNILGACHA NILNILค TIMESROMAN NILNIL TIMESROMAN 6,5zธ