Tue Jan 23 18:03:34 CET 2007 pdm@brailcom.org
authorpdm <pdm>
Tue, 23 Jan 2007 17:08:19 +0000 (17:08 +0000)
committerpdm <pdm>
Tue, 23 Jan 2007 17:08:19 +0000 (17:08 +0000)
  * Handling of single letter words of long vowels improved

czech-lexicon.scm
czech.scm

index 78b3152..e0105b4 100644 (file)
@@ -25,6 +25,8 @@
 
 ("a"  sym (((a:) 0)))
 ("a"  nil (((a) 0)))
+("á"  sym (((d l o u h e: ) 0) ((a:) 0)))
+("á"  int (((a:) 0)))
 ("ä"  nil (((p r~ e h l a s o v a n e:) 0) ((a:) 0)))
 ("b"  nil (((b e:) 0)))
 ("c"  nil (((c e:) 0)))
 ("d"  nil (((d e:) 0)))
 ("ï"  nil (((d~ e:) 0)))
 ("e"  nil (((e:) 0)))
+("é"  nil (((d l o u h e: ) 0) ((e:) 0)))
 ("ì"  nil (((i j e) 0)))
 ("f"  nil (((e f) 0)))
 ("g"  nil (((g e:) 0)))
 ("h"  nil (((h a:) 0)))
 ("ch" nil (((ch a:) 0)))
+("í"  nil (((d l o u h e: ) 0) ((i:) 0)))
 ("j"  nil (((j e:) 0)))
 ("k"  sym (((k a:) 0)))
 ("k"  nil (((k) 0)))
@@ -46,6 +50,8 @@
 ("ò"  nil (((e n~) 0)))
 ("o"  sym (((o:) 0)))
 ("o"  nil (((o) 0)))
+("ó"  sym (((d l o u h e: ) 0) ((o:) 0)))
+("ó"  int (((o:) 0)))
 ("ö"  nil (((p r~ e h l a s o v a n e:) 0) ((o:) 0)))
 ("p"  nil (((p e:) 0)))
 ("q"  nil (((k v e:) 0)))
 ("»"  nil (((t~ e:) 0)))
 ("u"  sym (((u:) 0)))
 ("u"  nil (((u) 0)))
+("ú"  nil (((d l o u h e: ) 0) ((u:) 0)))
+("ù"  nil (((u:) 0) ((s k r o u s~ k e m) 0)))
 ("ü"  nil (((p r~ e h l a s o v a n e:) 0) ((u:) 0)))
 ("v"  sym (((v e:) 0)))
 ("v"  nil (((v) 0)))
+("w"  nil (((d v o j i t e:) 0) ((v e:) 0)))
 ("x"  nil (((i k s) 0)))
 ("y"  nil (((i p s i l o n) 0)))
+("ý"  nil (((d l o u h e:) 0) ((i p s i l o n) 0)))
 ("z"  sym (((z e t) 0)))
 ("z"  nil (((z) 0)))
 ("¾"  nil (((z~ e t) 0)))
index 2a16493..d4553d8 100644 (file)
--- a/czech.scm
+++ b/czech.scm
 (defvar czech-char-regexp (string-append "[" czech-chars "]"))
 
 (defvar czech-multiword-abbrevs
-  '(("é" ("dlouhé" "e"))
-    ("í" ("dlouhé" "i"))
-    ("ú" ("dlouhé" "u"))
-    ("ù" ("u" "s" "krou¾kem"))
-    ("w" ("dvojité" "v"))
-    ("ý" ("dlouhé" "y"))
-    ("`" ("obrácený" "apostrof"))
+  '(("`" ("obrácený" "apostrof"))
     ("\\" ("zpìtné" "lomítko"))
     (">" ("vìt¹í" "ne¾"))
     ("<" ("men¹í" "ne¾"))
       (set! w (item.prev w)))
     result))
 
+(define (czech-pos-first-in-phrase? word)
+  (<= (czech-pos-in-phrase-from word) 1))
+
 (define (czech-pos-in-phrase-to word)
   (let ((result 1)
         (w word))
                    1)
              (item.set_feat w 'pos nil)
              (item.set_feat w 'pos 'punc)))
+        ;; Special interjections
+        ((and (member name '("á" "ó"))
+              (czech-pos-first-in-phrase? w))
+         (item.set_feat w 'pos 'int))
         ;; Single letter, not in the role of a word
         ((and (eq? (string-length name) 1)
               (czech-pos-last-in-phrase? w))