# # $Id: german.aff,v 1.13 91/09/12 00:01:36 geoff Exp $ # # Copyright 1988, 1989, by Geoff Kuenning, Manhattan Beach, CA # Permission for non-profit use is hereby granted. # All other rights reserved. # See "version.h" for a more complete copyright notice. # # $Log: german.aff,v $ # Revision 1.13 91/09/12 00:01:36 geoff # Change the comments about parameters in local.h, since German-capable # defaults are now provided in config.X. # # Revision 1.12 91/09/04 14:35:36 geoff # Get rid of some examples that are actually bad German. # # Revision 1.11 91/07/27 20:48:18 geoff # Add comments about the local.h parameters needed to support this affix # file. Fix a minor cosmetic error. # # Revision 1.10 91/07/15 19:39:26 geoff # Changes from Andreas Stolcke: major rearrangement of string character # definitions to support LaTeX's german.sty, plain TeX, nroff with # -me/-ms/-mm, regular ASCII files, and the ISO Latin-1 set. Six new # prefix flags, for the separable um-, ueber-, unter-, hin-, and her- # prefixes, and for the inseparable zer-prefix. Thanks, Andreas! # # Revision 1.9 91/07/05 16:48:29 geoff # Add the "ss" and "SS" pseudo-glyphs as alternate string characters for # TeX as well as nroff mode. This is necessary now that string # characters are only recognized for the active mode. # # Revision 1.8 91/05/27 21:35:27 geoff # Add string type statements. Add curly braces to the TeX ess-zed # characters. Make "ss" be a string character so it will be suggested # as a replacement for ess-zed (and vice versa). # # Revision 1.7 90/04/26 22:43:57 geoff # Add the alternate string character forms for use with TeX. Also fix # a syntax error in the "q" flag. # # Revision 1.6 89/12/27 22:26:16 geoff # Clean up a lot of rules where E was being deleted and re-added # unnecessarily. Add a few rules to handle E[LR]N-style verbs. # # Revision 1.5 89/04/28 01:08:12 geoff # Change Header to Id; nobody cares about my pathnames. # # Revision 1.4 89/04/27 23:30:40 geoff # Rewrite to make use of string characters to support the German "special" # characters. # # Revision 1.3 89/02/18 00:51:47 geoff # Add some more commentary (primarily disclaimers), and tweak a bunch # of affix definitions to try to make dictionaries smaller. # # Revision 1.2 88/12/26 02:24:49 geoff # Update the copyright notice. # # Revision 1.1 88/12/14 00:13:01 geoff # Initial revision # # # Affix table for German # # This table is a first cut at a description of the common affixes found # in the German language. It is definitely not final. This # file should be considered as a suggestion and an example of how a proper # affix file might be done. (It is obvious from the experience of trying to # build this file that a proper affix description must be done by a native # speaker of the language, at least until such time as I improve "findaffix" # to handle character-stripping). # # If a native German speaker chooses to create a well-thought-out affix # file, please send a copy to me (geoff@ITcorp.com), both so that I may # use it myself and so that I may distribute it to the "ispell" community. # I would also welcome receiving affix files for any other languages. # # This affix file uses both upper- and lower-case affix flags, so you # must #define MASKBITS 64 in your local.h file. # # Here's a record of flags used, in case you want to add new ones. # # ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz # Used: *** ****** ********** **** *** *** ** * ****** # ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz # Available: - - - ---- - --- --- # allaffixes on # Character-set definitions. The special-character strings are appropriate # for use with the "-mm" nroff/troff macro package. Users of other formatters # or macro packages will undoubtedly have to modify these definitions. # The definition of "ess-zed" requires that you define two characters in # your ".mm" files; "\*(ss" should expand to "\*b" (the Greek beta, which # is fairly close to ess-zed) and "\*(SS" should expand to "SS" (two capital # esses). # # These definitions also illustrate a cute little trick. By declaring the # non-special string 'ss' as a stringchar, we cause ispell to represent it # as a single character internally. This allows ispell to suggest spellings # that use ess-zed as corrections for spellings using double esses, which is # good because this is a common spelling error. The price we pay is that # ispell will not generate proper corrections for less common typos such # as "st" for "ss". # # generic umlauts and sz as used in german word list # All othertypes are defined relative to this one. # defstringtype "list" ".list" wordchars a A stringchar a\" A\" wordchars [b-o] [B-O] stringchar o\" O\" wordchars [p-s] [P-S] stringchar ss SS stringchar sS # Ss # No captalized version wordchars [tu] [TU] stringchar u\" U\" wordchars [t-z] [T-Z] # # TeX/LaTeX `a la german.sty # altstringtype "tex" ".tex" ".bib" altstringchar \"a a\" altstringchar \"A A\" altstringchar \"o o\" altstringchar \"O O\" altstringchar \"u u\" altstringchar \"U U\" altstringchar \"s sS altstringchar ss ss altstringchar SS SS # # Plain TeX # altstringtype "plaintex" ".tex" altstringchar \\\"a a\" altstringchar \\\"A A\" altstringchar \\\"o o\" altstringchar \\\"O O\" altstringchar \\\"u u\" altstringchar \\\"U U\" altstringchar {\\ss} sS altstringchar ss ss altstringchar SS SS # # N/Troff with -ms/-me macros packages # altstringtype "nroff" ".nr" ".ms" ".me" altstringchar a\\*\: a\" altstringchar A\\*\: A\" altstringchar o\\*\: o\" altstringchar O\\*\: O\" altstringchar u\\*\: u\" altstringchar U\\*\: U\" altstringchar \\*8 sS altstringchar ss ss altstringchar SS SS # # N/Troff with -mm macros # altstringtype "-mm" ".nr" ".mm" altstringchar a\\*\: a\" altstringchar A\\*\; A\" altstringchar o\\*\: o\" altstringchar O\\*\; O\" altstringchar u\\*\: u\" altstringchar U\\*\; U\" altstringchar \\*(ss sS #altstringchar \\*(SS Ss altstringchar ss ss altstringchar SS SS # # Alternate forms for plain ASCII text files altstringtype "ascii" ".ascii" ".txt" altstringchar ae a\" altstringchar Ae A\" altstringchar oe o\" altstringchar Oe O\" altstringchar ue u\" altstringchar Ue U\" altstringchar ss sS altstringchar ss ss altstringchar SS SS # # Alternate forms for ISO latin1 charset # #altstringtype "latin1" ".latin1" ".txt" # #altstringchar \344 a\" #altstringchar \304 A\" #altstringchar \366 o\" #altstringchar \326 O\" #altstringchar \374 u\" #altstringchar \334 U\" #altstringchar \337 sS #altstringchar ss ss #altstringchar SS SS prefixes flag *a: # Inseparable ab- prefix for verbs . > AB # Wie bauen > abbauen flag A: # Separable an- prefix for verbs . > AN # Wie kommen > ankommen flag b: # Separable bei- prefix for verbs . > BEI # Wie kommen > beikommen flag B: # Separable auf- prefix for verbs . > AUF # Wie halten > aufhalten flag c: # Separable aus- prefix for verbs . > AUS # Wie kommen > auskommen flag *C: # Inseparable be- prefix for verbs . > BE # Wie kommen > bekommen flag *e: # Inseparable er- prefix for verbs . > ER # Wie fahren > erfahren flag E: # Separable ein- prefix for verbs . > EIN # Wie ziehen > einziehen flag f: # Da- compounds [^AA"IOO"UU"] > DA # Wie mit > damit [AA"EIOO"U"] > DAR # Wie auf > darauf flag F: # Wo- compounds [^AA"EIOO"UU"] > WO # Wie mit > womit [AA"EIOO"UU"] > WOR # Wie auf > worauf flag G: # Inseparable ge- prefix for verbs . > GE # Wie schlossen > geschlossen flag h: # Un- prefix for adjectives . > UN # Wie gesund > ungesund flag H: # Separable mit- prefix for verbs . > MIT # Wie kommen > mitkommen flag i: # Separable zu- prefix for verbs . > ZU # Wie kommen > zukommen flag *I: # Inseparable ver- prefix for verbs . > VER # Wie kaufen > verkaufen flag j: # Separable vorbei- prefix for verbs . > VORBEI # Wie gehen > vorbeigehen flag J: # Separable vor- prefix for verbs . > VOR # Wie haben > vorhaben flag *u: # Separable um- prefix for verbs . > UM # Wie gehen > umgehen flag *v: # Separable ueber- prefix for verbs . > \"UBER # Wie gehen > uebergehen flag *w: # Separable unter- prefix for verbs . > UNTER # Wie gehen > untergehen flag *x: # Separable hin- prefix for verbs . > HIN # Wie gehen > hingehen flag *y: # Separable her- prefix for verbs . > HER # Wie gehen > hergehen flag *z: # Inseparable zer- prefix for verbs . > ZER # Wie schlagen > zerschlagen suffixes flag l: # IN for feminizing nouns . > IN # Wie Freund > Freundin flag L: # LICH for creating adverbs N > TLICH # Wie wesen > wesentlich [^N] > LICH # Wie kind > kindlich flag m: # INNEN for plural feminine nouns . > INNEN # Wie Freund > Freundinnen flag M: # EM for adjectives [^ER] > EM # Wie neu > neuem E > M # Wie diese > diesem [^E] R > EM # Wie formbar > formbarem E R > -ER,REM # Wie teuer > teurem flag n: # Dxx for making adjectives from verbs . > D # Wie schlafen > schlafend . > DE # Wie schlafen > schlafende . > DEN # Wie schlafen > schlafenden . > DER # Wie schlafen > schlafender . > DES # Wie schlafen > schlafendes . > DEM # Wie schlafen > schlafendem # Note that the first of these rules is the inverse of the du-form # imperative endings, and the second is the inverse of the ich-form # endings, and thus this rule could be considered superfluous. # However, it allows better suggestions to be generated when a word # is not in the dictionary. Also, this rule does not participate in # cross-products. The price of this is that "munchlist" won't # generate an optimally small dictionary, so I'm not sure that it is # worth it. # flag N: # EN for adjectives [^ER] > EN # Wie neu > neuen E > N # Wie diese > diesen [^E] R > EN # Wie formbar > formbaren E R > -ER,REN # Wie teuer > teuren flag O: # E for adjectives [^ER] > E # Wie neu > neue [^E] R > E # Wie formbar > formbare E R > -ER,RE # Wie teuer > teure # Note that the P flag and the S flag are duplicates for [AEIOUSZ]. This # is harmless (although it causes the raw dictionaries to contain a few # extra bytes). # flag P: # S for plurals and genitives [^SsSZ] > S # Wie Wolfgang > Wolfgangs [SsSZ] > ES # Wie Platz > Platzes # See flag N. # flag *q: # Du-form imperative endings E N > -EN,- # Wie kommen > komm E L N > -N,L # Wie laecheln > laechel E R N > -N,- # Wie naehern > naeher # See flag N. # flag *Q: # Ich-endings E N > -N,- # Wie kommen > komme E L N > -ELN,LE # Wie laecheln > laechle E R N > -N,E # Wie naehern > naehere flag R: # ER for adjectives, nouns, and comparatives [^ER] > ER # Wie neu > neuer E > R # Wie diese > dieser [^E] R > ER # Wie formbar > formbarer E R > -ER,RER # Wie teuer > teurer # See flag P. # flag S: # ES for adjectives [^E] > ES # Wie neu > neues E > S # Wie diese > dieses [^E] R > ES # Wie formbar > formbares E R > -ER,RES # Wie teuer > teures flag *T: # Er/sie/es/ihr-form endings [DT] E N > -N,T # Wie arbeiten > arbeitet [^AA"EIOO"UU"LRMN] [MN] E N > -N,T # Wie atmen > atmet [AA"EIOO"UU"LRMN] [MN] E N > -EN,T # Wie lernen > lernt [^DTMN] E N > -EN,T # Wie leben > lebt E L N > -N,T # Wie laecheln > laechelt E R N > -N,T # Wie naehern > naehert flag *U: # Du-form endings [DT] E N > -N,ST # Wie arbeiten > arbeitest [^AA"EIOO"UU"LRMN] [MN] E N > -N,ST # Wie atmen > atmest [AA"EIOO"UU"LRMN] [MN] E N > -EN,ST # Wie lernen > lernst [SsSZ] E N > -EN,T # Wie heissen > heisst [^DTMNSsSZ] E N > -EN,ST # Wie leben > lebst E L N > -N,ST # Wie laecheln > laechelst E R N > -N,ST # Wie naehern > naeherst flag *W: # Past-tense ich/er/sie/es-form endings [DT] E N > -N,TE # Wie arbeiten > arbeitete [^AA"EIOO"UU"LRMN] [MN] E N > -N,TE # Wie atmen > atmete [AA"EIOO"UU"LRMN] [MN] E N > -EN,TE # Wie lernen > lernte [^DTMN] E N > -EN,TE # Wie leben > lebte E L N > -N,TE # Wie laecheln > laechelte E R N > -N,TE # Wie naehern > naeherte flag *X: # Past-tense du-form endings [DT] E N > -N,TEST # Wie arbeiten > arbeitetest [^AA"EIOO"UU"LRMN] [MN] E N > -N,TEST # Wie atmen > atmetest [AA"EIOO"UU"LRMN] [MN] E N > -EN,TEST # Wie lernen > lerntest [^DTMN] E N > -EN,TEST # Wie leben > lebtest E L N > -N,TEST # Wie laecheln > laecheltest E R N > -N,TEST # Wie naehern > naehertest flag *Y: # Past-tense ihr-form endings [DT] E N > -N,TET # Wie arbeiten > arbeitetet [^AA"EIOO"UU"LRMN] [MN] E N > -N,TET # Wie atmen > atmetet [AA"EIOO"UU"LRMN] [MN] E N > -EN,ETET # Wie ???en > ???etet [^DTMN] E N > -EN,ETET # Wie ???en > ???etet E L N > -N,TET # Wie laecheln > laecheltet E R N > -N,TET # Wie naehern > naehertet flag *Z: # Past-tense sie/Sie-form endings [DT] E N > -N,TEN # Wie arbeiten > arbeiteten [^AA"EIOO"UU"LRMN] [MN] E N > -N,TEN # Wie atmen > atmeten [AA"EIOO"UU"LRMN] [MN] E N > -EN,TEN # Wie lernen > lernten [^DTMN] E N > -EN,TEN # Wie leben > lebten E L N > -N,TEN # Wie laecheln > laechelten E R N > -N,TEN # Wie naehern > naeherten