# Copyright 2002 by Eric House (fixin@peak.org). All rights reserved. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. LANGCODE:de_DE # substitute for sharfes-s LANGFILTER_PRECLIP: sed -e 's/ß/SS/g' | # uppercase all LANGFILTER_POSTCLIP: | tr [a-zäöü] [A-ZÄÖÜ] # no words not containing a vowel LANGFILTER_POSTCLIP: | grep '[AEIOUÄÖÜ]' # none with illegal chars LANGFILTER_POSTCLIP: | grep '^[A-ZÄÖÜ]\+$' LANGFILTER_POSTCLIP: | tr -s '\n\r' '\000\000' # Until I can figure out how to force sort to use a locale's collation # rules we can't trust sort in the filtering rules above and so must # leave the sorting work to dict2dawg.pl. NEEDSSORT:true LANGINFO:

German has the 26 English letters plus the three umlaut LANGINFO: vowels. Scharfes-s is not a legal tile, but if present in LANGINFO: the wordlist submitted it'll be converted to "SS" by our LANGINFO: filtering rules. Additional filtering rules eliminate all LANGINFO: words that don't contain at least one vowel and any that LANGINFO: contain letters not found on tiles.

# High bit means "official". Next 7 bits are an enum where # German==3. Low byte is padding XLOC_HEADER:0x8300 2 0 {"_"} 5 1 'A' # A mit umlaut 1 6 196 2 3 'B' 2 4 'C' 4 1 'D' 15 1 'E' 2 4 'F' 3 2 'G' 4 2 'H' 6 1 'I' 1 6 'J' 2 4 'K' 3 2 'L' 4 3 'M' 9 1 'N' 3 2 'O' # O mit umlaut 1 8 214 1 4 'P' 1 10 'Q' 6 1 'R' 7 1 'S' 6 1 'T' 6 1 'U' # U mit umlaut 1 6 220 1 6 'V' 1 3 'W' 1 8 'X' 1 10 'Y' 1 3 'Z' # should ignore all after the above