add 21x21 info for German

This commit is contained in:
Eric House 2023-03-10 10:03:18 -08:00
parent a7449033ec
commit cc0e5d978f
4 changed files with 79 additions and 33 deletions

View file

@ -1 +1 @@
Makefile.sf
Makefile.Deutsch2022

View file

@ -0,0 +1,45 @@
# -*- mode: makefile; coding: utf-8; -*-
# Copyright 2002 - 2023 by Eric House (xwords@eehouse.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.
XWLANG = Deutsch2022
LANGCODE = de_DE
ENC = UTF-8
DICTNOTE = "Contributed by a user"
TARGET_TYPE ?= WINCE
include ../Makefile.langcommon
SOURCEDICT ?= $(XWDICTPATH)/German/Deutsch2022.txt
$(XWLANG)Main.dict.gz: $(SOURCEDICT) Makefile
file -z $(SOURCEDICT) | grep -q 'UTF-8 text' || exit 1
cat $< \
| sed 's,.,\U\0,g' \
| sed -e 's/ß/SS/g' \
| grep '^[AÄBCDEFGHIJKLMNOÖPQRSTUÜVWXYZ]*$$' \
| gzip -c > $@
# Everything but creating of the Main.dict file is inherited from the
# "parent" Makefile.langcommon in the parent directory.
clean: clean_common
rm -f $(XWLANG)Main.dict.gz *.bin $(XWLANG)*.pdb $(XWLANG)*.seb
help:
@echo 'make [SOURCEDICT=HansGerman.dict.gz|deutsch.dict.gz]'

View file

@ -47,36 +47,38 @@ LANGINFO: contain letters not found on tiles.</p>
# German==3. Low byte is padding
XLOC_HEADER:0x8300
COUNT_SIZES: 15 21
<BEGIN_TILES>
{"_"} 0 2
'A|a' 1 5
'Ä|ä' 6 1
'B|b' 3 2
'C|c' 4 2
'D|d' 1 4
'E|e' 1 15
'F|f' 4 2
'G|g' 2 3
'H|h' 2 4
'I|i' 1 6
'J|j' 6 1
'K|k' 4 2
'L|l' 2 3
'M|m' 3 4
'N|n' 1 9
'O|o' 2 3
'Ö|ö' 8 1
'P|p' 4 1
'Q|q' 10 1
'R|r' 1 6
'S|s' 1 7
'T|t' 1 6
'U|u' 1 6
'Ü|ü' 6 1
'V|v' 6 1
'W|w' 3 1
'X|x' 8 1
'Y|y' 10 1
'Z|z' 3 1
{"_"} 0 2 4
'A|a' 1 5 10
'Ä|ä' 6 1 2
'B|b' 3 2 4
'C|c' 4 2 4
'D|d' 1 4 8
'E|e' 1 15 29
'F|f' 4 2 4
'G|g' 2 3 6
'H|h' 2 4 8
'I|i' 1 6 11
'J|j' 6 1 2
'K|k' 4 2 4
'L|l' 2 3 6
'M|m' 3 4 8
'N|n' 1 9 17
'O|o' 2 3 6
'Ö|ö' 8 1 2
'P|p' 4 1 2
'Q|q' 10 1 2
'R|r' 1 6 11
'S|s' 1 7 14
'T|t' 1 6 12
'U|u' 1 6 12
'Ü|ü' 6 1 2
'V|v' 6 1 2
'W|w' 3 1 2
'X|x' 8 1 2
'Y|y' 10 1 2
'Z|z' 3 1 2
<END_TILES>
# should ignore all after the <END_TILES> above

View file

@ -54,13 +54,12 @@ def main():
line = line.strip()
length = len(line)
# if not length in wordSizeCounts: wordSizeCounts[length] = 0
wordSizeCounts[length] += 1
wordCount += 1
for letter in line:
ii = ord(letter)
assert ii > 32 or ii < 4 or ii == 0, 'letter {} out of range'.format(ii)
assert ii > 32 or ii < 4 or ii == 0, 'letter {} in word {} out of range'.format(ii, line)
if not letter in letters: letters[letter] = Letter(letter)
letters[letter].increment()
letterCount += 1