# # $Id: engl.aff,v 1.0 1995/30/4 # # 1995 Ulisses Pinto - jspell version # This afix table taked some pieces form ENGLISH.AFF # (Copyright 1992, 1993, Geoff Kuenning, Granada Hills, CA) # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All modifications to the source code must be clearly marked as # such. Binary redistributions based on modified source code # must be clearly marked as modified versions in the documentation # and/or other materials provided with the distribution. # 4. All advertising materials mentioning features or use of this software # must display the following acknowledgment: # This product includes software developed by Geoff Kuenning and # other unpaid contributors. # 5. The name of Geoff Kuenning may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY ULISSES PINTO AND JOSE JOAO ALMEIDA ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL GEOFF KUENNING OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # Affix table for English # allaffixes on nroffchars ().\\* texchars ()\[]{}<\>\\$*.% # First we declare the character set. Since it's English, it's easy. # The only special character is the apostrophe, so that possessives can # be handled. We declare it as a boundary character, so that quoting with # single quotes doesn't confuse things. The apostrophe is the only # character that gets such treatment. # # We declare the apostrophe first so that "Jon's" collates before "Jonas". # (This is the way ASCII does it). # defstringtype "nroff" "nroff" ".mm" ".ms" ".me" ".man" boundarychars ' wordchars [a-z] [A-Z] altstringtype "tex" "tex" ".tex" ".bib" # Here's a record of flags used, in case you want to add new ones. # Right now, we fit within the minimal MASKBITS definition. # # ABCDEFGHIJKLMNOPQRSTUVWXYZ # Used: * * **** ** * ***** *** # A D GHIJ MN P RSTUV XYZ # Available: -- -- -- - - - # BC EF KL O Q W # A D GHIJ MN P RSTUVW XYZ # Available: -- -- -- - - # BC EF KL O Q # Now the prefix table. There are only three prefixes that are truly # frequent in English, and none of them seem to need conditional variations. # prefixes flag *A: . > RE ; "FSEM=re" # enter > reenter flag *I: . > IN ; "FSEM=not" # disposed > indisposed flag *U: . > UN ; "FSEM=not" # natural > unnatural flag *W: [^AEIOUH] > DE ; "FSEM=not" # select > deselect [AEIOUH] > DES ; "FSEM=not" # select > deselect # Finally, the suffixes. These are exactly the suffixes that came out # with the original "ispell"; I haven't tried to improve them. The only # thing I did besides translate them was to add selected cross-product flags. # suffixes flag *p: ; "CAT=n" # plural [^SXZHY] > S ; "N=p" # dog -> dogs [SXZ] > ES ; "N=p" # [CS] H > ES ; "N=p" # dish -> dishes [PTAG] H > S ; "N=p" # graph -> graphs [^AEIOU]Y > -Y,IES ; "N=p" # spy -> spies [AEIOU]Y > S ; "N=p" # boy -> boys flag *q: ; "CAT=n" # plural irr. O > ES ; "N=p" # hero -> heroes I S > -IS,ES ; "N=p" # basis -> bases F > -F,VES ; "N=p" # belif -> belives U S > -US,I ; "N=p" # stimulus -> stimuli A > E ; "N=p" # formula -> formulae U M > -UM,A ; "N=p" # curriculum -> curricula [EI]X > -X,CES ; "N=p" # index -> indices #------------------------------------------------------------------ # Verbs flag *S: ; "CAT=v" # 3rd person - Present [^SXZHY] > S ; "T=p,P=3" # think > thinks [SXZH] > ES ; "T=p,P=3" # fix > fixes [^AEIOU]Y > -Y,IES ; "T=p,P=3" # carry > carries [AEIOU]Y > S ; "T=p,P=3" # buy > buys flag *G: ; "CAT=v" # ing (Present Perfect) [^EC] > ING ; "T=prp" # cross > crossing [^IEYO]E > -E,ING ; "T=prp" # like -> liking I E > -IE,YING ; "T=prp" # die -> dying [EYO]E > ING ; "T=prp" # agree -> agreeing C > KING ; "T=prp" # traffic -> trafficking flag *D: ; "CAT=v" # Past [^EYC] > ED ; "T=pa" # cross > crossed E > D ; "T=pa" # create > created [^AEIOU]Y > -Y,IED ; "T=pa" # carry > carried [AEIOU]Y > ED ; "T=pa" # convey > conveyed C > KED ; "T=pa" # traffic -> trafficked flag *g: ; "CAT=v" # ing (Present Perfect) 2� flag B > BING ; "T=prp" # D > DING ; "T=prp" # G > GING ; "T=prp" # L > LING ; "T=prp" # M > MING ; "T=prp" # N > NING ; "T=prp" # P > PING ; "T=prp" # R > RING ; "T=prp" # bar -> barring T > TING ; "T=prp" # permit -> permitting V > VING ; "T=prp" # flag *d: ; "CAT=v" # Past (2� flag) B > BED ; "T=pa" # D > DED ; "T=pa" # G > GED ; "T=pa" # L > LED ; "T=pa" # M > MED ; "T=pa" # N > NED ; "T=pa" # P > PED ; "T=pa" # R > RED ; "T=pa" # bar -> barred T > TED ; "T=pa" # permit -> permitted V > VED ; "T=pa" # #------------------------------------------------------------------ flag T: ; "CAT=adj" E > ST ; "GR=sa" # late > latest [^AEIOU]Y > -Y,IEST ; "GR=sa" # early > earliest [AEIOU]Y > EST ; "GR=sa" # gray > grayest [^EY] > EST ; "GR=sa" # small > smallest flag *t: ; "CAT=adj" # Past (2� flag) D > DEST ; "GR=sa" # G > GEST ; "GR=sa" # L > LEST ; "GR=sa" # M > MEST ; "GR=sa" # N > NEST ; "GR=sa" # T > TEST ; "GR=sa" # flag *R: ; "CAT=adj" E > R ; "GR=csup" # late > later [^AEIOU]Y > -Y,IER ; "GR=csup" # early > earlier [AEIOU]Y > ER ; "GR=csup" # gray > grayer [^EY] > ER ; "GR=csup" # small -> smaller flag *r: ; "CAT=adj" # Past (2� flag) D > DER ; "GR=csup" # G > GER ; "GR=csup" # L > LER ; "GR=csup" # M > MER ; "GR=csup" # N > NER ; "GR=csup" # T > TER ; "GR=csup" # #------------------------------------------------------------------ flag *Z: E > R ; "CAT=n" # skate > skater [^AEIOU]Y > -Y,IER ; "CAT=n" # multiply > multiplier [AEIOU]Y > ER ; "CAT=n" # convey > conveyer [^EY] > ER ; "CAT=n" # build > builder flag *z: E > -E,AL ; "CAT=adj" # [^E] > AL ; "CAT=adj" # flag V: ; "CAT=v" E > -E,IVE ; "CAT=adj,FSEM=ive" # create > creative [^E] > IVE ; "CAT=adj,FSEM=ive" # prevent > preventive flag *N: E > -E,ION ; "CAT=n" # create > creation Y > -Y,ICATION; "CAT=n" # multiply > multiplication [^EY] > EN #; # fall > fallen ?????????????? flag *P: ; "CAT=adj" [^AEIOU]Y > -Y,INESS ; "CAT=n" # cloudy > cloudiness [AEIOU]Y > NESS ; "CAT=n" # gray > grayness [^Y] > NESS ; "CAT=n" # late > lateness flag *Y: ; "CAT=adj" . > LY ; "CAT=adv,FSEM=ly" # quick > quickly flag H: Y > -Y,IETH ; "CAT=nord" # twenty > twentieth [^Y] > TH ; "CAT=nord" # hundred > hundredth flag *M: . > 'S # dog > dog's ??????????????