summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2010-08-10 17:14:00 +0200
committerHans Hagen <pragma@wxs.nl>2010-08-10 17:14:00 +0200
commite68c228a21a98042c87ef21d9a094b97f941e8de (patch)
tree5684fe397c00006fe5aa63450a8e9a640cd3c2b2
parentd879fd040aa85b55875d8aed16394351518dde21 (diff)
downloadcontext-e68c228a21a98042c87ef21d9a094b97f941e8de.tar.gz
beta 2010.08.10 17:14
-rw-r--r--color/icc/context/colorprofiles.lua14
-rw-r--r--color/icc/context/colorprofiles.xml414
-rw-r--r--metapost/context/font/punkfont-bold.mp4
-rw-r--r--metapost/context/font/punkfont-boldslanted.mp5
-rw-r--r--metapost/context/font/punkfont-characters.mp726
-rw-r--r--metapost/context/font/punkfont-definitions.mp115
-rw-r--r--metapost/context/font/punkfont-slanted.mp4
-rw-r--r--metapost/context/font/punkfont.mp865
-rw-r--r--scripts/context/lua/mtx-chars.lua5
-rw-r--r--scripts/context/lua/mtx-colors.lua51
-rw-r--r--scripts/context/lua/mtx-context.lua5
-rw-r--r--scripts/context/lua/mtx-fonts.lua7
-rw-r--r--scripts/context/lua/mtx-interface.lua14
-rw-r--r--scripts/context/lua/mtx-patterns.lua593
-rw-r--r--scripts/context/lua/mtx-server-ctx-fonttest.lua2
-rw-r--r--scripts/context/lua/mtx-server.lua2
-rw-r--r--scripts/context/lua/mtxrun.lua311
-rw-r--r--scripts/context/stubs/mswin/mtxrun.lua311
-rwxr-xr-xscripts/context/stubs/unix/mtxrun311
-rw-r--r--tex/context/base/attr-div.lua143
-rw-r--r--tex/context/base/back-ini.lua2
-rw-r--r--tex/context/base/back-ini.mkiv10
-rw-r--r--tex/context/base/buff-ini.lua3
-rw-r--r--tex/context/base/buff-ver.mkiv26
-rw-r--r--tex/context/base/char-def.lua2
-rw-r--r--tex/context/base/char-ini.lua11
-rw-r--r--tex/context/base/colo-icc.lua118
-rw-r--r--tex/context/base/colo-ini.lua65
-rw-r--r--tex/context/base/colo-ini.mkiv1
-rw-r--r--tex/context/base/cont-new.tex2
-rw-r--r--tex/context/base/context.mkiv1
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-con.lua249
-rw-r--r--tex/context/base/core-con.mkiv121
-rw-r--r--tex/context/base/core-ctx.mkiv2
-rw-r--r--tex/context/base/data-env.lua2
-rw-r--r--tex/context/base/enco-agr.mkii2
-rw-r--r--tex/context/base/enco-ans.mkii2
-rw-r--r--tex/context/base/enco-ec.mkii2
-rw-r--r--tex/context/base/enco-qx.mkii2
-rw-r--r--tex/context/base/font-afm.lua8
-rw-r--r--tex/context/base/font-ctx.lua122
-rw-r--r--tex/context/base/font-def.lua3
-rw-r--r--tex/context/base/font-enh.lua4
-rw-r--r--tex/context/base/font-gds.lua12
-rw-r--r--tex/context/base/font-ini.lua1
-rw-r--r--tex/context/base/font-ini.mkiv6
-rw-r--r--tex/context/base/font-otd.lua1
-rw-r--r--tex/context/base/font-otf.lua24
-rw-r--r--tex/context/base/font-ott.lua56
-rw-r--r--tex/context/base/font-syn.lua29
-rw-r--r--tex/context/base/font-tfm.lua4
-rw-r--r--tex/context/base/grph-inc.lua3
-rw-r--r--tex/context/base/java-ini.lua36
-rw-r--r--tex/context/base/l-aux.lua68
-rw-r--r--tex/context/base/l-io.lua33
-rw-r--r--tex/context/base/l-lpeg.lua42
-rw-r--r--tex/context/base/l-number.lua18
-rw-r--r--tex/context/base/l-table.lua43
-rw-r--r--tex/context/base/l-unicode.lua12
-rw-r--r--tex/context/base/lang-wrd.lua9
-rw-r--r--tex/context/base/lpdf-col.lua101
-rw-r--r--tex/context/base/lpdf-epd.lua25
-rw-r--r--tex/context/base/lpdf-pdx.lua652
-rw-r--r--tex/context/base/lpdf-pdx.mkiv58
-rw-r--r--tex/context/base/lpdf-ren.lua121
-rw-r--r--tex/context/base/lpdf-tag.lua14
-rw-r--r--tex/context/base/luat-bwc.lua27
-rw-r--r--tex/context/base/luat-cod.lua14
-rw-r--r--tex/context/base/luat-fmt.lua20
-rw-r--r--tex/context/base/luat-lib.mkiv1
-rw-r--r--tex/context/base/lxml-lpt.lua20
-rw-r--r--tex/context/base/lxml-xml.lua14
-rw-r--r--tex/context/base/m-punk.mkiv358
-rw-r--r--tex/context/base/m-units.tex19
-rw-r--r--tex/context/base/math-noa.lua61
-rw-r--r--tex/context/base/math-tag.lua35
-rw-r--r--tex/context/base/meta-ini.mkiv55
-rw-r--r--tex/context/base/mlib-pps.lua137
-rw-r--r--tex/context/base/mult-aux.mkiv165
-rw-r--r--tex/context/base/mult-cld.lua81
-rw-r--r--tex/context/base/mult-de.tex2
-rw-r--r--tex/context/base/mult-def.lua13
-rw-r--r--tex/context/base/mult-en.tex2
-rw-r--r--tex/context/base/mult-fr.tex2
-rw-r--r--tex/context/base/mult-it.tex2
-rw-r--r--tex/context/base/mult-mcs.tex4
-rw-r--r--tex/context/base/mult-mde.tex4
-rw-r--r--tex/context/base/mult-men.tex4
-rw-r--r--tex/context/base/mult-mes.lua6
-rw-r--r--tex/context/base/mult-mfr.tex4
-rw-r--r--tex/context/base/mult-mit.tex4
-rw-r--r--tex/context/base/mult-mnl.tex4
-rw-r--r--tex/context/base/mult-mno.tex4
-rw-r--r--tex/context/base/mult-mpe.tex4
-rw-r--r--tex/context/base/mult-mro.tex4
-rw-r--r--tex/context/base/mult-nl.tex2
-rw-r--r--tex/context/base/mult-ro.tex2
-rw-r--r--tex/context/base/mult-sys.tex2
-rw-r--r--tex/context/base/node-acc.lua10
-rw-r--r--tex/context/base/node-aux.lua6
-rw-r--r--tex/context/base/node-bck.lua6
-rw-r--r--tex/context/base/node-dir.lua1
-rw-r--r--tex/context/base/node-fin.lua22
-rw-r--r--tex/context/base/node-fnt.lua8
-rw-r--r--tex/context/base/node-ini.lua79
-rw-r--r--tex/context/base/node-mig.lua12
-rw-r--r--tex/context/base/node-pro.lua4
-rw-r--r--tex/context/base/node-ref.lua10
-rw-r--r--tex/context/base/node-res.lua28
-rw-r--r--tex/context/base/node-rul.lua45
-rw-r--r--tex/context/base/node-ser.lua8
-rw-r--r--tex/context/base/node-shp.lua19
-rw-r--r--tex/context/base/node-spl.lua16
-rw-r--r--tex/context/base/node-tra.lua137
-rw-r--r--tex/context/base/node-tsk.lua2
-rw-r--r--tex/context/base/node-tst.lua17
-rw-r--r--tex/context/base/node-typ.lua6
-rw-r--r--tex/context/base/pack-rul.mkiv90
-rw-r--r--tex/context/base/page-lin.lua44
-rw-r--r--tex/context/base/page-lin.mkiv60
-rw-r--r--tex/context/base/page-mul.mkii8
-rw-r--r--tex/context/base/page-mul.mkiv51
-rw-r--r--tex/context/base/scrn-nav.mkiv1
-rw-r--r--tex/context/base/spac-ver.lua99
-rw-r--r--tex/context/base/strc-bkm.lua99
-rw-r--r--tex/context/base/strc-bkm.mkiv50
-rw-r--r--tex/context/base/strc-blk.lua4
-rw-r--r--tex/context/base/strc-des.mkiv20
-rw-r--r--tex/context/base/strc-doc.lua124
-rw-r--r--tex/context/base/strc-ini.lua5
-rw-r--r--tex/context/base/strc-itm.mkiv22
-rw-r--r--tex/context/base/strc-lst.lua91
-rw-r--r--tex/context/base/strc-lst.mkiv15
-rw-r--r--tex/context/base/strc-not.lua4
-rw-r--r--tex/context/base/strc-not.mkii2
-rw-r--r--tex/context/base/strc-not.mkiv110
-rw-r--r--tex/context/base/strc-ref.lua5
-rw-r--r--tex/context/base/strc-ref.mkiv344
-rw-r--r--tex/context/base/strc-reg.mkiv2
-rw-r--r--tex/context/base/strc-ren.mkiv15
-rw-r--r--tex/context/base/strc-sec.mkiv7
-rw-r--r--tex/context/base/strc-syn.mkiv7
-rw-r--r--tex/context/base/strc-tag.lua3
-rw-r--r--tex/context/base/syst-ext.mkii4
-rw-r--r--tex/context/base/tabl-ntb.mkiv8
-rw-r--r--tex/context/base/tabl-tbl.mkiv14
-rw-r--r--tex/context/base/task-ini.lua4
-rw-r--r--tex/context/base/trac-set.lua55
-rw-r--r--tex/context/base/type-dejavu.mkiv16
-rw-r--r--tex/context/base/type-otf.mkii34
-rw-r--r--tex/context/base/type-otf.mkiv74
-rw-r--r--tex/context/base/typo-brk.lua6
-rw-r--r--tex/context/base/typo-cap.lua6
-rw-r--r--tex/context/base/typo-dig.lua6
-rw-r--r--tex/context/base/typo-krn.lua18
-rw-r--r--tex/context/base/typo-mir.lua12
-rw-r--r--tex/context/base/typo-rep.lua5
-rw-r--r--tex/context/base/typo-spa.lua4
-rw-r--r--tex/context/base/unic-003.mkii2
-rw-r--r--tex/context/base/xetx-utf.mkii5
-rw-r--r--tex/context/fonts/hvmath-math.lfg2
-rw-r--r--tex/context/interface/cont-cs.xml28
-rw-r--r--tex/context/interface/cont-de.xml28
-rw-r--r--tex/context/interface/cont-en.xml28
-rw-r--r--tex/context/interface/cont-fr.xml28
-rw-r--r--tex/context/interface/cont-it.xml28
-rw-r--r--tex/context/interface/cont-nl.xml28
-rw-r--r--tex/context/interface/cont-pe.xml28
-rw-r--r--tex/context/interface/cont-ro.xml28
-rw-r--r--tex/context/interface/keys-cs.xml2
-rw-r--r--tex/context/interface/keys-de.xml2
-rw-r--r--tex/context/interface/keys-en.xml2
-rw-r--r--tex/context/interface/keys-fr.xml2
-rw-r--r--tex/context/interface/keys-it.xml2
-rw-r--r--tex/context/interface/keys-nl.xml2
-rw-r--r--tex/context/interface/keys-pe.xml2
-rw-r--r--tex/context/interface/keys-ro.xml2
-rw-r--r--tex/context/patterns/lang-agr.hyp34
-rw-r--r--tex/context/patterns/lang-agr.lua55
-rw-r--r--tex/context/patterns/lang-agr.pat225
-rw-r--r--tex/context/patterns/lang-agr.rme39
-rw-r--r--tex/context/patterns/lang-bg.lua10
-rw-r--r--tex/context/patterns/lang-bg.rme6
-rw-r--r--tex/context/patterns/lang-ca.lua8
-rw-r--r--tex/context/patterns/lang-ca.rme6
-rw-r--r--tex/context/patterns/lang-cs.lua8
-rw-r--r--tex/context/patterns/lang-cs.rme6
-rw-r--r--tex/context/patterns/lang-cy.lua8
-rw-r--r--tex/context/patterns/lang-cy.rme6
-rw-r--r--tex/context/patterns/lang-da.lua8
-rw-r--r--tex/context/patterns/lang-da.rme6
-rw-r--r--tex/context/patterns/lang-de.lua11
-rw-r--r--tex/context/patterns/lang-de.rme5
-rw-r--r--tex/context/patterns/lang-deo.lua11
-rw-r--r--tex/context/patterns/lang-deo.rme5
-rw-r--r--tex/context/patterns/lang-es.lua8
-rw-r--r--tex/context/patterns/lang-es.rme5
-rw-r--r--tex/context/patterns/lang-et.lua8
-rw-r--r--tex/context/patterns/lang-et.rme6
-rw-r--r--tex/context/patterns/lang-eu.lua10
-rw-r--r--tex/context/patterns/lang-eu.rme6
-rw-r--r--tex/context/patterns/lang-fi.lua8
-rw-r--r--tex/context/patterns/lang-fi.rme6
-rw-r--r--tex/context/patterns/lang-fr.lua14
-rw-r--r--tex/context/patterns/lang-fr.pat69
-rw-r--r--tex/context/patterns/lang-fr.rme6
-rw-r--r--tex/context/patterns/lang-gb.lua8
-rw-r--r--tex/context/patterns/lang-gb.rme6
-rw-r--r--tex/context/patterns/lang-hr.lua8
-rw-r--r--tex/context/patterns/lang-hr.rme6
-rw-r--r--tex/context/patterns/lang-hu.lua8
-rw-r--r--tex/context/patterns/lang-hu.rme6
-rw-r--r--tex/context/patterns/lang-is.lua8
-rw-r--r--tex/context/patterns/lang-is.rme6
-rw-r--r--tex/context/patterns/lang-it.lua60
-rw-r--r--tex/context/patterns/lang-it.pat33
-rw-r--r--tex/context/patterns/lang-it.rme52
-rw-r--r--tex/context/patterns/lang-la.lua13
-rw-r--r--tex/context/patterns/lang-la.rme11
-rw-r--r--tex/context/patterns/lang-lt.lua8
-rw-r--r--tex/context/patterns/lang-lt.rme6
-rw-r--r--tex/context/patterns/lang-lv.hyp8
-rw-r--r--tex/context/patterns/lang-lv.lua35
-rw-r--r--tex/context/patterns/lang-lv.pat11590
-rw-r--r--tex/context/patterns/lang-lv.rme19
-rw-r--r--tex/context/patterns/lang-mn.lua8
-rw-r--r--tex/context/patterns/lang-mn.rme6
-rw-r--r--tex/context/patterns/lang-nb.hyp49
-rw-r--r--tex/context/patterns/lang-nb.lua125
-rw-r--r--tex/context/patterns/lang-nb.rme117
-rw-r--r--tex/context/patterns/lang-nl.lua8
-rw-r--r--tex/context/patterns/lang-nl.rme6
-rw-r--r--tex/context/patterns/lang-nn.hyp49
-rw-r--r--tex/context/patterns/lang-nn.lua125
-rw-r--r--tex/context/patterns/lang-nn.rme117
-rw-r--r--tex/context/patterns/lang-pl.lua11
-rw-r--r--tex/context/patterns/lang-pl.rme5
-rw-r--r--tex/context/patterns/lang-pt.lua14
-rw-r--r--tex/context/patterns/lang-pt.pat5
-rw-r--r--tex/context/patterns/lang-pt.rme6
-rw-r--r--tex/context/patterns/lang-ro.lua8
-rw-r--r--tex/context/patterns/lang-ro.rme6
-rw-r--r--tex/context/patterns/lang-ru.lua14
-rw-r--r--tex/context/patterns/lang-ru.pat2217
-rw-r--r--tex/context/patterns/lang-ru.rme6
-rw-r--r--tex/context/patterns/lang-sk.lua8
-rw-r--r--tex/context/patterns/lang-sk.rme6
-rw-r--r--tex/context/patterns/lang-sl.lua8
-rw-r--r--tex/context/patterns/lang-sl.rme6
-rw-r--r--tex/context/patterns/lang-sr.lua8
-rw-r--r--tex/context/patterns/lang-sr.rme6
-rw-r--r--tex/context/patterns/lang-sv.lua8
-rw-r--r--tex/context/patterns/lang-sv.rme6
-rw-r--r--tex/context/patterns/lang-tk.lua16
-rw-r--r--tex/context/patterns/lang-tk.pat3
-rw-r--r--tex/context/patterns/lang-tk.rme6
-rw-r--r--tex/context/patterns/lang-tr.lua10
-rw-r--r--tex/context/patterns/lang-tr.rme6
-rw-r--r--tex/context/patterns/lang-uk.lua16
-rw-r--r--tex/context/patterns/lang-uk.pat2444
-rw-r--r--tex/context/patterns/lang-uk.rme6
-rw-r--r--tex/context/patterns/lang-us.lua8
-rw-r--r--tex/context/patterns/lang-us.rme6
-rw-r--r--tex/context/patterns/lang-zh.lua14
-rw-r--r--tex/context/patterns/lang-zh.pat7
-rw-r--r--tex/context/patterns/lang-zh.rme6
-rw-r--r--tex/context/test/pdf-x-common.mkiv22
-rw-r--r--tex/context/test/pdf-x1a-2001.mkiv9
-rw-r--r--tex/context/test/pdf-x1a-2003.mkiv10
-rw-r--r--tex/context/test/pdf-x3-2002.mkiv10
-rw-r--r--tex/context/test/pdf-x3-2003.mkiv9
-rw-r--r--tex/context/test/pdf-x4.mkiv11
-rw-r--r--tex/context/test/pdf-x4p.mkiv28
-rw-r--r--tex/generic/context/luatex-fonts-merged.lua209
-rw-r--r--web2c/context.cnf1
276 files changed, 23805 insertions, 3845 deletions
diff --git a/color/icc/context/colorprofiles.lua b/color/icc/context/colorprofiles.lua
new file mode 100644
index 000000000..b2ae731a7
--- /dev/null
+++ b/color/icc/context/colorprofiles.lua
@@ -0,0 +1,14 @@
+-- This is just an example. We support both an xml format as well
+-- as lua tables.
+
+return {
+ {
+ filename = "CoatedFOGRA39.icc",
+ id = "FOGRA39",
+ info = "Coated FOGRA39 (ISO 12647-2:2004)",
+ checksum = "74ff62f330bf0dbe4495b5720542d511",
+ url = "http://www.color.org",
+ outputcondition = "",
+ version = "21000000",
+ }
+}
diff --git a/color/icc/context/colorprofiles.xml b/color/icc/context/colorprofiles.xml
new file mode 100644
index 000000000..b570849c5
--- /dev/null
+++ b/color/icc/context/colorprofiles.xml
@@ -0,0 +1,414 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+
+<!--
+
+ We can also support using a lua file: icc.lcg (color goodies) in which case
+ the filename is the hash.
+
+-->
+
+<!--
+
+ <profile>
+ <filename>the file name of the ICC profile</filename>
+ <colorspace>the color space of the profile</colorspace>
+ <class>the device class of the profile (prtr=printer, mntr=monitor, scnr=scanner,spac=space)</class>
+ <id>identifier of the measured data (not for the profile) on which the profile relies; e.g. FOGRA39</id>
+ <info>(optional) info text about the profile</info>
+ <checksum>md5 checksum of the profile</checksum>
+ <version>version number of the profile in hex form</version>
+ <url>url where the profile can be downloaded</url>
+ <outputcondition>(optional) useful info about print technology, paper type/weight</outputcondition>
+ </profile>
+
+-->
+
+<profiles>
+
+ <!-- ghostscript profiles -->
+
+ <profile>
+ <type>default</type>
+ <filename>default_cmyk.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <info>Artifex PS CMYK Profile</info>
+ <checksum>de955d740998369ea1051a4e3e84eb90</checksum>
+ <version>42000000</version>
+ </profile>
+
+ <profile>
+ <type>default</type>
+ <filename>default_gray.icc</filename>
+ <colorspace>GRAY</colorspace>
+ <class>scnr</class>
+ </profile>
+
+ <profile>
+ <type>default</type>
+ <filename>default_rgb.icc</filename>
+ <colorspace>RGB</colorspace>
+ <class>mntr</class>
+ </profile>
+
+ <profile>
+ <type>default</type>
+ <filename>lab.icc</filename>
+ <colorspace>Lab</colorspace>
+ <class>spac</class>
+ </profile>
+
+ <profile>
+ <type>default</type>
+ <filename>ps_cmyk.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <info>U.S. Web Coated (SWOP) v2</info>
+ <checksum>79d7e984ea3ac74eed7cc92bf6b22a0d</checksum>
+ <version>21000000</version>
+ </profile>
+
+ <profile>
+ <type>default</type>
+ <filename>ps_gray.icc</filename>
+ <colorspace>GRAY</colorspace>
+ <class>mntr</class>
+ </profile>
+
+ <profile>
+ <type>default</type>
+ <filename>ps_rgb.icc</filename>
+ <colorspace>RGB</colorspace>
+ <class>mntr</class>
+ </profile>
+
+ <profile>
+ <type>default</type>
+ <filename>sgray.icc</filename>
+ <colorspace>GRAY</colorspace>
+ <class>scnr</class>
+ </profile>
+
+ <profile>
+ <type>default</type>
+ <filename>srgb.icc</filename>
+ <colorspace>RGB</colorspace>
+ <class>mntr</class>
+ </profile>
+
+
+ <!-- test profiles from www.color.org -->
+
+ <profile>
+ <filename>Probev1_ICCv2.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>Custom</id>
+ <info>Probev1_ICCv2.icc</info>
+ <checksum>7d8357d5cb86990465b3d7d4ef359404</checksum>
+ <version>20000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>Probev1_ICCv4.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>Custom</id>
+ <info>Probev1_ICCv4.icc</info>
+ <checksum>915f373c10daf2e295c0e707d3beb856</checksum>
+ <version>40000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>Probe2_ICCv4</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>Custom</id>
+ <info>Probev2_ICCv4.icc</info>
+ <checksum>cd8ccdb2b8ee902100cfc45a75b84579</checksum>
+ <version>40000000</version>
+ <url>>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+
+ <!-- GWG recommendated ICC profiles; see http://www.gwg.org/colormanagement.phtml for the details -->
+
+ <profile>
+ <filename>CoatedFOGRA39.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>FOGRA39</id>
+ <info>Coated FOGRA39 (ISO 12647-2:2004)</info>
+ <checksum>74ff62f330bf0dbe4495b5720542d511</checksum>
+ <version>21000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>GRACoL2006_Coated1v2.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>CGATS TR 006</id>
+ <info>GRACoL2006_Coated1v2.icc</info>
+ <checksum>cc7a6196271b13dbae4622aa1fa0fca9</checksum>
+ <version>20000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>ISOcoated_v2_eci_300.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>FOGRA39</id>
+ <info>ISO Coated v2 300% (ECI)</info>
+ <checksum>e14f5db955711d914d877df35ad7a1b5</checksum>
+ <version>24000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition>Offset printing, according to ISO 12647-2:2004/Amd 1, OFCOM, paper type 1 or 2 = coated art, 115 g/m2, tone value increase curves A (CMY) and B (K)</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>ISOcoated_v2_eci.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>FOGRA39</id>
+ <info>ISO Coated v2 (ECI)</info>
+ <checksum>bda07efcacf5377e91edacb0454ea7e5</checksum>
+ <version>2400000</version>
+ <url>http://www.color.org</url>
+ <outputcondition>Offset printing, according to ISO 12647-2:2004/Amd 1, OFCOM, paper type 1 or 2 = coated art, 115 g/m2, tone value increase curves A (CMY) and B (K)</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>ISOnewspaper26v4.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>IFRA26</id>
+ <info>ISOnewspaper26v4</info>
+ <checksum>bca21a6afa3a4b5cef9ca8e91565c1b7</checksum>
+ <version>2400000</version>
+ <url>http://www.color.org</url>
+ <outputcondition>Newspaper Coldset-Offset printing according to ISO/DIS 12647-3:2004, standard newsprint 45g/m2, screen ruling 40 l/cm, see readme</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>ISOnewspaper26v4_gr.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>IFRA26</id>
+ <info>ISOnewspaper26v4_gr</info>
+ <checksum>45dabde250dbbc2b4ab1ddaab1380892</checksum>
+ <version>2400000</version>
+ <url>http://www.color.org</url>
+ <outputcondition>Newspaper Coldset-Offset printing according to ISO/DIS 12647-3:2004, standard newsprint 45g/m2, screen ruling 40 l/cm, see readme</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>ISOuncoated.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>FOGRA29</id>
+ <info>ISO Uncoated</info>
+ <checksum>c62d711cf39488a1fc60e8be18a9d6d7</checksum>
+ <version>2000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition>Offset printing according to ISO/DIS 12647-2:2003, OFCOM, paper type 4 = white, uncoated, 120 g/m2, screen ruling 60 cm-1, positive-acting plates, see readme</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>ISOuncoatedyellowish.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>FOGRA30</id>
+ <info>ISO Uncoated Yellowish</info>
+ <checksum>06db2a1b6d1eff0a49aaf350888a170e</checksum>
+ <version>2400000</version>
+ <url>http://www.color.org</url>
+ <outputcondition>Offset printing according to ISO/DIS 12647-2:2004, OFCOM, paper type 5 = slightly yellowish, uncoated, 120 g/m2, screen ruling 60 cm-1, positive-acting plates, see readme</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>ISOwebcoated.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>FOGRA28</id>
+ <info>ISO Web Coated</info>
+ <checksum>0bf2ede138b0272421b629b6c8c4deaf</checksum>
+ <version>2000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition>Offset printing according to ISO/DIS 12647-2:2003, OFCOM, paper type 3 = low weight coated web offset, 60 g/m2, screen ruling 60 cm-1, positive-acting plates, see readme</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>JapanColor2001Coated.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>JC200103</id>
+ <info>Japan Color 2001 Coated</info>
+ <checksum>4cb167869183b59bbad20fb90ccf3e0c</checksum>
+ <version>2100000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>JapanColor2002Newspaper.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>JCN2002</id>
+ <info>Japan Color 2002 Newspaper</info>
+ <checksum>fa5be8d5b4eb756bf1399afc2cda7d1c</checksum>
+ <version>2100000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>JapanWebCoated.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>JCW2003</id>
+ <info>Japan Web Coated (Ad)</info>
+ <checksum>f8607e551233cefdda26d7d6baaa2a4f</checksum>
+ <version>2100000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>SNAP-2007.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>CGATS TR 002</id>
+ <info>SNAP 2007</info>
+ <checksum>8d48c9b10937672a0690b724e0527247</checksum>
+ <version>4100000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>SWOP2006_Coated3v2.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>CGATS TR 003</id>
+ <info>SWOP2006_Coated3v2.icc</info>
+ <checksum>7fbad4c0ae1cb7195c34bfc20e623437</checksum>
+ <version>2000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>SWOP2006_Coated5v2.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>CGATS TR 005</id>
+ <info>SWOP2006_Coated5v2.icc</info>
+ <checksum>34f7c3c809b926b173ee54e13d655bee</checksum>
+ <version>2000000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>UncoatedFOGRA29.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>FOGRA29</id>
+ <info>Uncoated FOGRA29 (ISO 12647-2:2004)</info>
+ <checksum>e3d8676356f2709a7b120036b7ada996</checksum>
+ <version>2100000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <profile>
+ <filename>WebCoatedFOGRA28.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>FOGRA28</id>
+ <info>Web Coated FOGRA28 (ISO 12647-2:2004)</info>
+ <checksum>6e3b77d09d3613bc52ba7f63048d4638</checksum>
+ <version>2100000</version>
+ <url>http://www.color.org</url>
+ <outputcondition/>
+ </profile>
+
+ <!--
+ Some currently (JUN2010) unregistered gravure profiles from ECI (www.eci.org). As a consequence
+ the 'Custom' id is used; url and outputcondition are filled with something that hopefully
+ makes sense
+ -->
+
+ <profile>
+ <filename>PSR_LWC_PLUS_V2_PT.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>Custom</id>
+ <info>PSR_LWC_PLUS_V2_PT</info>
+ <checksum>2373b50219e8df70c70f2e0e798c2e38</checksum>
+ <version>2400000</version>
+ <url>http://www.eci.org</url>
+ <outputcondition>Gravure printing according to ISO 12647-4, paper type LWC (light weight coated) plus</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>PSR_LWC_STD_V2_PT.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>Custom</id>
+ <info>PSR_LWC_STD_V2_PT</info>
+ <checksum>0964b3ca5390dfaf7723527bbb7cec37</checksum>
+ <version>2400000</version>
+ <url>http://www.eci.org</url>
+ <outputcondition>Gravure printing according to ISO 12647-4, paper type LWC (light weight coated) standard</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>PSR_SC_PLUS_V2_PT.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>Custom</id>
+ <info>PSR_SC_PLUS_V2_PT</info>
+ <checksum>aa767f70696059557917c050d3ebc6ba</checksum>
+ <version>2400000</version>
+ <url>http://www.eci.org</url>
+ <outputcondition>Gravure printing according to ISO 12647-4, paper type SC (super-calendered) plus</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>PSR_SC_STD_V2_PT.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>Custom</id>
+ <info>PSR_SC_STD_V2_PT</info>
+ <checksum>6d978234223b29cde94dd3a5c3624504</checksum>
+ <version>2400000</version>
+ <url>http://www.eci.org</url>
+ <outputcondition>Gravure printing according to ISO 12647-4, paper type SC (super-calendered) standard</outputcondition>
+ </profile>
+
+ <profile>
+ <filename>PSRgravureMF.icc</filename>
+ <colorspace>CMYK</colorspace>
+ <class>prtr</class>
+ <id>Custom</id>
+ <info>PSRgravureMF</info>
+ <checksum>728f70371f82e930637e60c760876a3d</checksum>
+ <version>2000000</version>
+ <url>http://www.eci.org</url>
+ <outputcondition>Gravure printing according to ISO 12647-4, paper type MF (machine finished), 55 g/m2
+ </outputcondition>
+ </profile>
+
+ <!-- End of 'GWG recommendated ICC profiles' -->
+
+</profiles>
diff --git a/metapost/context/font/punkfont-bold.mp b/metapost/context/font/punkfont-bold.mp
new file mode 100644
index 000000000..1c62963f9
--- /dev/null
+++ b/metapost/context/font/punkfont-bold.mp
@@ -0,0 +1,4 @@
+boolean bold_punk ; bold_punk := true ;
+
+input "punkfont-definitions.mp" ;
+input "punkfont-characters.mp" ;
diff --git a/metapost/context/font/punkfont-boldslanted.mp b/metapost/context/font/punkfont-boldslanted.mp
new file mode 100644
index 000000000..3e5fa1561
--- /dev/null
+++ b/metapost/context/font/punkfont-boldslanted.mp
@@ -0,0 +1,5 @@
+boolean bold_punk ; bold_punk := true ;
+boolean slanted_punk ; slanted_punk := true ;
+
+input "punkfont-definitions.mp" ;
+input "punkfont-characters.mp" ;
diff --git a/metapost/context/font/punkfont-characters.mp b/metapost/context/font/punkfont-characters.mp
new file mode 100644
index 000000000..da0015b02
--- /dev/null
+++ b/metapost/context/font/punkfont-characters.mp
@@ -0,0 +1,726 @@
+initialize_punk_upper ;
+
+beginpunkchar("A",13,1,2);
+z1=pp(1.5u,0); z2=(.5w,1.1h); z3=pp(w-1.5u,0);
+pd z1; pd z3; draw z1--z2--z3; % left and right diagonals
+z4=pp .3[z1,z2]; z5=pp .3[z3,z2]; pd z4; pd z5; draw z4--z5; % crossbar
+endchar;
+
+beginpunkchar("B",12,1,1);
+z1=pp(2u,0); z2=pp(2u,.6h); z3=pp(2u,h); pd z1; pd z3; draw z1--z3; % stem
+z1.5=pp(w-u,.5y2); z2.5=pp(w-u,.5[y2,y3]); draw z2--z2.5--z3; % upper lobe
+draw flex(z2,z1.5,z1); % lower lobe
+endchar;
+
+beginpunkchar("C",13,1,2);
+z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=(.6w,0); z5=(w-2u,.2h);
+pd z1; pd z5; draw z1..z2..z3..z4..z5; % arc
+endchar;
+
+beginpunkchar("D",14,1,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6h);
+pd z1; pd z2; draw flex(z1,z3,z2); % lobe
+draw z1--z2; % stem
+endchar;
+
+beginpunkchar("E",12,.5,1);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2.5u,h); z4=pp(w-2u,0);
+pd z3; pd z4; draw z4--z1--z2--z3; % stem and arms
+z5=pp(2u,.6h); z6=pp(w-3u,.6h); pd z5; pd z6; draw z5--z6; % crossbar
+endchar;
+
+beginpunkchar("F",12,.5,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,h);
+pd z1; pd z3; draw z1--z2--z3; % stem and arm
+z5=pp(2u,.6h); z6=pp(w-3u,.6h); z4=pp .5[z5,z6]-(0,.1h);
+pd z5; pd z6; draw flex (z5,z4,z6); % crossbar
+endchar;
+
+beginpunkchar("G",13,.5,.5);
+z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=pp(.6w,0); z5=(w-2u,0);
+pd z1; draw z1..z2..z3..z4---z5; % arc
+z6=pp(.5[u,x5],.4h); pd z6; pd z5; draw z6--(pp(x5,y6))--z5; % spur
+endchar;
+
+beginpunkchar("H",14,1,.5);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
+z5=pp(2u,.6h); z6=pp(w-2u,.6h);
+pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw flex(z3,z6,z4); % stems
+pd z5; draw z5--z6; % crossbar
+endchar;
+
+beginpunkchar("I",5,1,2);
+z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
+pd z1; pd z4; draw flex(z1,z2,z3,z4); % stem
+endchar;
+
+beginpunkchar("J",9,1,2);
+z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
+pd z1; pd z3; draw z1--z2--z3; % arc
+endchar;
+
+beginpunkchar("K",14,1,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(2u,1/3h); z4=pp(w-1.5u,h);
+pd z1; pd z2; draw z1--z2; % stem
+pd z3; pd z4; draw z3--z4; % upper diagonal
+z6=pp(w-u,0); z5=1/3[z3,z4];
+pd z6; draw flex(z5,.8[z1,2/3[z5,z6] ],z6);% lower diagonal
+endchar;
+
+beginpunkchar("L",11,1,2);
+z1=pp(2u,h); z2=pp(2u,0); z3=pp(w-1.5u,0);
+pd z1; pd z3; draw z1--z2--z3; % stem and arm
+endchar;
+
+beginpunkchar("M",17,.5,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(.5w,0); z4=pp(w-2u,h); z5=pp(w-2u,0);
+pd z1; pd z5; draw z1--z2--z3--z4--z5; % stems and diagonals
+endchar;
+
+beginpunkchar("N",13,.75,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
+pd z1; pd z4; draw z1--z2--z3--z4; % stems and diagonals
+endchar;
+
+beginpunkchar("O",12,.5,2);
+z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
+pd z1; draw z1{left}..z2..z3..z4..z1; % bowl
+endchar;
+
+beginpunkchar("P",13,1,2);
+z1=pp(2u,0); z2=pp(2u,1.1h); z3=pp(2u,.5h); z4=pp(w,.6[y3,y2]);
+pd z1; pd z3; draw z1--z2--z4--z3; % stem and bowl
+endchar;
+
+beginpunkchar("Q",14,.5,2);
+z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
+pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
+z5=pp(.4w,.2h); z6=pp(w-u,-.1h); z7=pp(.5[x5,x6],-.2h);
+pd z5; pd z6; draw z5--z7--z6; % tail
+endchar;
+
+beginpunkchar("R",16,1,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6[y2,y4]); z4=pp(2u,.5h); z5=pp(w-1.5u,0);
+pd z1; pd z2; pd z5; draw z1--flex(z2,z3,z4)--z5; % stem, bowl, and diagonal
+endchar;
+
+beginpunkchar("S",11,.3,1);
+z1=pp(w-2u,.9h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.6[z6,z2];
+z5=pp(w-u,.35h); z6=pp(.5w,u); z7=pp(u,.2h);
+pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7; % stroke
+endchar;
+
+beginpunkchar("T",13,.75,2);
+z1=pp(u,h); z2=pp(w-u,h); z3=pp(.5w,0);
+pd z1; pd z2; pd z3; draw z1--z2; % arms
+draw .5[z1,z2]--z3; % stem
+endchar;
+
+beginpunkchar("U",13,.3,2);
+z1=pp(2u,h); z2=pp(2u,.2h); z3=pp(.5w,0); z4=pp(w-2u,.2h); z5=pp(w-2u,h);
+pd z1; pd z5; draw z1---z2...z3{z4-z2}...z4---z5; % stroke
+endchar;
+
+beginpunkchar("V",13,1,2);
+z1=pp(1.5u,h); z2=pp(.5w,0); z3=pp(w-1.5u,h);
+pd z1; pd z3; draw z1--z2--z3; % diagonals
+endchar;
+
+beginpunkchar("W",18,1,2);
+z1=pp(1.5u,h); z2=pp(.5[x1,x3],0); z3=pp(.5w,.8h); z4=pp(.5[x3,x5],0);
+z5=pp(w-1.5u,h);
+pd z1; pd z5; draw z1--z2--z3--z4--z5; % diagonals
+endchar;
+
+beginpunkchar("X",13,1,1);
+z1=pp(1.5u,h); z2=pp(w-1.5u,0); z3=pp(1.5u,0); z4=pp(w-2.5u,h);
+pd z1; pd z2; draw z1--z2; % main diagonal
+pd z3; pd z4; draw z3--z4; % cross diagonal
+endchar;
+
+beginpunkchar("Y",13,1,2);
+z1=pp(1.5u,h); z2=pp(w-1.5u,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
+pd z1; pd z2; pd z4; draw z1--z3--z4; % stem and left diagonal
+draw z2--z3; % right diagonal
+endchar;
+
+beginpunkchar("Z",11,1,2);
+z1=pp(1.5u,h); z2=pp(w-2.5u,h); z3=pp(1.5u,0); z4=pp(w-1.5u,0);
+pd z1; pd z4; draw z1--z2--z3--z4; % diagonals
+endchar;
+
+beginpunkchar(198,16,1,2); % \AE
+z1=pp(1.5u,0); z2=pp(.6w,h); z3=pp(w-1.5u,h);
+pd z1; pd z3; draw z1--z2--z3; % left diagonal and upper arm
+z4=pp .3[z1,z2]; z5=pp(.6w,0); z6=pp(w-2u,.3h);
+pd z4; pd z6; draw z4--z6; % crossbar
+z7=pp(w-u,0); pd z2; pd z7; draw z2--z5--z7; % stem and lower arm
+endchar;
+
+beginpunkchar(338,18,1,2); % \OE
+z1=pp(.5w,h); z2=pp(u,.4h); z3=pp(.5w,0);
+pd z1; draw z1..z2..{right}z3; % bowl
+z4=pp(w-1.5u,h); z5=pp(w-2u,.4h); z6=pp(w-u,0);
+pd z4; pd z6; draw z4--z1--z3--z6; % arms and stem
+pd z5; draw z5--.4[z3,z1]; % crossbar
+endchar;
+
+beginpunkchar(216,14,1,1); % \O
+z1=pp(.5w,h); z2=pp(u,.5h); z3=pp(.5w,0); z4=pp(w-u,.5h);
+z5=pp(w-2u,1.1h); z6=pp(2u,-.1h);
+pd z1; pd z6; draw z1..z2..z3..z4..z5--z6; % bowl and diagonal
+endchar;
+
+beginpunkchar(915,11,1,2); % $\Gamma$
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-1.5u,h);
+pd z1; pd z3; draw z1--z2--z3; % stem and arm
+endchar;
+
+beginpunkchar(916,15,1,2); % $\Delta$
+z1=pp(u,0); z2=pp(.5w,h); z3=pp(w-u,0);
+pd z1; draw z1--z2..tension 5..z3..tension 5..z1; % triangle
+endchar;
+
+beginpunkchar(920,15,.5,2); % $\Theta$
+z1=pp(.5w,h); z2=pp(u,.6h); z3=pp(.5w,0); z4=pp(w-u,.6h);
+pd z1; draw z1..tension.8..z2..z3..z4..tension.8..z1; % bowl
+z5=pp(x2+2u,.4h); z6=pp(x4-2u,.4h); pd z5; pd z6; draw z5--z6; % bar
+endchar;
+
+beginpunkchar(923,12,1,2); % $\Lambda$
+z1=pp(u,0); z2=pp(.5w,h); z3=pp(w-u,0);
+pd z1; pd z3; draw z1--z2--z3; % diagonals
+endchar;
+
+beginpunkchar(926,12,1,1); % $\Xi$
+z1=pp(u,h); z2=pp(w-u,h); pd z1; pd z2; draw z1--z2; % upper arm
+z3=pp(2u,.55h); z4=pp(w-2u,.55h); pd z3; pd z4; draw z3--z4; % bar
+z5=pp(u,0); z6=pp(w-u,0); pd z5; pd z6; draw z5--z6; % lower arm
+endchar;
+
+beginpunkchar(928,13,1,.5); % $\Pi$
+z1=pp(1.5u,0); z2=pp(1.5u,h); z3=pp(w-1.5u,h); z4=pp(w-1.5u,0);
+pd z1; pd z4; draw z1--z2--z3--z4; % stems and bar
+endchar;
+
+beginpunkchar(931,13,1,1); % $\Sigma$
+z1=pp(w-u,h); z2=pp(u,h); z3=pp(.5w-u,.5h); z4=pp(u,0); z5=pp(w-u,0);
+pd z1; pd z5; draw z1--z2{.5[z4,z5]-z2}..z3--z4--z5; % arms and diagonals
+endchar;
+
+beginpunkchar(933,15,1,.5); % $\Upsilon$
+z1=pp(u,.8h); z2=pp(.3w,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
+pd z1; pd z4; draw z1..z2..tension2..z3---z4; % left arc and stem
+z5=pp(w-u,.8h); z6=pp(.7w,h);
+pd z5; draw z5..z6..tension2..{z4-z3}z3; % right arc
+endchar;
+
+beginpunkchar(934,13,1,2); % $\Phi$
+z1=pp(.5w,h); z2=pp(.5w,0); pd z1; pd z2; draw z1--z2; % stem
+z3=pp(.5w,2/3h); z4=pp(u,.5h); z5=pp(.5w,1/4h); z6=pp(w-u,.5h);
+pd z3; draw z3..z4..z5..z6..z3; % bowl
+endchar;
+
+beginpunkchar(936,14,1,1); % $\Psi$
+z1=pp(.5w,h); z2=pp(.5w,0); pd z1; pd z2; draw z1--z2; % stem
+z3=pp(u,.8h); z4=pp(.5w,.2h); z5=pp(w-u,.8h);
+pd z3; pd z5; draw z3{.4[z1,z2]-z3}..z4{right}..{z5-.4[z1,z2]}z5; % stroke
+endchar;
+
+beginpunkchar(937,13,1,2); % $\Omega$
+z1=pp(u,0); z2=pp(1/3w,0); z3=pp(u,2/3h); z4=pp(.5w,h);
+z5=pp(w-u,2/3h); z6=pp(2/3w,0); z7=pp(w-u,0);
+pd z1; pd z7; draw z1--z2{up}..z3..z4..z5..{down}z6--z7; % bowl and arms
+endchar;
+
+beginpunkchar(".",5,1,2);
+pd pp(.5w,0); % dot
+endchar;
+
+beginpunkchar(",",5,.5,.5);
+z1=pp(.5w,0); z2=pp(w-u,-.1h); z3=pp(.5w,-.3h);
+pd z1; pd z3; draw z1--z2--z3; % stroke
+endchar;
+
+beginpunkchar(":",5,1,.5);
+pd pp(.5w,0); pd pp(.5w,.4h); % dots
+endchar;
+
+beginpunkchar(";",5,.5,.5);
+z1=pp(.5w,0); z2=pp(w-u,-.1h); z3=pp(.5w,-.3h);
+pd z1; pd z3; draw z1--z2--z3; % stroke
+pd pp(.5w,.4h); % dot
+endchar;
+
+beginpunkchar("!",5,.5,.5);
+pd pp(.5w,0); % dot
+z1=pp(.5w,1.05h); z2=pp(.5w,.3h); pd z1; pd z2; draw z1--z2; % stem
+endchar;
+
+beginpunkchar(161,5,.5,.5); % spanish inverted !
+pd pp(.5w,.9h); % dot
+z1=pp(.5w,-.1h); z2=pp(.5w,.6h); pd z1; pd z2; draw z1--z2; % stem
+endchar;
+
+beginpunkchar("?",9,1,.5);
+z1=pp(1.5u,.8h); z2=pp(.5w,h); z3=pp(w-u,.8h); z4=pp(.5w,.3h);
+pd z1; pd z4; draw z1..z2..z3..{down}z4; % arc and stem
+pd pp(.5w,0); % dot
+endchar;
+
+beginpunkchar(191,9,1,.5); % spanish inverted ?
+z1=pp(1.5u,.1h); z2=pp(.5w,-.1h); z3=pp(w-u,.1h); z4=pp(.5w,.6h);
+pd z1; pd z4; draw z1..z2..z3..{up}z4; % arc and stem
+pd pp(.5w,.9h); % dot
+endchar;
+
+beginpunkchar("&",14,.5,.5);
+z1=pp(w-2u,h); z2=pp(u,h); z3=pp(3u,0); z5=pp(w-u,.6h); z6=pp(w-2u,0);
+pd z1; pd z5; draw z1--z2--z3--z5; % arms and stem
+draw z1--.5[z2,z3]; pd z6; draw z6--.6[z3,z5]; % diagonals
+endchar;
+
+beginpunkchar("$",12,.5,.5);
+z1=pp(w-1.5u,.7h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.5[z3,z5];
+z5=pp(w-u,.3h); z6=pp(.5w,0); z7=pp(u,.3h);
+pd z1; pd z7; draw z1..z2..z3..z4..z5..z6..z7; % stroke
+z8=z2+(0,.1h); pd z8; draw z8--z6; % stem
+endchar;
+
+beginpunkchar("%",18,.5,.5);
+z1=pp(3.5u,1.1h); z2=pp(u,.8h); z3=pp(3.5u,.5h); z4=pp(6u,.8h);
+z5=pp(w-3.5u,.5h); z6=pp(w-6u,.2h); z7=pp(w-3.5u,-.1h); z8=pp(w-u,.2h);
+pd z1; draw z1..z2..z3..z4..z1; % upper bowl
+pd z5; draw z5..z6..z7..z8..z5; % lower bowl
+z9=pp(w-3u,1.1h); z0=pp(3u,-.1h); pd z0; draw z9--z0; % diagonal
+draw z1{z5-z1}..z9; % link
+endchar;
+
+beginpunkchar("@",18,1,.5);
+z1=pp(2u,0); z2=pp(1/3w,.7h); z3=pp(w-6u,0);
+z4=pp(w,.3h); z5=pp(1/3w,h); z6=pp(u,.5h); z7=.7[z2,z3];
+pd z1; pd z7; draw z1--z2--z3{right}..z4..z5..z6..z7; % diagonals and stroke
+endchar;
+
+beginpunkchar("-",7,.5,.5);
+z1=pp(u,.4h); z2=pp(w-u,.5h); pd z1; pd z2; draw z1--z2; % bar
+endchar;
+
+beginpunkchar(8211,9,.5,.5); % --
+z1=pp(0,.5h); z2=pp(w,.4h); pd z1; pd z2; draw z1--z2; % bar
+endchar;
+
+beginpunkchar(8212,18,.5,.5); % ---
+z1=pp(0,.5h); z2=pp(w,.4h); pd z1; pd z2; draw z1--z2; % bar
+endchar;
+
+beginpunkchar("+",9,.5,1);
+z1=pp(0,.5h); z2=pp(w,.5h); pd z1; pd z2; draw z1--z2; % bar
+z3=pp(.5w,.1h); z4=pp(.5w,.9h); pd z3; pd z4; draw z3--z4; % stem
+endchar;
+
+beginpunkchar("*",13,.5,1);
+z0=pp(.5w,1.1h); z1=pp(u,.9h); z2=pp(2u,.3h); z3=pp(w-u,.3h); z4=pp(w-u,.9h);
+pd z0; draw z0--z2..1/3[.5[z2,z4],z0]..z4--z1--z3--z0; % star
+endchar;
+
+beginpunkchar(39,5,.5,1.5); % ' apostrofe HH/TH (to be checked)
+z1=pp(w/2,h); z2=pp(w/2+u,.85h); z3=pp(w/2,2/3h);
+pd z1; pd z3; draw z1..z2..z3; % stroke
+endchar;
+
+beginpunkchar(34,9,1,1.5); % " HH/TH (to be checked)
+z1=pp(1.5u,h); z2=pp(1.5u,.6h); z3=pp(w-1.5u,h); z4=pp(w-1.5u,.6h);
+pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw z3--z4;
+endchar;
+
+beginpunkchar(8216,5,.3,.5); % `
+z1=pp(w-1.5u,h); z2=pp(u,.85h); z3=pp(w-u,2/3h);
+pd z1; pd z3; draw z1--z2--z3; % stroke
+endchar;
+
+beginpunkchar(8217,5,.3,.5); % '
+z1=pp(1.5u,h); z2=pp(w-u,.85h); z3=pp(u,2/3h);
+pd z1; pd z3; draw z1--z2--z3; % stroke
+endchar;
+
+beginpunkchar(8220,9,.3,.5); % `` quotedblleft
+z1=pp(.5w+.5u,h); z2=pp(w-u,.6h); z3=pp(u,.95h);
+pd z1; pd z3; draw z1--z2--z3; % stroke
+endchar;
+
+beginpunkchar(8221,9,.3,.5); % '' quotedblright
+z1=pp(.5w-.5u,h); z2=pp(u,.6h); z3=pp(w-u,.95h);
+pd z1; pd z3; draw z1--z2--z3; % stroke
+endchar;
+
+beginpunkchar("(",7,.5,.5);
+z1=pp(w-u,h); z2=pp(u,.5h); z3=pp(w-u,0);
+pd z1; pd z3; draw z1..z2..z3; % stroke
+endchar;
+
+beginpunkchar(")",7,.5,.5);
+z1=pp(u,h); z2=pp(w-u,.5h); z3=pp(u,0); pd z1; pd z3; draw z1..z2..z3; % stroke
+endchar;
+
+beginpunkchar("[",8,.5,.5);
+z1=pp(w-u,h); z2=pp(.5w,h); z3=pp(.5w,0); z4=pp(w-u,0);
+pd z1; pd z4; draw z1--z2--z3--z4; % bars and stem
+endchar;
+
+beginpunkchar("]",8,.5,.5);
+z1=pp(u,h); z2=pp(.5w,h); z3=pp(.5w,0); z4=pp(u,0);
+pd z1; pd z4; draw z1--z2--z3--z4; % bars and stem
+endchar;
+
+beginpunkchar("<",9,.5,.5);
+z1=pp(w-u,.9h); z2=pp(u,.5h); z3=pp(w-u,.1h);
+pd z1; pd z3; draw z1--z2--z3; % diagonals
+endchar;
+
+beginpunkchar(">",9,.5,.5);
+z1=pp(u,.9h); z2=pp(w-u,.5h); z3=pp(u,.1h);
+pd z1; pd z3; draw z1--z2--z3; % diagonals
+endchar;
+
+beginpunkchar("{",10,.5,.5); % HH/TH
+z1=pp(w-2u,h); z3=pp(2u,.5h); z5=pp(w-2u,0);
+z2=pp(w-4u,.6h); z4=(w-4u,.4h);
+pd z1; pd z3; pd z5; draw z1{left}..z2--z3 & z3--z4..{right}z5;
+endchar;
+
+beginpunkchar("}",10,.5,.5); % HH/TH
+z1=pp(2u,h); z3=pp(w-2u,.5h); z5=pp(2u,0);
+z2=pp(4u,.6h); z4=(4u,.4h);
+pd z1; pd z3; pd z5; draw z1{right}..z2--z3 & z3--z4..{left}z5;
+endchar;
+
+beginpunkchar("=",9,.5,.5);
+z5=pp(u,2/3h); z6=pp(w-u,2/3h); pd z5; pd z6; draw z5--z6; % upper bar
+z7=pp(u,1/3h); z8=pp(w-u,1/3h); pd z7; pd z8; draw z7--z8; % lower bar
+endchar;
+
+beginpunkchar("#",15,.5,.5);
+z1=pp(.5w,h); z2=pp(3u,0); z3=pp(w-3u,h); z4=pp(.5w,0);
+pd z2; pd z3; draw z3--z1--z2; draw z3--z4--z2; % diagonals (linked)
+z5=pp(u,2/3h); z6=pp(w-u,2/3h); pd z5; pd z6; draw z5--z6; % upper bar
+z7=pp(u,1/3h); z8=pp(w-u,1/3h); pd z7; pd z8; draw z7--z8; % lower bar
+endchar;
+
+beginpunkchar("/",9,1,1);
+z1=pp(1.5u,-.05h); z2=pp(w-1.5u,1.05h); pd z1; pd z2; draw z1--z2; % diagonal
+endchar;
+
+beginpunkchar("\",9,1,1); % HH/TH
+z1=pp(1.5u,1.05h); z2=pp(w-1.5u,-.05h); pd z1; pd z2; draw z1--z2; % reverse diagonal
+endchar;
+
+
+beginpunkchar("0",9,.5,1);
+z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
+pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
+endchar;
+
+beginpunkchar("1",9,.3,1);
+z1=pp(2u,.7h); z2=pp(.6w,h); z3=pp(.6w,0);
+pd z1; pd z3; draw z1--z2--z3; % serif and stem
+endchar;
+
+beginpunkchar("2",9,1,1);
+z1=pp(2u,.7h); z2=pp(.5w,h); z3=pp(w-u,.6h); z4=pp(u,0); z5=pp(w-2u,0);
+pd z1; pd z5; draw z1..z2..z3..z4--z5; % stroke
+endchar;
+
+beginpunkchar("3",9,.5,.5);
+z1=pp(2u,.7h); z2=pp(.5w,h); z3=pp(w-u,.5[y2,y4]);
+z4=pp(.5w-u,.55h); z5=pp(w-u,.5[y4,y6]); z6=pp(.5w,0); z7=pp(1.5u,.2h);
+pd z1; pd z7; draw z1..z2..z3..z4&z4..z5..z6..z7; % arcs
+endchar;
+
+beginpunkchar("4",9,1,1);
+z1=pp(w-u,.3h); z2=pp(u,.3h); z3=pp(2/3w,h); z4=pp(2/3w,0);
+pd z1; pd z4; draw z1--z2--z3--z4; % stem and diagonals
+endchar;
+
+beginpunkchar("5",9,.5,.5);
+z1=pp(w-2u,h); z2=pp(2u,h); z3=pp(u,.7h); z4=pp(w-u,.5[y3,y5]);
+z5=pp(.5w,0); z6=pp(u,.2h);
+pd z1; pd z6; draw z1--z2--z3..z4..z5..z6; % stroke
+endchar;
+
+beginpunkchar("6",9,1,1);
+z1=pp(2/3w,h); z2=pp(u,.3h); z3=pp(.5w,0); z4=pp(w-u,.3h); z5=pp(.6w,.6h);
+z6=pp z2; pd z1; pd z6; draw z1..z2..z3..z4..z5--z6; % stroke
+endchar;
+
+beginpunkchar("7",9,.5,1);
+z1=pp(2u,h); z2=pp(w-.5u,h); z3=pp(.4w,0);
+pd z1; pd z3; draw z1--z2&z2..z3{down}; % stroke
+endchar;
+
+beginpunkchar("8",9,.5,.5);
+z1=pp(.5w,h); z2=pp(u,.5[y1,y3]); z3=pp(.5w,.6h); z4=pp(w-u,.5[y3,y5]);
+z5=pp(.5w,0); z6=pp(u,.5[y5,y3]); z7=pp(w-u,.5[y1,y3]);
+pd z1; draw z1{curl 8}..z2..z3..z4..z5..z6..z3..z7..z1; % stroke
+endchar;
+
+beginpunkchar("9",9,1,1);
+z1=pp(1/3w,0); z2=pp(w-u,.7h); z3=pp(.5w,h); z4=pp(u,.7h); z5=pp(.5w,.4h);
+pd z1; pd z5; draw z1..z2..z3..z4..z5; % stroke
+endchar;
+
+beginpunkchar(96,9,1,1); % \`{} grave
+z1=pp(2.5u,h); z2=pp(.6w,.8h); pd z1; pd z2; draw z1--z2; % diagonal
+endchar;
+
+beginpunkchar(180,9,1,1); % \'{} acute
+z1=pp(w-2.5u,h); z2=pp(.4w,.8h); pd z1; pd z2; draw z1--z2; % diagonal
+endchar;
+
+beginpunkchar(710,13,1,1); % \^{} circumflex
+z1=pp(2.5u,.8h); z2=pp(.5w,h); z3=(w-2.5u,.8h);
+pd z1; pd z3; draw z1--z2--z3; % diagonals
+endchar;
+
+beginpunkchar(711,13,1,1); % \v{} caron
+z1=pp(2.5u,.9h); z2=pp(.5w,.7h); z3=pp(w-2.5u,.9h);
+pd z1; pd z3; draw z1--z2--z3; % diagonals
+endchar;
+
+beginpunkchar(728,11,1,1); % \u{} breve
+z1=pp(2u,h); z2=pp(.5w,.75h); z3=pp(w-2u,h);
+pd z1; pd z3; draw flex(z1,z2,z3); % stroke
+endchar;
+
+beginpunkchar(175,12,1,1); % \={} macron
+z1=pp(u,.8h); z2=pp(w-u,.8h); pd z1; pd z2; draw z1--z2; % bar
+endchar;
+
+beginpunkchar(729,5,1,1); % \.{}
+pd pp(.5w,.9h); % dot
+endchar;
+
+beginpunkchar(168,13,1,1); % \"{} diaeresis
+pd pp(1/5w,.9h); pd pp(4/5w,.9h); % dots
+endchar;
+
+beginpunkchar(732,13,1,1); % \~{} tilde
+z1=pp(u,.75h); z2=pp(w-u,.9h); pd z1; pd z2; draw z1{up}..{up}z2; % stroke
+endchar;
+
+beginpunkchar(733,13,1,1); % \H{} hungarumlaut
+z1=pp(4u,h); z2=pp(2.5u,.7h); z3=pp(w-2u,h); z4=pp(w-3.5u,.7h);
+pd z1; pd z3; draw z1--z2--z4--z3; % diagonals (linked)
+endchar;
+
+beginpunkchar(730,13,0,0); % Scandinavian loop, for \AA\ and \aa (ring)
+z0=(.5w,.66h); % point $z^2$ of lowercase A
+z1=(.5w,.9h); draw z0{z0-(1.5u,0)}..z1..{(w-1.5u,0)-z0}z0; % loop
+endchar;
+
+beginpunkchar(184,13,.5,.5); % Cedilla, for \c c
+z1=(.6w,0); z2=pp(.6w,-.1h); z3=pp(2.5u,-.1h);
+pd z3; draw z1--z2--z3; % stroke
+endchar;
+
+initialize_punk_lower ;
+
+beginpunkchar(305,5,1,2); % dotless I
+z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
+pd z1; pd z4; draw flex(z1,z2,z3,z4); % stem
+endchar;
+
+beginpunkchar(567,9,1,2); % dotless J
+z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
+pd z1; pd z3; draw z1--z2--z3; % arc
+endchar;
+
+beginpunkchar(223,18,.3,1); % German SS
+z1=pp(.5w-u,.9h); z2=pp(1/3w,h); z3=pp(u,.7h); z4=.6[z6,z2];
+z5=pp(.5w,.35h); z6=pp(1/3w,u); z7=pp(u,.2h);
+pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7; % left stroke
+for i=1 upto 7: z[i+10]=pp(z[i] shifted (.5w-u,0)); endfor
+pd z11; pd z17; draw z11--z12...z13..z14..z15...z16--z17; % right stroke
+endchar;
+
+beginpunkchar("a",13,1,2);
+z1=pp(1.5u,0); z2=(.5w,1.1h); z3=pp(w-1.5u,0);
+pd z1; pd z3; draw z1--z2--z3; % left and right diagonals
+z4=pp .3[z1,z2]; z5=pp .3[z3,z2]; pd z4; pd z5; draw z4--z5; % crossbar
+endchar;
+
+beginpunkchar("b",12,1,1);
+z1=pp(2u,0); z2=pp(2u,.6h); z3=pp(2u,h); pd z1; pd z3; draw z1--z3; % stem
+z1.5=pp(w-u,.5y2); z2.5=pp(w-u,.5[y2,y3]); draw z2--z2.5--z3; % upper lobe
+draw flex(z2,z1.5,z1); % lower lobe
+endchar;
+
+beginpunkchar("c",13,1,2);
+z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=(.6w,0); z5=(w-2u,.2h);
+pd z1; pd z5; draw z1..z2..z3..z4..z5; % arc
+endchar;
+
+beginpunkchar("d",14,1,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6h);
+pd z1; pd z2; draw flex(z1,z3,z2); % lobe
+draw z1--z2; % stem
+endchar;
+
+beginpunkchar("e",12,.5,1);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2.5u,h); z4=pp(w-2u,0);
+pd z3; pd z4; draw z4--z1--z2--z3; % stem and arms
+z5=pp(2u,.6h); z6=pp(w-3u,.6h); pd z5; pd z6; draw z5--z6; % crossbar
+endchar;
+
+beginpunkchar("f",12,.5,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,h);
+pd z1; pd z3; draw z1--z2--z3; % stem and arm
+z5=pp(2u,.6h); z6=pp(w-3u,.6h); z4=pp .5[z5,z6]-(0,.1h);
+pd z5; pd z6; draw flex (z5,z4,z6); % crossbar
+endchar;
+
+beginpunkchar("g",13,.5,.5);
+z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=pp(.6w,0); z5=(w-2u,0);
+pd z1; draw z1..z2..z3..z4---z5; % arc
+z6=pp(.5[u,x5],.4h); pd z6; pd z5; draw z6--(pp(x5,y6))--z5; % spur
+endchar;
+
+beginpunkchar("h",14,1,.5);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
+z5=pp(2u,.6h); z6=pp(w-2u,.6h);
+pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw flex(z3,z6,z4); % stems
+pd z5; draw z5--z6; % crossbar
+endchar;
+
+beginpunkchar("i",5,1,2);
+z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
+pd z1; pd z4; draw flex(z1,z2,z3,z4); % stem
+endchar;
+
+beginpunkchar("j",9,1,2);
+z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
+pd z1; pd z3; draw z1--z2--z3; % arc
+endchar;
+
+beginpunkchar("k",14,1,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(2u,1/3h); z4=pp(w-1.5u,h);
+pd z1; pd z2; draw z1--z2; % stem
+pd z3; pd z4; draw z3--z4; % upper diagonal
+z6=pp(w-u,0); z5=1/3[z3,z4];
+pd z6; draw flex(z5,.8[z1,2/3[z5,z6] ],z6);% lower diagonal
+endchar;
+
+beginpunkchar("l",11,1,2);
+z1=pp(2u,h); z2=pp(2u,0); z3=pp(w-1.5u,0);
+pd z1; pd z3; draw z1--z2--z3; % stem and arm
+endchar;
+
+beginpunkchar("m",17,.5,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(.5w,0); z4=pp(w-2u,h); z5=pp(w-2u,0);
+pd z1; pd z5; draw z1--z2--z3--z4--z5; % stems and diagonals
+endchar;
+
+beginpunkchar("n",13,.75,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
+pd z1; pd z4; draw z1--z2--z3--z4; % stems and diagonals
+endchar;
+
+beginpunkchar("o",12,.5,2);
+z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
+pd z1; draw z1{left}..z2..z3..z4..z1; % bowl
+endchar;
+
+beginpunkchar("p",13,1,2);
+z1=pp(2u,0); z2=pp(2u,1.1h); z3=pp(2u,.5h); z4=pp(w,.6[y3,y2]);
+pd z1; pd z3; draw z1--z2--z4--z3; % stem and bowl
+endchar;
+
+beginpunkchar("q",14,.5,2);
+z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
+pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
+z5=pp(.4w,.2h); z6=pp(w-u,-.1h); z7=pp(.5[x5,x6],-.2h);
+pd z5; pd z6; draw z5--z7--z6; % tail
+endchar;
+
+beginpunkchar("r",16,1,2);
+z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6[y2,y4]); z4=pp(2u,.5h); z5=pp(w-1.5u,0);
+pd z1; pd z2; pd z5; draw z1--flex(z2,z3,z4)--z5; % stem, bowl, and diagonal
+endchar;
+
+beginpunkchar("s",11,.3,1);
+z1=pp(w-2u,.9h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.6[z6,z2];
+z5=pp(w-u,.35h); z6=pp(.5w,u); z7=pp(u,.2h);
+pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7; % stroke
+endchar;
+
+beginpunkchar("t",13,.75,2);
+z1=pp(u,h); z2=pp(w-u,h); z3=pp(.5w,0);
+pd z1; pd z2; pd z3; draw z1--z2; % arms
+draw .5[z1,z2]--z3; % stem
+endchar;
+
+beginpunkchar("u",13,.3,2);
+z1=pp(2u,h); z2=pp(2u,.2h); z3=pp(.5w,0); z4=pp(w-2u,.2h); z5=pp(w-2u,h);
+pd z1; pd z5; draw z1---z2...z3{z4-z2}...z4---z5; % stroke
+endchar;
+
+beginpunkchar("v",13,1,2);
+z1=pp(1.5u,h); z2=pp(.5w,0); z3=pp(w-1.5u,h);
+pd z1; pd z3; draw z1--z2--z3; % diagonals
+endchar;
+
+beginpunkchar("w",18,1,2);
+z1=pp(1.5u,h); z2=pp(.5[x1,x3],0); z3=pp(.5w,.8h); z4=pp(.5[x3,x5],0);
+z5=pp(w-1.5u,h);
+pd z1; pd z5; draw z1--z2--z3--z4--z5; % diagonals
+endchar;
+
+beginpunkchar("x",13,1,1);
+z1=pp(1.5u,h); z2=pp(w-1.5u,0); z3=pp(1.5u,0); z4=pp(w-2.5u,h);
+pd z1; pd z2; draw z1--z2; % main diagonal
+pd z3; pd z4; draw z3--z4; % cross diagonal
+endchar;
+
+beginpunkchar("y",13,1,2);
+z1=pp(1.5u,h); z2=pp(w-1.5u,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
+pd z1; pd z2; pd z4; draw z1--z3--z4; % stem and left diagonal
+draw z2--z3; % right diagonal
+endchar;
+
+beginpunkchar("z",11,1,2);
+z1=pp(1.5u,h); z2=pp(w-2.5u,h); z3=pp(1.5u,0); z4=pp(w-1.5u,0);
+pd z1; pd z4; draw z1--z2--z3--z4; % diagonals
+endchar;
+
+beginpunkchar(230,16,1,2); % \ae
+z1=pp(1.5u,0); z2=pp(.6w,h); z3=pp(w-1.5u,h);
+pd z1; pd z3; draw z1--z2--z3; % left diagonal and upper arm
+z4=pp .3[z1,z2]; z5=pp(.6w,0); z6=pp(w-2u,.3h);
+pd z4; pd z6; draw z4--z6; % crossbar
+z7=pp(w-u,0); pd z2; pd z7; draw z2--z5--z7; % stem and lower arm
+endchar;
+
+beginpunkchar(339,18,1,2); % \oe
+z1=pp(.5w,h); z2=pp(u,.4h); z3=pp(.5w,0);
+pd z1; draw z1..z2..{right}z3; % bowl
+z4=pp(w-1.5u,h); z5=pp(w-2u,.4h); z6=pp(w-u,0);
+pd z4; pd z6; draw z4--z1--z3--z6; % arms and stem
+pd z5; draw z5--.4[z3,z1]; % crossbar
+endchar;
+
+beginpunkchar(248,14,1,1); % \o
+z1=pp(.5w,h); z2=pp(u,.5h); z3=pp(.5w,0); z4=pp(w-u,.5h);
+z5=pp(w-2u,1.1h); z6=pp(2u,-.1h);
+pd z1; pd z6; draw z1..z2..z3..z4..z5--z6; % bowl and diagonal
+endchar;
+
+revert_punk_lower;
+
+beginpunkchar("_",12,.5,.5); % _
+z1=pp(0,-.2h); z2=pp(w,-.2h); pd z1; pd z2; draw z1--z2; % bar
+endchar;
+
+beginpunkchar("^",12,1,.5); %
+z1=pp(.5w,h); z2=pp(1.5u,.6h); z3=pp(w-1.5u,.6h);
+pd z2; pd z3; draw z2--z1--z3;
+endchar;
diff --git a/metapost/context/font/punkfont-definitions.mp b/metapost/context/font/punkfont-definitions.mp
new file mode 100644
index 000000000..2901a9d03
--- /dev/null
+++ b/metapost/context/font/punkfont-definitions.mp
@@ -0,0 +1,115 @@
+% Remark:
+%
+% This file is a merge of the original punk files by Donald Knuth, who
+% added this comment:
+%
+% Font inspired by Gerard and Marjan Unger's lectures, Feb 1985
+%
+% The regular punk files are part of TeXLive and in metafont format. All
+% errors introduced are ours. We also changed the encoding to unicode. In
+% due time we might add a few more more characters. We still need to
+% improve some of the metrics which involves a bit of trial and error. The
+% font just covers basic latin shapes but in ConTeXt MkIV we add virtual
+% composed shapes. There is a module m-punk.tex that implements this. This
+% derivate is also used in mk.tex (mk.pdf) which is one of our tests for
+% LuaTeX. We published an article on it in the MAPS (NTG magazine).
+%
+% 2008, Taco Hoekwater & Hans Hagen
+
+if unknown punk_font_loaded :
+
+ if unknown scale_factor :
+ scale_factor := 1 ;
+ fi ;
+
+ boolean punk_font_loaded ;
+
+ punk_font_loaded := true ;
+ warningcheck := 0 ;
+ proofing := 0 ;
+ designsize := 10pt#;
+ font_identifier := "Punk Nova" ; % dedicated to Don Knuth and Hermann Zapf
+
+ ht# := 7pt# ; % height of characters
+ u# := 1/4pt# ; % unit width
+ dev# := .3pt# ; % standard deviation of punk points
+
+ if known bold_punk :
+ s# := 1.2pt# ; % extra sidebar
+ px# := 1pt# ; % horizontal thickness of pen
+ py# := .8pt# ; % vertical thickness of pen
+ dot# := 1.7pt# ; % diameter of dots
+ else :
+ s# := 0 ; % extra sidebar, ok
+ px# := .6pt# ; % horizontal thickness of pen
+ py# := .5pt# ; % vertical thickness of pen
+ dot# := 1.3pt# ; % diameter of dots
+ fi ;
+
+ pt := .1pt ;
+ mag := scale_factor * 10 ;
+ bp_per_pixel := bpppix_ * mag ;
+
+ define_pixels(u,dev) ;
+ define_blacker_pixels(px,py,dot) ;
+ define_whole_pixels(s) ;
+ xoffset := s ;
+
+ pickup pencircle xscaled px yscaled py ;
+ punk_pen := savepen ;
+ pickup pencircle scaled dot ;
+ path dot_pen_path ;
+ dot_pen_path := tensepath makepath currentpen ;
+
+ defaultcolormodel := 1 ;
+
+ if known slanted_punk :
+ dot_pen_path := dot_pen_path slanted -0.25 ;
+ extra_endchar := extra_endchar & "currentpicture := currentpicture slanted 0.25 ;" ;
+ fi ;
+
+
+ def beginpunkchar(expr c,n,h,v) = % code $c$; width is $n$ units
+ hdev := h * dev ; % modify horizontal amounts of deviation
+ vdev := v * dev ; % modify vertical amounts of deviation
+ beginchar(c,n*u#,ht#,0) ;
+ italcorr 0 ;
+ % italcorr ht#*slant;
+ pickup punk_pen
+ enddef ;
+
+ def ^ =
+ transformed currenttransform
+ enddef ;
+
+ def makebox(text rule) =
+ for y=0, h : % horizontals
+ rule((-s,y)^,(w-s,y)^) ;
+ endfor
+ for x=-s, 0, w-2s, w-s : % verticals
+ rule((x,0)^,(x,h)^) ;
+ endfor
+ enddef ;
+
+ rulepen := pensquare ;
+
+ vardef pp expr z =
+ z + (hdev * normaldeviate, vdev * normaldeviate)
+ enddef;
+
+ def pd expr z = % {\bf drawdot}
+ addto currentpicture contour dot_pen_path shifted z.t_ % withpen penspeck
+ enddef;
+
+ def initialize_punk_upper =
+ ht# := 7pt# ; dev# := .3pt# ;
+ enddef ;
+ def initialize_punk_lower =
+ sht# := ht#; sdev := dev;
+ ht# := .6ht# ; dev := .7dev ;
+ enddef ;
+ def revert_punk_lower =
+ ht# := sht#; dev := sdev;
+ enddef ;
+
+fi ;
diff --git a/metapost/context/font/punkfont-slanted.mp b/metapost/context/font/punkfont-slanted.mp
new file mode 100644
index 000000000..5c1ff46b2
--- /dev/null
+++ b/metapost/context/font/punkfont-slanted.mp
@@ -0,0 +1,4 @@
+boolean slanted_punk ; slanted_punk := true ;
+
+input "punkfont-definitions.mp" ;
+input "punkfont-characters.mp" ;
diff --git a/metapost/context/font/punkfont.mp b/metapost/context/font/punkfont.mp
index e57499859..2a03aae81 100644
--- a/metapost/context/font/punkfont.mp
+++ b/metapost/context/font/punkfont.mp
@@ -1,863 +1,2 @@
-% Remark:
-%
-% This file is a merge of the original punk files by Donald Knuth, who
-% added this comment:
-%
-% Font inspired by Gerard and Marjan Unger's lectures,
-% Feb 1985
-%
-% The regular punk files are part of TeXLive and in metafont format. All
-% errors introduced are ours. We also changed the encoding to unicode. In
-% due time we might add a few more more characters. We still need to
-% improve some of the metrics which involves a bit of trial and error. The
-% font just covers basic latin shapes but in ConTeXt MkIV we add virtual
-% composed shapes. There is a module m-punk.tex that implements this. This
-% derivate is also used in mk.tex (mk.pdf) which is one of our tests for
-% LuaTeX. We published an article on it in the MAPS (NTG magazine).
-%
-% 2008, Taco Hoekwater & Hans Hagen
-
-if unknown punk_font_loaded :
-
- if unknown scale_factor :
- scale_factor := 1 ;
- fi ;
-
- boolean punk_font_loaded ;
-
- punk_font_loaded := true ;
- warningcheck := 0 ;
- designsize := 10pt#;
- font_identifier := "Punk Nova" ; % dedicated to Don Knuth and Hermann Zapf
-
- ht# := 7pt# ; % height of characters
- u# := 1/4pt# ; % unit width
- % s# := 1.2pt# ; % extra sidebar
- % s# := 0.1pt# ; % extra sidebar, needed because we use the bbox currently
- s# := 0 ; % extra sidebar, ok
-% s# := 1.2pt# ; % extra sidebar
- px# := .6pt# ; % horizontal thickness of pen
- py# := .5pt# ; % vertical thickness of pen
- dot# := 1.3pt# ; % diameter of dots
- dev# := .3pt# ; % standard deviation of punk points
-
- % dot# := .8pt# ; % diameter of dots
- % px# := .3pt# ; % horizontal thickness of pen
- % py# := .2pt# ; % vertical thickness of pen
-
- % seed := sqrt2 ;
- % randomseed := seed ;
- proofing := 0 ;
- pt := .1pt ;
- mag := scale_factor * 10 ;
- bp_per_pixel := bpppix_ * mag ;
-
- define_pixels(u,dev) ;
- define_blacker_pixels(px,py,dot) ;
- define_whole_pixels(s) ;
- xoffset := s ;
-
- pickup pencircle xscaled px yscaled py ;
- punk_pen := savepen ;
- pickup pencircle scaled dot ;
- path dot_pen_path ;
- dot_pen_path := tensepath makepath currentpen ;
-
-% px# := .8pt# ; % horizontal thickness of pen
-% define_pixels(u,dev) ;
-% define_blacker_pixels(px,py,dot) ;
-% pickup pencircle xscaled 1.25px yscaled 1.25py ;
-% punk_pen := savepen ;
-% pickup pencircle scaled 1.25dot ;
-% path dot_pen_path ;
-% dot_pen_path := tensepath makepath currentpen ;
-
- defaultcolormodel := 1 ;
-
- def beginpunkchar(expr c,n,h,v) = % code $c$; width is $n$ units
- hdev := h * dev ; % modify horizontal amounts of deviation
- vdev := v * dev ; % modify vertical amounts of deviation
- beginchar(c,n*u#,ht#,0) ;
- italcorr 0 ;
- % italcorr ht#*slant;
- pickup punk_pen
- enddef ;
-
-% extra_endchar := extra_endchar & "w := w+2s ; charwd := charwd+2s# ;" ;
-% extra_endchar := extra_endchar & "setbounds currentpicture to (0,-d)--(w*1.2,-d)--(w*1.2,h)--(0,h)--cycle;" ;
-
-% extra_endchar := extra_endchar & "w := w+2s ; " ;
-% extra_endchar := extra_endchar & "w := 1.2w ; " ;
-% extra_endchar := extra_endchar & "charwd := 1.2charwd ; " ;
-% extra_endchar := extra_endchar & "setbounds currentpicture to (0,-d)--(w,-d)--(w,h)--(0,h)--cycle;" ;
-
-% todo:
-
-% extra_endchar := extra_endchar &
-% "currentpicture := currentpicture shifted (0,1pt#) ; setbounds currentpicture to " &
-% "llcorner currentpicture shifted ( 0,-1pt#) -- lrcorner currentpicture shifted ( 1pt#,-1pt#) -- " &
-% "urcorner currentpicture shifted ( 1pt#, 1pt#) -- ulcorner currentpicture shifted ( 0, 1pt#) -- cycle ; " ;
-
- def ^ =
- transformed currenttransform
- enddef ;
-
- def makebox(text rule) =
- for y=0, h : % horizontals
- rule((-s,y)^,(w-s,y)^) ;
- endfor
- for x=-s, 0, w-2s, w-s : % verticals
- rule((x,0)^,(x,h)^) ;
- endfor
- enddef ;
-
- rulepen := pensquare ;
-
- vardef pp expr z =
- z + (hdev * normaldeviate, vdev * normaldeviate)
- enddef;
-
- def pd expr z = % {\bf drawdot}
- addto currentpicture contour dot_pen_path shifted z.t_ withpen penspeck
- enddef;
-
- def initialize_punk_upper =
- ht# := 7pt# ; dev# := .3pt# ;
- enddef ;
- def initialize_punk_lower =
- sht# := ht#; sdev := dev;
- ht# := .6ht# ; dev := .7dev ;
- enddef ;
- def revert_punk_lower =
- ht# := sht#; dev := sdev;
- enddef ;
-
-fi ;
-
-
-initialize_punk_upper ;
-
-beginpunkchar("A",13,1,2);
-z1=pp(1.5u,0); z2=(.5w,1.1h); z3=pp(w-1.5u,0);
-pd z1; pd z3; draw z1--z2--z3; % left and right diagonals
-z4=pp .3[z1,z2]; z5=pp .3[z3,z2]; pd z4; pd z5; draw z4--z5; % crossbar
-endchar;
-
-beginpunkchar("B",12,1,1);
-z1=pp(2u,0); z2=pp(2u,.6h); z3=pp(2u,h); pd z1; pd z3; draw z1--z3; % stem
-z1.5=pp(w-u,.5y2); z2.5=pp(w-u,.5[y2,y3]); draw z2--z2.5--z3; % upper lobe
-draw flex(z2,z1.5,z1); % lower lobe
-endchar;
-
-beginpunkchar("C",13,1,2);
-z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=(.6w,0); z5=(w-2u,.2h);
-pd z1; pd z5; draw z1..z2..z3..z4..z5; % arc
-endchar;
-
-beginpunkchar("D",14,1,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6h);
-pd z1; pd z2; draw flex(z1,z3,z2); % lobe
-draw z1--z2; % stem
-endchar;
-
-beginpunkchar("E",12,.5,1);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2.5u,h); z4=pp(w-2u,0);
-pd z3; pd z4; draw z4--z1--z2--z3; % stem and arms
-z5=pp(2u,.6h); z6=pp(w-3u,.6h); pd z5; pd z6; draw z5--z6; % crossbar
-endchar;
-
-beginpunkchar("F",12,.5,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,h);
-pd z1; pd z3; draw z1--z2--z3; % stem and arm
-z5=pp(2u,.6h); z6=pp(w-3u,.6h); z4=pp .5[z5,z6]-(0,.1h);
-pd z5; pd z6; draw flex (z5,z4,z6); % crossbar
-endchar;
-
-beginpunkchar("G",13,.5,.5);
-z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=pp(.6w,0); z5=(w-2u,0);
-pd z1; draw z1..z2..z3..z4---z5; % arc
-z6=pp(.5[u,x5],.4h); pd z6; pd z5; draw z6--(pp(x5,y6))--z5; % spur
-endchar;
-
-beginpunkchar("H",14,1,.5);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
-z5=pp(2u,.6h); z6=pp(w-2u,.6h);
-pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw flex(z3,z6,z4); % stems
-pd z5; draw z5--z6; % crossbar
-endchar;
-
-beginpunkchar("I",5,1,2);
-z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
-pd z1; pd z4; draw flex(z1,z2,z3,z4); % stem
-endchar;
-
-beginpunkchar("J",9,1,2);
-z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
-pd z1; pd z3; draw z1--z2--z3; % arc
-endchar;
-
-beginpunkchar("K",14,1,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(2u,1/3h); z4=pp(w-1.5u,h);
-pd z1; pd z2; draw z1--z2; % stem
-pd z3; pd z4; draw z3--z4; % upper diagonal
-z6=pp(w-u,0); z5=1/3[z3,z4];
-pd z6; draw flex(z5,.8[z1,2/3[z5,z6] ],z6);% lower diagonal
-endchar;
-
-beginpunkchar("L",11,1,2);
-z1=pp(2u,h); z2=pp(2u,0); z3=pp(w-1.5u,0);
-pd z1; pd z3; draw z1--z2--z3; % stem and arm
-endchar;
-
-beginpunkchar("M",17,.5,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(.5w,0); z4=pp(w-2u,h); z5=pp(w-2u,0);
-pd z1; pd z5; draw z1--z2--z3--z4--z5; % stems and diagonals
-endchar;
-
-beginpunkchar("N",13,.75,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
-pd z1; pd z4; draw z1--z2--z3--z4; % stems and diagonals
-endchar;
-
-beginpunkchar("O",12,.5,2);
-z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
-pd z1; draw z1{left}..z2..z3..z4..z1; % bowl
-endchar;
-
-beginpunkchar("P",13,1,2);
-z1=pp(2u,0); z2=pp(2u,1.1h); z3=pp(2u,.5h); z4=pp(w,.6[y3,y2]);
-pd z1; pd z3; draw z1--z2--z4--z3; % stem and bowl
-endchar;
-
-beginpunkchar("Q",14,.5,2);
-z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
-pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
-z5=pp(.4w,.2h); z6=pp(w-u,-.1h); z7=pp(.5[x5,x6],-.2h);
-pd z5; pd z6; draw z5--z7--z6; % tail
-endchar;
-
-beginpunkchar("R",16,1,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6[y2,y4]); z4=pp(2u,.5h); z5=pp(w-1.5u,0);
-pd z1; pd z2; pd z5; draw z1--flex(z2,z3,z4)--z5; % stem, bowl, and diagonal
-endchar;
-
-beginpunkchar("S",11,.3,1);
-z1=pp(w-2u,.9h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.6[z6,z2];
-z5=pp(w-u,.35h); z6=pp(.5w,u); z7=pp(u,.2h);
-pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7; % stroke
-endchar;
-
-beginpunkchar("T",13,.75,2);
-z1=pp(u,h); z2=pp(w-u,h); z3=pp(.5w,0);
-pd z1; pd z2; pd z3; draw z1--z2; % arms
-draw .5[z1,z2]--z3; % stem
-endchar;
-
-beginpunkchar("U",13,.3,2);
-z1=pp(2u,h); z2=pp(2u,.2h); z3=pp(.5w,0); z4=pp(w-2u,.2h); z5=pp(w-2u,h);
-pd z1; pd z5; draw z1---z2...z3{z4-z2}...z4---z5; % stroke
-endchar;
-
-beginpunkchar("V",13,1,2);
-z1=pp(1.5u,h); z2=pp(.5w,0); z3=pp(w-1.5u,h);
-pd z1; pd z3; draw z1--z2--z3; % diagonals
-endchar;
-
-beginpunkchar("W",18,1,2);
-z1=pp(1.5u,h); z2=pp(.5[x1,x3],0); z3=pp(.5w,.8h); z4=pp(.5[x3,x5],0);
-z5=pp(w-1.5u,h);
-pd z1; pd z5; draw z1--z2--z3--z4--z5; % diagonals
-endchar;
-
-beginpunkchar("X",13,1,1);
-z1=pp(1.5u,h); z2=pp(w-1.5u,0); z3=pp(1.5u,0); z4=pp(w-2.5u,h);
-pd z1; pd z2; draw z1--z2; % main diagonal
-pd z3; pd z4; draw z3--z4; % cross diagonal
-endchar;
-
-beginpunkchar("Y",13,1,2);
-z1=pp(1.5u,h); z2=pp(w-1.5u,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
-pd z1; pd z2; pd z4; draw z1--z3--z4; % stem and left diagonal
-draw z2--z3; % right diagonal
-endchar;
-
-beginpunkchar("Z",11,1,2);
-z1=pp(1.5u,h); z2=pp(w-2.5u,h); z3=pp(1.5u,0); z4=pp(w-1.5u,0);
-pd z1; pd z4; draw z1--z2--z3--z4; % diagonals
-endchar;
-
-beginpunkchar(198,16,1,2); % \AE
-z1=pp(1.5u,0); z2=pp(.6w,h); z3=pp(w-1.5u,h);
-pd z1; pd z3; draw z1--z2--z3; % left diagonal and upper arm
-z4=pp .3[z1,z2]; z5=pp(.6w,0); z6=pp(w-2u,.3h);
-pd z4; pd z6; draw z4--z6; % crossbar
-z7=pp(w-u,0); pd z2; pd z7; draw z2--z5--z7; % stem and lower arm
-endchar;
-
-beginpunkchar(338,18,1,2); % \OE
-z1=pp(.5w,h); z2=pp(u,.4h); z3=pp(.5w,0);
-pd z1; draw z1..z2..{right}z3; % bowl
-z4=pp(w-1.5u,h); z5=pp(w-2u,.4h); z6=pp(w-u,0);
-pd z4; pd z6; draw z4--z1--z3--z6; % arms and stem
-pd z5; draw z5--.4[z3,z1]; % crossbar
-endchar;
-
-beginpunkchar(216,14,1,1); % \O
-z1=pp(.5w,h); z2=pp(u,.5h); z3=pp(.5w,0); z4=pp(w-u,.5h);
-z5=pp(w-2u,1.1h); z6=pp(2u,-.1h);
-pd z1; pd z6; draw z1..z2..z3..z4..z5--z6; % bowl and diagonal
-endchar;
-
-beginpunkchar(915,11,1,2); % $\Gamma$
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-1.5u,h);
-pd z1; pd z3; draw z1--z2--z3; % stem and arm
-endchar;
-
-beginpunkchar(916,15,1,2); % $\Delta$
-z1=pp(u,0); z2=pp(.5w,h); z3=pp(w-u,0);
-pd z1; draw z1--z2..tension 5..z3..tension 5..z1; % triangle
-endchar;
-
-beginpunkchar(920,15,.5,2); % $\Theta$
-z1=pp(.5w,h); z2=pp(u,.6h); z3=pp(.5w,0); z4=pp(w-u,.6h);
-pd z1; draw z1..tension.8..z2..z3..z4..tension.8..z1; % bowl
-z5=pp(x2+2u,.4h); z6=pp(x4-2u,.4h); pd z5; pd z6; draw z5--z6; % bar
-endchar;
-
-beginpunkchar(923,12,1,2); % $\Lambda$
-z1=pp(u,0); z2=pp(.5w,h); z3=pp(w-u,0);
-pd z1; pd z3; draw z1--z2--z3; % diagonals
-endchar;
-
-beginpunkchar(926,12,1,1); % $\Xi$
-z1=pp(u,h); z2=pp(w-u,h); pd z1; pd z2; draw z1--z2; % upper arm
-z3=pp(2u,.55h); z4=pp(w-2u,.55h); pd z3; pd z4; draw z3--z4; % bar
-z5=pp(u,0); z6=pp(w-u,0); pd z5; pd z6; draw z5--z6; % lower arm
-endchar;
-
-beginpunkchar(928,13,1,.5); % $\Pi$
-z1=pp(1.5u,0); z2=pp(1.5u,h); z3=pp(w-1.5u,h); z4=pp(w-1.5u,0);
-pd z1; pd z4; draw z1--z2--z3--z4; % stems and bar
-endchar;
-
-beginpunkchar(931,13,1,1); % $\Sigma$
-z1=pp(w-u,h); z2=pp(u,h); z3=pp(.5w-u,.5h); z4=pp(u,0); z5=pp(w-u,0);
-pd z1; pd z5; draw z1--z2{.5[z4,z5]-z2}..z3--z4--z5; % arms and diagonals
-endchar;
-
-beginpunkchar(933,15,1,.5); % $\Upsilon$
-z1=pp(u,.8h); z2=pp(.3w,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
-pd z1; pd z4; draw z1..z2..tension2..z3---z4; % left arc and stem
-z5=pp(w-u,.8h); z6=pp(.7w,h);
-pd z5; draw z5..z6..tension2..{z4-z3}z3; % right arc
-endchar;
-
-beginpunkchar(934,13,1,2); % $\Phi$
-z1=pp(.5w,h); z2=pp(.5w,0); pd z1; pd z2; draw z1--z2; % stem
-z3=pp(.5w,2/3h); z4=pp(u,.5h); z5=pp(.5w,1/4h); z6=pp(w-u,.5h);
-pd z3; draw z3..z4..z5..z6..z3; % bowl
-endchar;
-
-beginpunkchar(936,14,1,1); % $\Psi$
-z1=pp(.5w,h); z2=pp(.5w,0); pd z1; pd z2; draw z1--z2; % stem
-z3=pp(u,.8h); z4=pp(.5w,.2h); z5=pp(w-u,.8h);
-pd z3; pd z5; draw z3{.4[z1,z2]-z3}..z4{right}..{z5-.4[z1,z2]}z5; % stroke
-endchar;
-
-beginpunkchar(937,13,1,2); % $\Omega$
-z1=pp(u,0); z2=pp(1/3w,0); z3=pp(u,2/3h); z4=pp(.5w,h);
-z5=pp(w-u,2/3h); z6=pp(2/3w,0); z7=pp(w-u,0);
-pd z1; pd z7; draw z1--z2{up}..z3..z4..z5..{down}z6--z7; % bowl and arms
-endchar;
-
-beginpunkchar(".",5,1,2);
-pd pp(.5w,0); % dot
-endchar;
-
-beginpunkchar(",",5,.5,.5);
-z1=pp(.5w,0); z2=pp(w-u,-.1h); z3=pp(.5w,-.3h);
-pd z1; pd z3; draw z1--z2--z3; % stroke
-endchar;
-
-beginpunkchar(":",5,1,.5);
-pd pp(.5w,0); pd pp(.5w,.4h); % dots
-endchar;
-
-beginpunkchar(";",5,.5,.5);
-z1=pp(.5w,0); z2=pp(w-u,-.1h); z3=pp(.5w,-.3h);
-pd z1; pd z3; draw z1--z2--z3; % stroke
-pd pp(.5w,.4h); % dot
-endchar;
-
-beginpunkchar("!",5,.5,.5);
-pd pp(.5w,0); % dot
-z1=pp(.5w,1.05h); z2=pp(.5w,.3h); pd z1; pd z2; draw z1--z2; % stem
-endchar;
-
-beginpunkchar(161,5,.5,.5); % spanish inverted !
-pd pp(.5w,.9h); % dot
-z1=pp(.5w,-.1h); z2=pp(.5w,.6h); pd z1; pd z2; draw z1--z2; % stem
-endchar;
-
-beginpunkchar("?",9,1,.5);
-z1=pp(1.5u,.8h); z2=pp(.5w,h); z3=pp(w-u,.8h); z4=pp(.5w,.3h);
-pd z1; pd z4; draw z1..z2..z3..{down}z4; % arc and stem
-pd pp(.5w,0); % dot
-endchar;
-
-beginpunkchar(191,9,1,.5); % spanish inverted ?
-z1=pp(1.5u,.1h); z2=pp(.5w,-.1h); z3=pp(w-u,.1h); z4=pp(.5w,.6h);
-pd z1; pd z4; draw z1..z2..z3..{up}z4; % arc and stem
-pd pp(.5w,.9h); % dot
-endchar;
-
-beginpunkchar("&",14,.5,.5);
-z1=pp(w-2u,h); z2=pp(u,h); z3=pp(3u,0); z5=pp(w-u,.6h); z6=pp(w-2u,0);
-pd z1; pd z5; draw z1--z2--z3--z5; % arms and stem
-draw z1--.5[z2,z3]; pd z6; draw z6--.6[z3,z5]; % diagonals
-endchar;
-
-beginpunkchar("$",12,.5,.5);
-z1=pp(w-1.5u,.7h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.5[z3,z5];
-z5=pp(w-u,.3h); z6=pp(.5w,0); z7=pp(u,.3h);
-pd z1; pd z7; draw z1..z2..z3..z4..z5..z6..z7; % stroke
-z8=z2+(0,.1h); pd z8; draw z8--z6; % stem
-endchar;
-
-beginpunkchar("%",18,.5,.5);
-z1=pp(3.5u,1.1h); z2=pp(u,.8h); z3=pp(3.5u,.5h); z4=pp(6u,.8h);
-z5=pp(w-3.5u,.5h); z6=pp(w-6u,.2h); z7=pp(w-3.5u,-.1h); z8=pp(w-u,.2h);
-pd z1; draw z1..z2..z3..z4..z1; % upper bowl
-pd z5; draw z5..z6..z7..z8..z5; % lower bowl
-z9=pp(w-3u,1.1h); z0=pp(3u,-.1h); pd z0; draw z9--z0; % diagonal
-draw z1{z5-z1}..z9; % link
-endchar;
-
-beginpunkchar("@",18,1,.5);
-z1=pp(2u,0); z2=pp(1/3w,.7h); z3=pp(w-6u,0);
-z4=pp(w,.3h); z5=pp(1/3w,h); z6=pp(u,.5h); z7=.7[z2,z3];
-pd z1; pd z7; draw z1--z2--z3{right}..z4..z5..z6..z7; % diagonals and stroke
-endchar;
-
-beginpunkchar("-",7,.5,.5);
-z1=pp(u,.4h); z2=pp(w-u,.5h); pd z1; pd z2; draw z1--z2; % bar
-endchar;
-
-beginpunkchar(8211,9,.5,.5); % --
-z1=pp(0,.5h); z2=pp(w,.4h); pd z1; pd z2; draw z1--z2; % bar
-endchar;
-
-beginpunkchar(8212,18,.5,.5); % ---
-z1=pp(0,.5h); z2=pp(w,.4h); pd z1; pd z2; draw z1--z2; % bar
-endchar;
-
-beginpunkchar("+",9,.5,1);
-z1=pp(0,.5h); z2=pp(w,.5h); pd z1; pd z2; draw z1--z2; % bar
-z3=pp(.5w,.1h); z4=pp(.5w,.9h); pd z3; pd z4; draw z3--z4; % stem
-endchar;
-
-beginpunkchar("*",13,.5,1);
-z0=pp(.5w,1.1h); z1=pp(u,.9h); z2=pp(2u,.3h); z3=pp(w-u,.3h); z4=pp(w-u,.9h);
-pd z0; draw z0--z2..1/3[.5[z2,z4],z0]..z4--z1--z3--z0; % star
-endchar;
-
-beginpunkchar(39,5,.5,1.5); % ' apostrofe HH/TH (to be checked)
-z1=pp(w/2,h); z2=pp(w/2+u,.85h); z3=pp(w/2,2/3h);
-pd z1; pd z3; draw z1..z2..z3; % stroke
-endchar;
-
-beginpunkchar(34,9,1,1.5); % " HH/TH (to be checked)
-z1=pp(1.5u,h); z2=pp(1.5u,.6h); z3=pp(w-1.5u,h); z4=pp(w-1.5u,.6h);
-pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw z3--z4;
-endchar;
-
-beginpunkchar(8216,5,.3,.5); % `
-z1=pp(w-1.5u,h); z2=pp(u,.85h); z3=pp(w-u,2/3h);
-pd z1; pd z3; draw z1--z2--z3; % stroke
-endchar;
-
-beginpunkchar(8217,5,.3,.5); % '
-z1=pp(1.5u,h); z2=pp(w-u,.85h); z3=pp(u,2/3h);
-pd z1; pd z3; draw z1--z2--z3; % stroke
-endchar;
-
-beginpunkchar(8220,9,.3,.5); % `` quotedblleft
-z1=pp(.5w+.5u,h); z2=pp(w-u,.6h); z3=pp(u,.95h);
-pd z1; pd z3; draw z1--z2--z3; % stroke
-endchar;
-
-beginpunkchar(8221,9,.3,.5); % '' quotedblright
-z1=pp(.5w-.5u,h); z2=pp(u,.6h); z3=pp(w-u,.95h);
-pd z1; pd z3; draw z1--z2--z3; % stroke
-endchar;
-
-beginpunkchar("(",7,.5,.5);
-z1=pp(w-u,h); z2=pp(u,.5h); z3=pp(w-u,0);
-pd z1; pd z3; draw z1..z2..z3; % stroke
-endchar;
-
-beginpunkchar(")",7,.5,.5);
-z1=pp(u,h); z2=pp(w-u,.5h); z3=pp(u,0); pd z1; pd z3; draw z1..z2..z3; % stroke
-endchar;
-
-beginpunkchar("[",8,.5,.5);
-z1=pp(w-u,h); z2=pp(.5w,h); z3=pp(.5w,0); z4=pp(w-u,0);
-pd z1; pd z4; draw z1--z2--z3--z4; % bars and stem
-endchar;
-
-beginpunkchar("]",8,.5,.5);
-z1=pp(u,h); z2=pp(.5w,h); z3=pp(.5w,0); z4=pp(u,0);
-pd z1; pd z4; draw z1--z2--z3--z4; % bars and stem
-endchar;
-
-beginpunkchar("<",9,.5,.5);
-z1=pp(w-u,.9h); z2=pp(u,.5h); z3=pp(w-u,.1h);
-pd z1; pd z3; draw z1--z2--z3; % diagonals
-endchar;
-
-beginpunkchar(">",9,.5,.5);
-z1=pp(u,.9h); z2=pp(w-u,.5h); z3=pp(u,.1h);
-pd z1; pd z3; draw z1--z2--z3; % diagonals
-endchar;
-
-beginpunkchar("{",10,.5,.5); % HH/TH
-z1=pp(w-2u,h); z3=pp(2u,.5h); z5=pp(w-2u,0);
-z2=pp(w-4u,.6h); z4=(w-4u,.4h);
-pd z1; pd z3; pd z5; draw z1{left}..z2--z3 & z3--z4..{right}z5;
-endchar;
-
-beginpunkchar("}",10,.5,.5); % HH/TH
-z1=pp(2u,h); z3=pp(w-2u,.5h); z5=pp(2u,0);
-z2=pp(4u,.6h); z4=(4u,.4h);
-pd z1; pd z3; pd z5; draw z1{right}..z2--z3 & z3--z4..{left}z5;
-endchar;
-
-beginpunkchar("=",9,.5,.5);
-z5=pp(u,2/3h); z6=pp(w-u,2/3h); pd z5; pd z6; draw z5--z6; % upper bar
-z7=pp(u,1/3h); z8=pp(w-u,1/3h); pd z7; pd z8; draw z7--z8; % lower bar
-endchar;
-
-beginpunkchar("#",15,.5,.5);
-z1=pp(.5w,h); z2=pp(3u,0); z3=pp(w-3u,h); z4=pp(.5w,0);
-pd z2; pd z3; draw z3--z1--z2; draw z3--z4--z2; % diagonals (linked)
-z5=pp(u,2/3h); z6=pp(w-u,2/3h); pd z5; pd z6; draw z5--z6; % upper bar
-z7=pp(u,1/3h); z8=pp(w-u,1/3h); pd z7; pd z8; draw z7--z8; % lower bar
-endchar;
-
-beginpunkchar("/",9,1,1);
-z1=pp(1.5u,-.05h); z2=pp(w-1.5u,1.05h); pd z1; pd z2; draw z1--z2; % diagonal
-endchar;
-
-beginpunkchar("\",9,1,1); % HH/TH
-z1=pp(1.5u,1.05h); z2=pp(w-1.5u,-.05h); pd z1; pd z2; draw z1--z2; % reverse diagonal
-endchar;
-
-
-beginpunkchar("0",9,.5,1);
-z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
-pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
-endchar;
-
-beginpunkchar("1",9,.3,1);
-z1=pp(2u,.7h); z2=pp(.6w,h); z3=pp(.6w,0);
-pd z1; pd z3; draw z1--z2--z3; % serif and stem
-endchar;
-
-beginpunkchar("2",9,1,1);
-z1=pp(2u,.7h); z2=pp(.5w,h); z3=pp(w-u,.6h); z4=pp(u,0); z5=pp(w-2u,0);
-pd z1; pd z5; draw z1..z2..z3..z4--z5; % stroke
-endchar;
-
-beginpunkchar("3",9,.5,.5);
-z1=pp(2u,.7h); z2=pp(.5w,h); z3=pp(w-u,.5[y2,y4]);
-z4=pp(.5w-u,.55h); z5=pp(w-u,.5[y4,y6]); z6=pp(.5w,0); z7=pp(1.5u,.2h);
-pd z1; pd z7; draw z1..z2..z3..z4&z4..z5..z6..z7; % arcs
-endchar;
-
-beginpunkchar("4",9,1,1);
-z1=pp(w-u,.3h); z2=pp(u,.3h); z3=pp(2/3w,h); z4=pp(2/3w,0);
-pd z1; pd z4; draw z1--z2--z3--z4; % stem and diagonals
-endchar;
-
-beginpunkchar("5",9,.5,.5);
-z1=pp(w-2u,h); z2=pp(2u,h); z3=pp(u,.7h); z4=pp(w-u,.5[y3,y5]);
-z5=pp(.5w,0); z6=pp(u,.2h);
-pd z1; pd z6; draw z1--z2--z3..z4..z5..z6; % stroke
-endchar;
-
-beginpunkchar("6",9,1,1);
-z1=pp(2/3w,h); z2=pp(u,.3h); z3=pp(.5w,0); z4=pp(w-u,.3h); z5=pp(.6w,.6h);
-z6=pp z2; pd z1; pd z6; draw z1..z2..z3..z4..z5--z6; % stroke
-endchar;
-
-beginpunkchar("7",9,.5,1);
-z1=pp(2u,h); z2=pp(w-.5u,h); z3=pp(.4w,0);
-pd z1; pd z3; draw z1--z2&z2..z3{down}; % stroke
-endchar;
-
-beginpunkchar("8",9,.5,.5);
-z1=pp(.5w,h); z2=pp(u,.5[y1,y3]); z3=pp(.5w,.6h); z4=pp(w-u,.5[y3,y5]);
-z5=pp(.5w,0); z6=pp(u,.5[y5,y3]); z7=pp(w-u,.5[y1,y3]);
-pd z1; draw z1{curl 8}..z2..z3..z4..z5..z6..z3..z7..z1; % stroke
-endchar;
-
-beginpunkchar("9",9,1,1);
-z1=pp(1/3w,0); z2=pp(w-u,.7h); z3=pp(.5w,h); z4=pp(u,.7h); z5=pp(.5w,.4h);
-pd z1; pd z5; draw z1..z2..z3..z4..z5; % stroke
-endchar;
-
-beginpunkchar(96,9,1,1); % \`{} grave
-z1=pp(2.5u,h); z2=pp(.6w,.8h); pd z1; pd z2; draw z1--z2; % diagonal
-endchar;
-
-beginpunkchar(180,9,1,1); % \'{} acute
-z1=pp(w-2.5u,h); z2=pp(.4w,.8h); pd z1; pd z2; draw z1--z2; % diagonal
-endchar;
-
-beginpunkchar(710,13,1,1); % \^{} circumflex
-z1=pp(2.5u,.8h); z2=pp(.5w,h); z3=(w-2.5u,.8h);
-pd z1; pd z3; draw z1--z2--z3; % diagonals
-endchar;
-
-beginpunkchar(711,13,1,1); % \v{} caron
-z1=pp(2.5u,.9h); z2=pp(.5w,.7h); z3=pp(w-2.5u,.9h);
-pd z1; pd z3; draw z1--z2--z3; % diagonals
-endchar;
-
-beginpunkchar(728,11,1,1); % \u{} breve
-z1=pp(2u,h); z2=pp(.5w,.75h); z3=pp(w-2u,h);
-pd z1; pd z3; draw flex(z1,z2,z3); % stroke
-endchar;
-
-beginpunkchar(175,12,1,1); % \={} macron
-z1=pp(u,.8h); z2=pp(w-u,.8h); pd z1; pd z2; draw z1--z2; % bar
-endchar;
-
-beginpunkchar(729,5,1,1); % \.{}
-pd pp(.5w,.9h); % dot
-endchar;
-
-beginpunkchar(168,13,1,1); % \"{} diaeresis
-pd pp(1/5w,.9h); pd pp(4/5w,.9h); % dots
-endchar;
-
-beginpunkchar(732,13,1,1); % \~{} tilde
-z1=pp(u,.75h); z2=pp(w-u,.9h); pd z1; pd z2; draw z1{up}..{up}z2; % stroke
-endchar;
-
-beginpunkchar(733,13,1,1); % \H{} hungarumlaut
-z1=pp(4u,h); z2=pp(2.5u,.7h); z3=pp(w-2u,h); z4=pp(w-3.5u,.7h);
-pd z1; pd z3; draw z1--z2--z4--z3; % diagonals (linked)
-endchar;
-
-beginpunkchar(730,13,0,0); % Scandinavian loop, for \AA\ and \aa (ring)
-z0=(.5w,.66h); % point $z^2$ of lowercase A
-z1=(.5w,.9h); draw z0{z0-(1.5u,0)}..z1..{(w-1.5u,0)-z0}z0; % loop
-endchar;
-
-beginpunkchar(184,13,.5,.5); % Cedilla, for \c c
-z1=(.6w,0); z2=pp(.6w,-.1h); z3=pp(2.5u,-.1h);
-pd z3; draw z1--z2--z3; % stroke
-endchar;
-
-initialize_punk_lower ;
-
-beginpunkchar(305,5,1,2); % dotless I
-z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
-pd z1; pd z4; draw flex(z1,z2,z3,z4); % stem
-endchar;
-
-beginpunkchar(567,9,1,2); % dotless J
-z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
-pd z1; pd z3; draw z1--z2--z3; % arc
-endchar;
-
-beginpunkchar(223,18,.3,1); % German SS
-z1=pp(.5w-u,.9h); z2=pp(1/3w,h); z3=pp(u,.7h); z4=.6[z6,z2];
-z5=pp(.5w,.35h); z6=pp(1/3w,u); z7=pp(u,.2h);
-pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7; % left stroke
-for i=1 upto 7: z[i+10]=pp(z[i] shifted (.5w-u,0)); endfor
-pd z11; pd z17; draw z11--z12...z13..z14..z15...z16--z17; % right stroke
-endchar;
-
-beginpunkchar("a",13,1,2);
-z1=pp(1.5u,0); z2=(.5w,1.1h); z3=pp(w-1.5u,0);
-pd z1; pd z3; draw z1--z2--z3; % left and right diagonals
-z4=pp .3[z1,z2]; z5=pp .3[z3,z2]; pd z4; pd z5; draw z4--z5; % crossbar
-endchar;
-
-beginpunkchar("b",12,1,1);
-z1=pp(2u,0); z2=pp(2u,.6h); z3=pp(2u,h); pd z1; pd z3; draw z1--z3; % stem
-z1.5=pp(w-u,.5y2); z2.5=pp(w-u,.5[y2,y3]); draw z2--z2.5--z3; % upper lobe
-draw flex(z2,z1.5,z1); % lower lobe
-endchar;
-
-beginpunkchar("c",13,1,2);
-z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=(.6w,0); z5=(w-2u,.2h);
-pd z1; pd z5; draw z1..z2..z3..z4..z5; % arc
-endchar;
-
-beginpunkchar("d",14,1,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6h);
-pd z1; pd z2; draw flex(z1,z3,z2); % lobe
-draw z1--z2; % stem
-endchar;
-
-beginpunkchar("e",12,.5,1);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2.5u,h); z4=pp(w-2u,0);
-pd z3; pd z4; draw z4--z1--z2--z3; % stem and arms
-z5=pp(2u,.6h); z6=pp(w-3u,.6h); pd z5; pd z6; draw z5--z6; % crossbar
-endchar;
-
-beginpunkchar("f",12,.5,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,h);
-pd z1; pd z3; draw z1--z2--z3; % stem and arm
-z5=pp(2u,.6h); z6=pp(w-3u,.6h); z4=pp .5[z5,z6]-(0,.1h);
-pd z5; pd z6; draw flex (z5,z4,z6); % crossbar
-endchar;
-
-beginpunkchar("g",13,.5,.5);
-z1=pp(w-2u,.8h); z2=pp(.6w,h); z3=pp(u,.5h); z4=pp(.6w,0); z5=(w-2u,0);
-pd z1; draw z1..z2..z3..z4---z5; % arc
-z6=pp(.5[u,x5],.4h); pd z6; pd z5; draw z6--(pp(x5,y6))--z5; % spur
-endchar;
-
-beginpunkchar("h",14,1,.5);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
-z5=pp(2u,.6h); z6=pp(w-2u,.6h);
-pd z1; pd z2; pd z3; pd z4; draw z1--z2; draw flex(z3,z6,z4); % stems
-pd z5; draw z5--z6; % crossbar
-endchar;
-
-beginpunkchar("i",5,1,2);
-z1=pp(.5w,0); z2=(.5w,1/3h); z3=(.5w,2/3h); z4=(.5w,h);
-pd z1; pd z4; draw flex(z1,z2,z3,z4); % stem
-endchar;
-
-beginpunkchar("j",9,1,2);
-z1=pp(w-2u,h); z2=pp(w-2u,-.1h); z3=pp(u,0);
-pd z1; pd z3; draw z1--z2--z3; % arc
-endchar;
-
-beginpunkchar("k",14,1,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(2u,1/3h); z4=pp(w-1.5u,h);
-pd z1; pd z2; draw z1--z2; % stem
-pd z3; pd z4; draw z3--z4; % upper diagonal
-z6=pp(w-u,0); z5=1/3[z3,z4];
-pd z6; draw flex(z5,.8[z1,2/3[z5,z6] ],z6);% lower diagonal
-endchar;
-
-beginpunkchar("l",11,1,2);
-z1=pp(2u,h); z2=pp(2u,0); z3=pp(w-1.5u,0);
-pd z1; pd z3; draw z1--z2--z3; % stem and arm
-endchar;
-
-beginpunkchar("m",17,.5,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(.5w,0); z4=pp(w-2u,h); z5=pp(w-2u,0);
-pd z1; pd z5; draw z1--z2--z3--z4--z5; % stems and diagonals
-endchar;
-
-beginpunkchar("n",13,.75,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-2u,0); z4=pp(w-2u,h);
-pd z1; pd z4; draw z1--z2--z3--z4; % stems and diagonals
-endchar;
-
-beginpunkchar("o",12,.5,2);
-z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
-pd z1; draw z1{left}..z2..z3..z4..z1; % bowl
-endchar;
-
-beginpunkchar("p",13,1,2);
-z1=pp(2u,0); z2=pp(2u,1.1h); z3=pp(2u,.5h); z4=pp(w,.6[y3,y2]);
-pd z1; pd z3; draw z1--z2--z4--z3; % stem and bowl
-endchar;
-
-beginpunkchar("q",14,.5,2);
-z1=pp(.5w,h); z2=pp(u,.55h); z3=pp(.5w,0); z4=pp(w-u,.55h);
-pd z1; draw z1{curl 2}..z2..z3..z4..z1; % bowl
-z5=pp(.4w,.2h); z6=pp(w-u,-.1h); z7=pp(.5[x5,x6],-.2h);
-pd z5; pd z6; draw z5--z7--z6; % tail
-endchar;
-
-beginpunkchar("r",16,1,2);
-z1=pp(2u,0); z2=pp(2u,h); z3=pp(w-u,.6[y2,y4]); z4=pp(2u,.5h); z5=pp(w-1.5u,0);
-pd z1; pd z2; pd z5; draw z1--flex(z2,z3,z4)--z5; % stem, bowl, and diagonal
-endchar;
-
-beginpunkchar("s",11,.3,1);
-z1=pp(w-2u,.9h); z2=pp(.5w,h); z3=pp(u,.7h); z4=.6[z6,z2];
-z5=pp(w-u,.35h); z6=pp(.5w,u); z7=pp(u,.2h);
-pd z1; pd z7; draw z1--z2...z3..z4..z5...z6--z7; % stroke
-endchar;
-
-beginpunkchar("t",13,.75,2);
-z1=pp(u,h); z2=pp(w-u,h); z3=pp(.5w,0);
-pd z1; pd z2; pd z3; draw z1--z2; % arms
-draw .5[z1,z2]--z3; % stem
-endchar;
-
-beginpunkchar("u",13,.3,2);
-z1=pp(2u,h); z2=pp(2u,.2h); z3=pp(.5w,0); z4=pp(w-2u,.2h); z5=pp(w-2u,h);
-pd z1; pd z5; draw z1---z2...z3{z4-z2}...z4---z5; % stroke
-endchar;
-
-beginpunkchar("v",13,1,2);
-z1=pp(1.5u,h); z2=pp(.5w,0); z3=pp(w-1.5u,h);
-pd z1; pd z3; draw z1--z2--z3; % diagonals
-endchar;
-
-beginpunkchar("w",18,1,2);
-z1=pp(1.5u,h); z2=pp(.5[x1,x3],0); z3=pp(.5w,.8h); z4=pp(.5[x3,x5],0);
-z5=pp(w-1.5u,h);
-pd z1; pd z5; draw z1--z2--z3--z4--z5; % diagonals
-endchar;
-
-beginpunkchar("x",13,1,1);
-z1=pp(1.5u,h); z2=pp(w-1.5u,0); z3=pp(1.5u,0); z4=pp(w-2.5u,h);
-pd z1; pd z2; draw z1--z2; % main diagonal
-pd z3; pd z4; draw z3--z4; % cross diagonal
-endchar;
-
-beginpunkchar("y",13,1,2);
-z1=pp(1.5u,h); z2=pp(w-1.5u,h); z3=pp(.5w,.5h); z4=pp(.5w,0);
-pd z1; pd z2; pd z4; draw z1--z3--z4; % stem and left diagonal
-draw z2--z3; % right diagonal
-endchar;
-
-beginpunkchar("z",11,1,2);
-z1=pp(1.5u,h); z2=pp(w-2.5u,h); z3=pp(1.5u,0); z4=pp(w-1.5u,0);
-pd z1; pd z4; draw z1--z2--z3--z4; % diagonals
-endchar;
-
-beginpunkchar(230,16,1,2); % \ae
-z1=pp(1.5u,0); z2=pp(.6w,h); z3=pp(w-1.5u,h);
-pd z1; pd z3; draw z1--z2--z3; % left diagonal and upper arm
-z4=pp .3[z1,z2]; z5=pp(.6w,0); z6=pp(w-2u,.3h);
-pd z4; pd z6; draw z4--z6; % crossbar
-z7=pp(w-u,0); pd z2; pd z7; draw z2--z5--z7; % stem and lower arm
-endchar;
-
-beginpunkchar(339,18,1,2); % \oe
-z1=pp(.5w,h); z2=pp(u,.4h); z3=pp(.5w,0);
-pd z1; draw z1..z2..{right}z3; % bowl
-z4=pp(w-1.5u,h); z5=pp(w-2u,.4h); z6=pp(w-u,0);
-pd z4; pd z6; draw z4--z1--z3--z6; % arms and stem
-pd z5; draw z5--.4[z3,z1]; % crossbar
-endchar;
-
-beginpunkchar(248,14,1,1); % \o
-z1=pp(.5w,h); z2=pp(u,.5h); z3=pp(.5w,0); z4=pp(w-u,.5h);
-z5=pp(w-2u,1.1h); z6=pp(2u,-.1h);
-pd z1; pd z6; draw z1..z2..z3..z4..z5--z6; % bowl and diagonal
-endchar;
-
-revert_punk_lower;
-
-beginpunkchar("_",12,.5,.5); % _
-z1=pp(0,-.2h); z2=pp(w,-.2h); pd z1; pd z2; draw z1--z2; % bar
-endchar;
-
-beginpunkchar("^",12,1,.5); %
-z1=pp(.5w,h); z2=pp(1.5u,.6h); z3=pp(w-1.5u,.6h);
-pd z2; pd z3; draw z2--z1--z3;
-endchar;
+input "punkfont-definitions.mp" ;
+input "punkfont-characters.mp" ;
diff --git a/scripts/context/lua/mtx-chars.lua b/scripts/context/lua/mtx-chars.lua
index 6acacfbd2..ea4a6061f 100644
--- a/scripts/context/lua/mtx-chars.lua
+++ b/scripts/context/lua/mtx-chars.lua
@@ -143,6 +143,11 @@ local banner_utf_patch = [[
\setXTXcharcodes "201C "201C "201C
\setXTXcharcodes "201D "201D "201D
+
+% patch needed for french
+
+\setXTXcharcodes "2019 "2019 "2019
+
]]
local banner_utf_names = [[
diff --git a/scripts/context/lua/mtx-colors.lua b/scripts/context/lua/mtx-colors.lua
new file mode 100644
index 000000000..a99fd7257
--- /dev/null
+++ b/scripts/context/lua/mtx-colors.lua
@@ -0,0 +1,51 @@
+if not modules then modules = { } end modules ['mtx-colors'] = {
+ version = 1.001,
+ comment = "companion to mtxrun.lua",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "see context related readme files"
+}
+
+-- todo: fc-cache -v en check dirs, or better is: fc-cat -v | grep Directory
+
+if not fontloader then fontloader = fontforge end
+
+dofile(resolvers.find_file("colo-icc.lua","tex"))
+
+scripts = scripts or { }
+scripts.colors = scripts.colors or { }
+
+function scripts.colors.table()
+ local files = environment.files
+ if #files > 0 then
+ for i=1,#files do
+ local profile, okay, message = colors.iccprofile(files[i])
+ if not okay then
+ logs.simple(message)
+ else
+ logs.simple(table.serialize(profile,"profile"))
+ end
+ end
+ else
+ logs.simple("no file(s) given" )
+ end
+end
+
+logs.extendbanner("ConTeXt Color Management 0.1")
+
+messages.help = [[
+--table show icc table
+
+example:
+
+mtxrun --script color --table somename
+]]
+
+--~ local track = environment.argument("track")
+--~ if track then trackers.enable(track) end
+
+if environment.argument("table") then
+ scripts.colors.table()
+else
+ logs.help(messages.help)
+end
diff --git a/scripts/context/lua/mtx-context.lua b/scripts/context/lua/mtx-context.lua
index 785539754..66b8a6311 100644
--- a/scripts/context/lua/mtx-context.lua
+++ b/scripts/context/lua/mtx-context.lua
@@ -439,14 +439,13 @@ function scripts.context.multipass.makeoptionfile(jobname,ctxdata,kindofrun,curr
f:write(format:format(...),"\n")
end
--
+ -- This might change ... we can just pass the relevant flags directly.
+ --
setalways("%% runtime options files (command line driven)")
--
setalways("\\unprotect")
--
setalways("%% feedback and basic job control")
- if type(environment.argument("track")) == "string" then
- setvalue ("track" , "\\enabletrackers[%s]")
- end
if type(environment.argument("trackers")) == "string" then
setvalue ("trackers" , "\\enabletrackers[%s]")
end
diff --git a/scripts/context/lua/mtx-fonts.lua b/scripts/context/lua/mtx-fonts.lua
index b8bbdde5b..9e370b2d5 100644
--- a/scripts/context/lua/mtx-fonts.lua
+++ b/scripts/context/lua/mtx-fonts.lua
@@ -194,10 +194,9 @@ local function list_specifications(t,info)
fontweight(entry.fontweight),
}
end
- table.formatcolumns(s)
+ aux.formatcolumns(s)
for k=1,#s do
- local v = s[k]
- texio.write_nl(v)
+ texio.write_nl(s[k])
end
end
end
@@ -222,7 +221,7 @@ local function list_matches(t,info)
subfont(entry.subfont)
}
end
- table.formatcolumns(s)
+ aux.formatcolumns(s)
for k=1,#s do
texio.write_nl(s[k])
end
diff --git a/scripts/context/lua/mtx-interface.lua b/scripts/context/lua/mtx-interface.lua
index 34ecffab0..12a6d0e29 100644
--- a/scripts/context/lua/mtx-interface.lua
+++ b/scripts/context/lua/mtx-interface.lua
@@ -161,7 +161,7 @@ function scripts.interface.context()
local v = t[key]
local value = v[language] or v["en"]
if not value then
- logs.simple(format("warning, no value for key '%s' for language '%s'",key,language))
+ logs.simple("warning, no value for key '%s' for language '%s'",key,language)
else
local value = t[key][language] or t[key].en
texresult[#texresult+1] = format("\\setinterface%s{%s}{%s}",tag,key,value)
@@ -199,9 +199,9 @@ function scripts.interface.context()
local texfilename = format("mult-%s.tex",language)
local xmlfilename = format("keys-%s.xml",language)
io.savedata(texfilename,table.concat(texresult,"\n"))
- logs.simple(format("saving interface definitions '%s'",texfilename))
+ logs.simple("saving interface definitions '%s'",texfilename)
io.savedata(xmlfilename,table.concat(xmlresult,"\n"))
- logs.simple(format("saving interface translations '%s'",xmlfilename))
+ logs.simple("saving interface translations '%s'",xmlfilename)
if language ~= "en" and xmldata ~= "" then
local newdata = xmldata:gsub("(<cd:interface.*language=.)en(.)","%1"..language.."%2",1)
newdata = replace(newdata, 'cd:string', 'value', interface.commands, interface.elements, language)
@@ -212,7 +212,7 @@ function scripts.interface.context()
newdata = replace(newdata, 'cd:inherit', 'name', interface.commands, interface.elements, language)
local xmlfilename = format("cont-%s.xml",language)
io.savedata(xmlfilename,newdata)
- logs.simple(format("saving interface specification '%s'",xmlfilename))
+ logs.simple("saving interface specification '%s'",xmlfilename)
end
end
end
@@ -223,6 +223,8 @@ function scripts.interface.messages()
local filename = resolvers.find_file(environment.files[1] or "mult-mes.lua") or ""
if filename ~= "" then
local messages = dofile(filename)
+ logs.simple("messages for * loaded from '%s'",filename)
+ logs.simple()
for i=1,#messageinterfaces do
local interface = messageinterfaces[i]
local texresult = { }
@@ -237,7 +239,9 @@ function scripts.interface.messages()
end
end
texresult[#texresult+1] = format("%%\n\\endinput")
- io.savedata(format("mult-m%s.tex",interface),table.concat(texresult,"\n"))
+ local interfacefile = format("mult-m%s.tex",interface)
+ io.savedata(interfacefile,table.concat(texresult,"\n"))
+ logs.simple("messages for '%s' saved in '%s'",interface,interfacefile)
end
end
end
diff --git a/scripts/context/lua/mtx-patterns.lua b/scripts/context/lua/mtx-patterns.lua
index c3817e9a8..a51ca5860 100644
--- a/scripts/context/lua/mtx-patterns.lua
+++ b/scripts/context/lua/mtx-patterns.lua
@@ -6,95 +6,111 @@ if not modules then modules = { } end modules ['mtx-patterns'] = {
license = "see context related readme files"
}
-local format, find, concat = string.format, string.find, table.concat
+local format, find, concat, gsub, match, gmatch = string.format, string.find, table.concat, string.gsub, string.match, string.gmatch
+local byte, char = utf.byte, utf.char
+local addsuffix = file.addsuffix
+local lpegmatch, validutf8 = lpeg.match, lpeg.patterns.validutf8
scripts = scripts or { }
scripts.patterns = scripts.patterns or { }
+
+local permitted_characters = table.tohash {
+ 0x0009, -- tab
+ 0x0027, -- apostrofe
+ 0x02BC, -- modifier apostrofe (used in greek)
+ 0x002D, -- hyphen
+ 0x200C, -- zwnj
+ 0x2019, -- quote right
+ 0x1FBD, -- greek, but no letter: symbol modifier
+ 0x1FBF, -- greek, but no letter: symbol modifier
+}
+
+local ignored_ancient_greek = table.tohash {
+ 0x1FD3, -- greekiotadialytikatonos (also 0x0390)
+ 0x1FE3, -- greekupsilondialytikatonos (also 0x03B0)
+ 0x1FBD, -- greek, but no letter: symbol modifier
+ 0x1FBF, -- greek, but no letter: symbol modifier
+ 0x03F2, -- greeksigmalunate
+ 0x02BC, -- modifier apostrofe)
+}
+
+local ignored_french = table.tohash {
+ 0x02BC, -- modifier apostrofe
+}
+
+local replaced_whatever = {
+ [char(0x2019)] = char(0x0027)
+}
+
scripts.patterns.list = {
- -- no patterns for arabic
--- { "ar", "hyph-ar.tex", "arabic" },
- -- not supported
--- { "as", "hyph-as.tex", "assamese" },
- { "bg", "hyph-bg.tex", "bulgarian" },
- -- not supported
--- { "bn", "hyph-bn.tex", "bengali" },
- { "ca", "hyph-ca.tex", "catalan" },
- -- not supported
--- { "cop", "hyph-cop.tex", "coptic" },
- { "cs", "hyph-cs.tex", "czech" },
- { "cy", "hyph-cy.tex", "welsh" },
- { "da", "hyph-da.tex", "danish" },
- { "deo", "hyph-de-1901.tex", "german, old spelling" },
- { "de", "hyph-de-1996.tex", "german, new spelling" },
- { "??", "hyph-de-ch-1901.tex", "swiss german" },
---~ { "??", "hyph-el-monoton.tex", "" },
---~ { "??", "hyph-el-polyton.tex", "" },
- { "agr", "hyph-grc.tex", "ancient greek" },
- { "gb", "hyph-en-gb.tex", "british english" },
- { "us", "hyph-en-us.tex", "american english" },
---~ { "gr", "", "" },
- -- these patterns do not satisfy the rules of 'clean patterns'
--- { "eo", "hyph-eo.tex", "esperanto" },
- { "es", "hyph-es.tex", "spanish" },
- { "et", "hyph-et.tex", "estonian" },
- { "eu", "hyph-eu.tex", "basque" },
- -- no patterns for farsi/persian
--- { "fa", "hyph-fa.tex", "farsi" },
- { "fi", "hyph-fi.tex", "finnish" },
- { "fr", "hyph-fr.tex", "french" },
- { "??", "hyph-ga.tex", "irish" },
- { "??", "hyph-gl.tex", "galician" },
- -- not supported
--- { "gu", "hyph-gu.tex", "gujarati" },
- -- not supported
--- { "hi", "hyph-hi.tex", "hindi" },
- { "hr", "hyph-hr.tex", "croatian" },
- { "??", "hyph-hsb.tex", "upper sorbian" },
- { "hu", "hyph-hu.tex", "hungarian" },
- -- not supported
--- { "hy", "hyph-hy.tex", "armenian" },
- { "??", "hyph-ia.tex", "interlingua" },
- { "??", "hyph-id.tex", "indonesian" },
- { "is", "hyph-is.tex", "icelandic" },
- { "it", "hyph-it.tex", "italian" },
- { "??", "hyph-kmr.tex", "kurmanji" },
- -- not supported
--- { "kn", "hyph-kn.tex", "kannada" },
- { "la", "hyph-la.tex", "latin" },
- -- not supported
--- { "lo", "hyph-lo.tex", "lao" },
- { "lt", "hyph-lt.tex", "lithuanian" },
- { "??", "hyph-lv.tex", "latvian" },
- { "mn", "hyph-mn-cyrl.tex", "mongolian, cyrillic script" },
- { "nb", "hyph-nb.tex", "norwegian bokmål" },
- { "nl", "hyph-nl.tex", "dutch" },
- { "nn", "hyph-nn.tex", "norwegian nynorsk" },
- -- not supported
--- { "or", "hyph-or.tex", "oriya" },
- -- not supported
--- { "pa", "hyph-pa.tex", "panjabi" },
- -- not supported
--- { "", "hyph-.tex", "" },
- { "pl", "hyph-pl.tex", "polish" },
- { "pt", "hyph-pt.tex", "portuguese" },
- { "ro", "hyph-ro.tex", "romanian" },
- { "ru", "hyph-ru.tex", "russian" },
- -- not supported
--- { "sa", "hyph-sa.tex", "sanskrit" },
- { "sk", "hyph-sk.tex", "slovak" },
- { "sl", "hyph-sl.tex", "slovenian" },
- -- TODO: there is both Cyrillic and Latin script available
- { "sr", "hyph-sr-cyrl.tex", "serbian" },
- { "sv", "hyph-sv.tex", "swedish" },
- -- not supported
--- { "ta", "hyph-ta.tex", "tamil" },
- -- not supported
--- { "te", "hyph-te.tex", "telugu" },
- { "tk", "hyph-tk.tex", "turkmen" },
- { "tr", "hyph-tr.tex", "turkish" },
- { "uk", "hyph-uk.tex", "ukrainian" },
- { "zh", "hyph-zh-latn.tex", "zh-latn, chinese Pinyin" },
+ -- { "ar", "hyph-ar", "arabic" },
+ -- { "as", "hyph-as", "assamese" },
+ { "bg", "hyph-bg", "bulgarian" },
+ -- { "bn", "hyph-bn", "bengali" },
+ { "ca", "hyph-ca", "catalan" },
+ -- { "??", "hyph-cop", "coptic" },
+ { "cs", "hyph-cs", "czech" },
+ { "cy", "hyph-cy", "welsh" },
+ { "da", "hyph-da", "danish" },
+ { "deo", "hyph-de-1901", "german, old spelling" },
+ { "de", "hyph-de-1996", "german, new spelling" },
+ -- { "??", "hyph-de-ch-1901", "swiss german" },
+ -- { "??", "hyph-el-monoton", "greek" },
+ -- { "gr", "hyph-el-polyton", "greek" },
+ { "agr", "hyph-grc", "ancient greek", ignored_ancient_greek },
+ { "gb", "hyph-en-gb", "british english" },
+ { "us", "hyph-en-us", "american english" },
+ -- { "eo", "hyph-eo", "esperanto" },
+ { "es", "hyph-es", "spanish" },
+ { "et", "hyph-et", "estonian" },
+ { "eu", "hyph-eu", "basque" },
+ -- { "fa", "hyph-fa", "farsi" },
+ { "fi", "hyph-fi", "finnish" },
+ { "fr", "hyph-fr", "french", ignored_french },
+ -- { "??", "hyph-ga", "irish" },
+ -- { "??", "hyph-gl", "galician" },
+ -- { "gu", "hyph-gu", "gujarati" },
+ -- { "hi", "hyph-hi", "hindi" },
+ { "hr", "hyph-hr", "croatian" },
+ -- { "??", "hyph-hsb", "upper sorbian" },
+ { "hu", "hyph-hu", "hungarian" },
+ -- { "hy", "hyph-hy", "armenian" },
+ -- { "??", "hyph-ia", "interlingua" },
+ -- { "??", "hyph-id", "indonesian" },
+ { "is", "hyph-is", "icelandic" },
+ { "it", "hyph-it", "italian" },
+ -- { "??", "hyph-kmr", "kurmanji" },
+ -- { "kn", "hyph-kn", "kannada" },
+ { "la", "hyph-la", "latin" },
+ -- { "lo", "hyph-lo", "lao" },
+ { "lt", "hyph-lt", "lithuanian" },
+ { "lv", "hyph-lv", "latvian" },
+ -- { "ml", "hyph-ml", "..." },
+ { "mn", "hyph-mn-cyrl", "mongolian, cyrillic script" },
+ -- { "mr", "hyph-mr", "..." },
+ { "nb", "hyph-nb", "norwegian bokmål" },
+ { "nl", "hyph-nl", "dutch" },
+ { "nn", "hyph-nn", "norwegian nynorsk" },
+ -- { "or", "hyph-or", "oriya" },
+ -- { "pa", "hyph-pa", "panjabi" },
+ -- { "", "hyph-", "" },
+ { "pl", "hyph-pl", "polish" },
+ { "pt", "hyph-pt", "portuguese" },
+ { "ro", "hyph-ro", "romanian" },
+ { "ru", "hyph-ru", "russian" },
+ -- { "sa", "hyph-sa", "sanskrit" },
+ { "sk", "hyph-sk", "slovak" },
+ { "sl", "hyph-sl", "slovenian" },
+ { "sr", "hyph-sr-cyrl", "serbian" },
+ -- { "sr", "hyph-sr-latn", "serbian" },
+ { "sv", "hyph-sv", "swedish" },
+ -- { "ta", "hyph-ta", "tamil" },
+ -- { "te", "hyph-te", "telugu" },
+ { "tk", "hyph-tk", "turkmen" },
+ { "tr", "hyph-tr", "turkish" },
+ { "uk", "hyph-uk", "ukrainian" },
+ { "zh", "hyph-zh-latn", "zh-latn, chinese pinyin" },
}
-- stripped down from lpeg example:
@@ -105,189 +121,220 @@ function utf.check(str)
return lpeg.match(lpeg.patterns.validutf8,str)
end
-local permitted_commands = table.tohash {
- "message",
- "endinput"
-}
-
-local permitted_characters = table.tohash {
- 0x0009, -- tab
- 0x0027, -- apostrofe
- 0x002D, -- hyphen
- 0x200C, --
-}
+-- *.tex
+-- *.hyp.txt *.pat.txt *.lic.txt *.chr.txt
-function scripts.patterns.load(path,name,mnemonic,fullcheck)
+function scripts.patterns.load(path,name,mnemonic,ignored)
local fullname = file.join(path,name)
- local data = io.loaddata(fullname) or ""
- local byte, char = utf.byte, utf.char
- if data ~= "" then
- data = data:gsub("([\n\r])\\input ([^ \n\r]+)", function(previous,subname)
- local subname = file.addsuffix(subname,"tex")
- local subfull = file.join(file.dirname(fullname),subname)
- local subdata = io.loaddata(subfull) or ""
- if subdata == "" then
- if mnemonic then
- logs.simple("no subfile %s for language %s",subname,mnemonic)
- else
- logs.simple("no subfile %s",name)
+ local texfile = addsuffix(fullname,"tex")
+ local hypfile = addsuffix(fullname,"hyp.txt")
+ local patfile = addsuffix(fullname,"pat.txt")
+ local licfile = addsuffix(fullname,"lic.txt")
+ -- local chrfile = addsuffix(fullname,"chr.txt")
+ local okay = true
+ local hyphenations, patterns, comment, stripset = "", "", "", ""
+ local splitpatternsnew, splithyphenationsnew = { }, { }
+ local splitpatternsold, splithyphenationsold = { }, { }
+ local usedpatterncharacters, usedhyphenationcharacters = { }, { }
+ if lfs.isfile(patfile) then
+ logs.simple("using txt files %s.[hyp|pat|lic].txt",name)
+ comment, patterns, hyphenations = io.loaddata(licfile) or "", io.loaddata(patfile) or "", io.loaddata(hypfile) or ""
+ hypfile, patfile, licfile = hypfile, patfile, licfile
+ elseif lfs.isfile(texfile) then
+ logs.simple("using tex file %s.txt",name)
+ local data = io.loaddata(texfile) or ""
+ if data ~= "" then
+ data = gsub(data,"([\n\r])\\input ([^ \n\r]+)", function(previous,subname)
+ local subname = addsuffix(subname,"tex")
+ local subfull = file.join(file.dirname(texfile),subname)
+ local subdata = io.loaddata(subfull) or ""
+ if subdata == "" then
+ logs.simple("no subfile %s",subname)
end
- end
- return previous .. subdata
- end)
- local comment = data:match("^(.-)[\n\r]\\patterns") or ""
- local n, okay = 0, true
- local cd = characters.data
- for line in data:gmatch("[^ \n\r]+") do
- local ok = utf.check(line)
- n = n + 1
- if not ok then
- okay = false
- line = line:gsub("%%","%%%%")
- if fullcheck then
- if mnemonic then
- logs.simple("invalid utf in language %s, file %s, line %s: %s",mnemonic,name,n,line)
- else
- logs.simple("invalid utf in file %s, line %s: %s",name,n,line)
- end
- else
- if mnemonic then
- logs.simple("file %s for %s contains invalid utf",name,mnemonic)
- else
- logs.simple("file %s contains invalid utf",name)
+ return previous .. subdata
+ end)
+ data = gsub(data,"%%.-[\n\r]","")
+ data = gsub(data," *[\n\r]+","\n")
+ patterns = match(data,"\\patterns[%s]*{[%s]*(.-)[%s]*}") or ""
+ hyphenations = match(data,"\\hyphenation[%s]*{[%s]*(.-)[%s]*}") or ""
+ comment = match(data,"^(.-)[\n\r]\\patterns") or ""
+ else
+ okay = false
+ end
+ else
+ okay = false
+ end
+ if okay then
+ -- split into lines
+ local how = lpeg.patterns.whitespace^1
+ splitpatternsnew = lpeg.split(how,patterns)
+ splithyphenationsnew = lpeg.split(how,hyphenations)
+ end
+ if okay then
+ -- remove comments
+ local function check(data,splitdata,name)
+ if find(data,"%%") then
+ for i=1,#splitdata do
+ local line = splitdata[i]
+ if find(line,"%%") then
+ splitdata[i] = gsub(line,"%%.*$","")
+ logs.simple("removing comment: %s",line)
end
- break
end
end
end
- local c, h = { }, { }
- for line in data:gmatch("[^\n\r]+") do
- local txt, cmt = line:match("^(.-)%%(.*)$")
- if not txt then
- txt, cmt = line, ""
- end
- for s in txt:gmatch("\\([a-zA-Z]+)") do
- h[s] = (h[s] or 0) + 1
- end
- for s in cmt:gmatch("\\([a-zA-Z]+)") do
- c[s] = (c[s] or 0) + 1
- end
- end
- h.patterns = nil
- h.hyphenation = nil
- for k, v in next, h do
- if not permitted_commands[k] then okay = false end
- if mnemonic then
- logs.simple("command \\%s found in language %s, file %s, n=%s",k,mnemonic,name,v)
- else
- logs.simple("command \\%s found in file %s, n=%s",k,name,v)
+ check(patterns,splitpatternsnew,patfile)
+ check(hyphenations,splithyphenationsnew,hypfile)
+ end
+ if okay then
+ -- remove lines with commands
+ local function check(data,splitdata,name)
+ if find(data,"\\") then
+ for i=1,#splitdata do
+ local line = splitdata[i]
+ if find(line,"\\") then
+ splitdata[i] = ""
+ logs.simple("removing line with command: %s",line)
+ end
+ end
end
end
- if not environment.argument("fast") then
- for k, v in next, c do
- if mnemonic then
- logs.simple("command \\%s found in comment of language %s, file %s, n=%s",k,mnemonic,name,v)
- else
- logs.simple("command \\%s found in comment of file %s, n=%s",k,name,v)
+ check(patterns,splitpatternsnew,patfile)
+ check(hyphenations,splithyphenationsnew,hypfile)
+ end
+ if okay then
+ -- check for valid utf
+ local function check(data,splitdata,name)
+ for i=1,#splitdata do
+ local line = splitdata[i]
+ local ok = lpegmatch(validutf8,line)
+ if not ok then
+ splitdata[i] = ""
+ logs.simple("removing line with invalid utf: %s",line)
end
end
+ -- check for commands being used in comments
end
- data = data:gsub("%%.-[\n\r]","")
- data = data:gsub(" *[\n\r]+","\n")
- local patterns = data:match("\\patterns[%s]*{[%s]*(.-)[%s]*}") or ""
- local hyphenations = data:match("\\hyphenation[%s]*{[%s]*(.-)[%s]*}") or ""
- patterns = patterns:gsub("[ \t]+","\n")
- hyphenations = hyphenations:gsub("[ \t]+","\n")
- local p, h = { }, { }
- local pats, hyps = { } , { }
- local pused, hused = { } , { }
- local period = byte(".")
- for line in patterns:gmatch("[^ \n\r]+") do
- local ok = true
- for b in line:utfvalues() do
- if b == period then
- -- ok
- else
- local ct = cd[b].category
- if ct == "lu" or ct == "ll" then
- pused[char(b)] = true
- elseif ct == "nd" then
- -- ok
+ check(patterns,splitpatternsnew,patfile)
+ check(hyphenations,splithyphenationsnew,hypfile)
+ end
+ if okay then
+ -- remove funny lines
+ local cd = characters.data
+ local stripped = { }
+ local function check(splitdata,special,name)
+ local used = { }
+ for i=1,#splitdata do
+ local line = splitdata[i]
+ for b in line:utfvalues() do -- could be an lpeg
+ if b == special then
+ -- not registered
+ elseif permitted_characters[b] then
+ used[char(b)] = true
else
- p[b] = (p[b] or 0) + 1
- ok = false
+ local cdb = cd[b]
+ if not cdb then
+ logs.simple("no entry in chardata for character %s (0x%04X)",char(b),b)
+ else
+ local ct = cd[b].category
+ if ct == "lu" or ct == "ll" then
+ used[char(b)] = true
+ elseif ct == "nd" then
+ -- number
+ else
+ logs.simple("removing line with suspected utf character %s (0x%04X), category %s: %s",char(b),b,ct,line)
+ splitdata[i] = ""
+ break
+ end
+ end
end
end
end
- if ok then
- pats[#pats+1] = line
- end
+ return used
end
- local hyphen = byte("-")
- for line in hyphenations:gmatch("[^ \n\r]+") do
- local ok = true
- for b in line:utfvalues() do
- if b == hyphen then
- -- ok
- else
- local ct = cd[b].category
- if ct == "lu" or ct == "ll" then
- hused[char(b)] = true
+ usedpatterncharacters = check(splitpatternsnew,byte("."))
+ usedhyphenationcharacters = check(splithyphenationsnew,byte("-"))
+ for k, v in next, stripped do
+ logs.simple("entries that contain character %s (0x%04X) have been omitted",char(k),k)
+ end
+ end
+ if okay then
+ local function stripped(what,ignored)
+ -- ignored (per language)
+ local p = nil
+ if ignored then
+ for k, v in next, ignored do
+ if p then
+ p = p + lpeg.P(char(k))
else
- h[b] = (h[b] or 0) + 1
- ok = false
+ p = lpeg.P(char(k))
end
end
+ p = lpeg.P{ p + 1 * lpeg.V(1) } -- anywhere
end
- if ok then
- hyps[#hyps+1] = line
- end
- end
- local stripped = { }
- for k, v in next, p do
- if mnemonic then
- logs.simple("invalid character %s (0x%04X) in patterns of language %s, file %s, n=%s",char(k),k,mnemonic,name,v)
- else
- logs.simple("invalid character %s (0x%04X) in patterns of file %s, n=%s",char(k),k,name,v)
+ -- replaced (all languages)
+ local r = nil
+ for k, v in next, replaced_whatever do
+ if r then
+ r = r + lpeg.P(k)/v
+ else
+ r = lpeg.P(k)/v
+ end
end
- if not permitted_characters[k] then
- okay = false
- else
- stripped[k] = true
+ r = lpeg.Cs((r + 1)^0)
+ local result = { }
+ for i=1,#what do
+ local line = what[i]
+ if p and lpegmatch(p,line) then
+ logs.simple("discarding conflicting pattern: %s",line)
+ else -- we can speed this up by testing for replacements in the string
+ local l = lpegmatch(r,line)
+ if l ~= line then
+ logs.simple("sanitizing pattern: %s -> %s (for old patterns)",line,l)
+ end
+ result[#result+1] = l
+ end
end
+ return result
end
- for k, v in next, h do
- if mnemonic then
- logs.simple("invalid character %s (0x%04X) in exceptions of language %s, file %s, n=%s",char(k),k,mnemonic,name,v)
- else
- logs.simple("invalid character %s (0x%04X) in exceptions of file %s, n=%s",char(k),k,name,v)
- end
- if not permitted_characters[k] then
- okay = false
- else
- stripped[k] = true
+
+ splitpatternsold = stripped(splitpatternsnew,ignored)
+ splithyphenationsold = stripped(splithyphenationsnew,ignored)
+
+ end
+ if okay then
+ -- discarding duplicates
+ local function check(data,splitdata,name)
+ local used, collected = { }, { }
+ for i=1,#splitdata do
+ local line = splitdata[i]
+ if line == "" then
+ -- discard
+ elseif used[line] then
+ -- discard
+ logs.simple("discarding duplicate pattern: %s",line)
+ else
+ used[line] = true
+ collected[#collected+1] = line
+ end
end
+ return collected
end
- local stripset = ""
- for k, v in next, stripped do
- logs.simple("entries that contain character %s will be omitted",char(k))
- stripset = stripset .. "%" .. char(k)
- end
- return okay, pats, hyps, comment, stripset, pused, hused
- else
- if mnemonic then
- logs.simple("no file %s for language %s",fullname,mnemonic)
- else
- logs.simple("no file %s",fullname)
- end
- return false, { }, { }, "", "", { }, { }
+ splitpatternsnew = check(patterns,splitpatternsnew,patfile)
+ splithyphenationsnew = check(hyphenations,splithyphenationsnew,hypfile)
+ splitpatternsold = check(patterns,splitpatternsold,patfile)
+ splithyphenationsold = check(hyphenations,splithyphenationsold,hypfile)
+ end
+ if not okay then
+ logs.simple("no valid file %s.*",name)
end
+ return okay, splitpatternsnew, splithyphenationsnew, splitpatternsold, splithyphenationsold, comment, stripset, usedpatterncharacters, usedhyphenationcharacters
end
-function scripts.patterns.save(destination,mnemonic,name,patterns,hyphenations,comment,stripped,pused,hused)
- local nofpatterns = #patterns
- local nofhyphenations = #hyphenations
- logs.simple("language %s has %s patterns and %s exceptions",mnemonic,nofpatterns,nofhyphenations)
+function scripts.patterns.save(destination,mnemonic,name,patternsnew,hyphenationsnew,patternsold,hyphenationsold,comment,stripped,pused,hused,ignored)
+ local nofpatternsnew, nofhyphenationsnew = #patternsnew, #hyphenationsnew
+ local nofpatternsold, nofhyphenationsold = #patternsold, #hyphenationsold
+ logs.simple("language %s has %s old and %s new patterns and %s old and %s new exceptions",mnemonic,nofpatternsold,nofpatternsnew,nofhyphenationsold,nofhyphenationsnew)
if mnemonic ~= "??" then
local pu = concat(table.sortedkeys(pused), " ")
local hu = concat(table.sortedkeys(hused), " ")
@@ -318,28 +365,28 @@ function scripts.patterns.save(destination,mnemonic,name,patterns,hyphenations,c
}
local patterndata, hyphenationdata
- if nofpatterns > 0 then
+ if nofpatternsnew > 0 then
patterndata = {
- n = nofpatterns,
- data = concat(patterns," ") or nil,
+ n = nofpatternsnew,
+ data = concat(patternsnew," ") or nil,
characters = concat(table.sortedkeys(pused),""),
minhyphenmin = 1, -- determined by pattern author
minhyphenmax = 1, -- determined by pattern author
}
else
patterndata = {
- n = nofpatterns,
+ n = 0,
}
end
- if nofhyphenations > 0 then
+ if nofhyphenationsnew > 0 then
hyphenationdata = {
- n = nofhyphenations,
- data = concat(hyphenations," "),
+ n = nofhyphenationsnew,
+ data = concat(hyphenationsnew," "),
characters = concat(table.sortedkeys(hused),""),
}
else
hyphenationdata = {
- n = nofhyphenations,
+ n = 0,
}
end
local data = {
@@ -358,8 +405,8 @@ function scripts.patterns.save(destination,mnemonic,name,patterns,hyphenations,c
os.remove(luafile)
io.savedata(rmefile,format("%s\n\n%s",topline,comment))
- io.savedata(patfile,format("%s\n\n%s\n\n%% used: %s\n\n\\patterns{\n%s}",topline,banner,pu,concat(patterns,"\n")))
- io.savedata(hypfile,format("%s\n\n%s\n\n%% used: %s\n\n\\hyphenation{\n%s}",topline,banner,hu,concat(hyphenations,"\n")))
+ io.savedata(patfile,format("%s\n\n%s\n\n%% used: %s\n\n\\patterns{\n%s}",topline,banner,pu,concat(patternsold,"\n")))
+ io.savedata(hypfile,format("%s\n\n%s\n\n%% used: %s\n\n\\hyphenation{\n%s}",topline,banner,hu,concat(hyphenationsold,"\n")))
io.savedata(luafile,table.serialize(data,true))
end
end
@@ -370,22 +417,16 @@ end
function scripts.patterns.check()
local path = environment.argument("path") or "."
- local found = false
local files = environment.files
+ local only = false
if #files > 0 then
- for i=1,#files do
- local name = files[i]
- logs.simple("checking language file %s", name)
- local okay = scripts.patterns.load(path,name,nil,not environment.argument("fast"))
- if #environment.files > 1 then
- logs.simple("")
- end
- end
- else
- for k, v in next, scripts.patterns.list do
- local mnemonic, name = v[1], v[2]
+ only = table.tohash(files)
+ end
+ for k, v in next, scripts.patterns.list do
+ local mnemonic, name, ignored = v[1], v[2], v[4]
+ if not only or only[mnemonic] then
logs.simple("checking language %s, file %s", mnemonic, name)
- local okay = scripts.patterns.load(path,name,mnemonic,not environment.argument("fast"))
+ local okay = scripts.patterns.load(path,name,mnemonic,ignored)
if not okay then
logs.simple("there are errors that need to be fixed")
end
@@ -403,16 +444,23 @@ function scripts.patterns.convert()
if path == destination then
logs.simple("source path and destination path should differ (use --path and/or --destination)")
else
+ local files = environment.files
+ local only = false
+ if #files > 0 then
+ only = table.tohash(files)
+ end
for k, v in next, scripts.patterns.list do
- local mnemonic, name = v[1], v[2]
- logs.simple("converting language %s, file %s", mnemonic, name)
- local okay, patterns, hyphenations, comment, stripped, pused, hused = scripts.patterns.load(path,name,false)
- if okay then
- scripts.patterns.save(destination,mnemonic,name,patterns,hyphenations,comment,stripped,pused,hused)
- else
- logs.simple("convertion aborted due to error(s)")
+ local mnemonic, name, ignored = v[1], v[2], v[4]
+ if not only or only[mnemonic] then
+ logs.simple("converting language %s, file %s", mnemonic, name)
+ local okay, patternsnew, hyphenationsnew, patternsold, hyphenationsold, comment, stripped, pused, hused = scripts.patterns.load(path,name,mnemonic,ignored)
+ if okay then
+ scripts.patterns.save(destination,mnemonic,name,patternsnew,hyphenationsnew,patternsold,hyphenationsold,comment,stripped,pused,hused,ignored)
+ else
+ logs.simple("convertion aborted due to error(s)")
+ end
+ logs.simple("")
end
- logs.simple("")
end
end
end
@@ -425,8 +473,6 @@ messages.help = [[
--check check pattern file (or those used by context when no file given)
--path source path where hyph-foo.tex files are stored
--destination destination path
-
---fast only report filenames, no lines
]]
if environment.argument("check") then
@@ -441,6 +487,5 @@ end
-- mtxrun --script pattern --check hyph-*.tex
-- mtxrun --script pattern --check --path=c:/data/develop/svn-hyphen/trunk/hyph-utf8/tex/generic/hyph-utf8/patterns
--- mtxrun --script pattern --check --fast --path=c:/data/develop/svn-hyphen/trunk/hyph-utf8/tex/generic/hyph-utf8/patterns
--- mtxrun --script pattern --convert --path=c:/data/develop/svn-hyphen/trunk/hyph-utf8/tex/generic/hyph-utf8/patterns --destination=e:/tmp/patterns
--- mtxrun --script pattern --convert --path=c:/data/develop/svn-hyphen/branches/luatex/hyph-utf8/tex/generic/hyph-utf8/patterns/tex --destination=e:/tmp/patterns
+-- mtxrun --script pattern --convert --path=c:/data/develop/svn-hyphen/trunk/hyph-utf8/tex/generic/hyph-utf8/patterns/tex --destination=e:/tmp/patterns
+-- mtxrun --script pattern --convert --path=c:/data/develop/svn-hyphen/trunk/hyph-utf8/tex/generic/hyph-utf8/patterns/txt --destination=e:/tmp/patterns
diff --git a/scripts/context/lua/mtx-server-ctx-fonttest.lua b/scripts/context/lua/mtx-server-ctx-fonttest.lua
index b2a993bf8..4415cbd5d 100644
--- a/scripts/context/lua/mtx-server-ctx-fonttest.lua
+++ b/scripts/context/lua/mtx-server-ctx-fonttest.lua
@@ -17,7 +17,7 @@ local format, gsub, concat, match, find = string.format, string.gsub, table.conc
local sample_line = "This is a sample line!"
local tempname = "mtx-server-ctx-fonttest-temp"
-local temppath = caches.setpath("temp","mtx-server-ctx-fonttest")
+local temppath = caches.setfirstwritablefile("temp","mtx-server-ctx-fonttest")
local basename = "mtx-server-ctx-fonttest-data.lua"
local basepath = temppath
diff --git a/scripts/context/lua/mtx-server.lua b/scripts/context/lua/mtx-server.lua
index dc0befcaa..b1d1174bb 100644
--- a/scripts/context/lua/mtx-server.lua
+++ b/scripts/context/lua/mtx-server.lua
@@ -358,4 +358,4 @@ else
end
--- mtxrun --script server --start => http://localhost:8080/mtx-server-ctx-help.lua
+-- mtxrun --script server --start => http://localhost:31415/mtx-server-ctx-startup.lua
diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua
index ac4b0556e..68ee3d2c1 100644
--- a/scripts/context/lua/mtxrun.lua
+++ b/scripts/context/lua/mtxrun.lua
@@ -347,7 +347,8 @@ patterns.hexadecimal = P("0x") * R("09","AF","af")^1
patterns.lowercase = R("az")
patterns.uppercase = R("AZ")
patterns.letter = patterns.lowercase + patterns.uppercase
-patterns.space = S(" ")
+patterns.space = P(" ")
+patterns.tab = P("\t")
patterns.eol = S("\n\r")
patterns.spacer = S(" \t\f\v") -- + string.char(0xc2, 0xa0) if we want utf (cf mail roberto)
patterns.newline = crlf + cr + lf
@@ -358,6 +359,9 @@ patterns.nonwhitespace = 1 - patterns.whitespace
patterns.utf8 = patterns.utf8one + patterns.utf8two + patterns.utf8three + patterns.utf8four
patterns.utfbom = P('\000\000\254\255') + P('\255\254\000\000') + P('\255\254') + P('\254\255') + P('\239\187\191')
patterns.validutf8 = patterns.utf8^0 * P(-1) * Cc(true) + Cc(false)
+patterns.comma = P(",")
+patterns.commaspacer = P(",") * patterns.spacer^0
+patterns.period = P(".")
patterns.undouble = P('"')/"" * (1-P('"'))^0 * P('"')/""
patterns.unsingle = P("'")/"" * (1-P("'"))^0 * P("'")/""
@@ -462,15 +466,36 @@ local function f4(s) local c1, c2, c3, c4 = f1(s,1,4) return ((c1 * 64 + c2) * 6
patterns.utf8byte = patterns.utf8one/f1 + patterns.utf8two/f2 + patterns.utf8three/f3 + patterns.utf8four/f4
+
+
local cache = { }
function lpeg.stripper(str)
- local s = cache[str]
- if not s then
- s = Cs(((S(str)^1)/"" + 1)^0)
- cache[str] = s
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs(((S(str)^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs(((str^1)/"" + 1)^0)
+ end
+end
+
+local cache = { }
+
+function lpeg.keeper(str)
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs((((1-S(str))^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs((((1-str)^1)/"" + 1)^0)
end
- return s
end
function lpeg.replacer(t)
@@ -642,7 +667,7 @@ end
table.sortedkeys = sortedkeys
table.sortedhashkeys = sortedhashkeys
-function table.sortedhash(t)
+local function sortedhash(t)
local s = sortedhashkeys(t) -- maybe just sortedkeys
local n = 0
local function kv(s)
@@ -653,7 +678,8 @@ function table.sortedhash(t)
return kv, s
end
-table.sortedpairs = table.sortedhash
+table.sortedhash = sortedhash
+table.sortedpairs = sortedhash
function table.append(t, list)
for _,v in next, list do
@@ -1315,12 +1341,17 @@ function table.count(t)
return n
end
-function table.swapped(t)
- local s = { }
+function table.swapped(t,s)
+ local n = { }
+ if s then
+ for k, v in next, s do
+ n[k] = v
+ end
+ end
for k, v in next, t do
- s[v] = k
+ n[v] = k
end
- return s
+ return n
end
@@ -1340,7 +1371,7 @@ function table.hexed(t,seperator)
return concat(tt,seperator or " ")
end
-function table.reverse_hash(h)
+function table.reverse_hash(h) -- needs another name
local r = { }
for k,v in next, h do
r[v] = lower(gsub(k," ",""))
@@ -1388,10 +1419,18 @@ function table.insert_after_value(t,value,extra)
insert(t,#t+1,extra)
end
-function table.sequenced(t,sep)
+function table.sequenced(t,sep,simple) -- hash only
local s = { }
- for k, v in next, t do -- indexed?
- s[#s+1] = k .. "=" .. tostring(v)
+ for k, v in sortedhash(t) do
+ if simple then
+ if v == true then
+ s[#s+1] = k
+ elseif v and v~= "" then
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
+ else
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
end
return concat(s, sep or " | ")
end
@@ -1593,6 +1632,39 @@ function io.ask(question,default,options)
end
end
+function io.readnumber(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ if n == 1 then
+ return byte(f:read(1))
+ elseif n == 2 then
+ local a, b = byte(f:read(2),1,2)
+ return 256*a + b
+ elseif n == 4 then
+ local a, b, c, d = byte(f:read(4),1,4)
+ return 256^3 * a + 256^2 * b + 256*c + d
+ elseif n == 8 then
+ local a, b = readnumber(f,4), readnumber(f,4)
+ return 256 * b + c
+ elseif n == 12 then
+ local a, b, c = readnumber(f,4), readnumber(f,4), readnumber(f,4)
+ return 256^2 * a + 256 * b + c
+ else
+ return 0
+ end
+end
+
+function io.readstring(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ local str = gsub(f:read(n),"%z","")
+ return str
+end
+
end -- of closure
@@ -1658,6 +1730,23 @@ function number.bits(n,zero)
end
+function number.bit(p)
+ return 2 ^ (p - 1) -- 1-based indexing
+end
+
+function number.hasbit(x, p) -- typical call: if hasbit(x, bit(3)) then ...
+ return x % (p + p) >= p
+end
+
+function number.setbit(x, p)
+ return hasbit(x, p) and x or x + p
+end
+
+function number.clearbit(x, p)
+ return hasbit(x, p) and x - p or x
+end
+
+
end -- of closure
do -- create closure to overcome 200 locals limit
@@ -3023,7 +3112,7 @@ end
utf = utf or unicode.utf8
local concat, utfchar, utfgsub = table.concat, utf.char, utf.gsub
-local char, byte, find, bytepairs = string.char, string.byte, string.find, string.bytepairs
+local char, byte, find, bytepairs, utfvalues, format = string.char, string.byte, string.find, string.bytepairs, string.utfvalues, string.format
-- 0 EF BB BF UTF-8
-- 1 FF FE UTF-16-little-endian
@@ -3189,6 +3278,15 @@ function unicode.utf8_to_utf16(str,littleendian)
end
end
+function unicode.utfcodes(str)
+ local t = { }
+ for k,v in string.utfvalues(str) do
+ t[#t+1] = format("0x%04X",k)
+ end
+ return concat(t,separator or " ")
+end
+
+
end -- of closure
@@ -3568,14 +3666,24 @@ function aux.array_to_string(a,separator)
end
end
-function aux.settings_to_set(str,t)
+function aux.settings_to_set(str,t) -- tohash?
t = t or { }
- for s in gmatch(str,"%s*([^,]+)") do
+ for s in gmatch(str,"%s*([^, ]+)") do -- space added
t[s] = true
end
return t
end
+function aux.simple_hash_to_string(h, separator)
+ local t = { }
+ for k, v in table.sortedhash(h) do
+ if v then
+ t[#t+1] = k
+ end
+ end
+ return concat(t,separator or ",")
+end
+
local value = lbrace * lpeg.C((nobrace + nested)^0) * rbrace
local pattern = lpeg.Ct((space + value)^0)
@@ -3637,6 +3745,60 @@ end
-- as we use this a lot ...
+function aux.formatcolumns(result,between)
+ if result and #result > 0 then
+ between = between or " "
+ local widths, numbers = { }, { }
+ local first = result[1]
+ local n = #first
+ for i=1,n do
+ widths[i] = 0
+ end
+ for i=1,#result do
+ local r = result[i]
+ for j=1,n do
+ local rj = r[j]
+ local tj = type(rj)
+ if tj == "number" then
+ numbers[j] = true
+ end
+ if tj ~= "string" then
+ rj = tostring(rj)
+ r[j] = rj
+ end
+ local w = #rj
+ if w > widths[j] then
+ widths[j] = w
+ end
+ end
+ end
+ for i=1,n do
+ local w = widths[i]
+ if numbers[i] then
+ if w > 80 then
+ widths[i] = "%s" .. between
+ else
+ widths[i] = "%0" .. w .. "i" .. between
+ end
+ else
+ if w > 80 then
+ widths[i] = "%s" .. between
+ elseif w > 0 then
+ widths[i] = "%-" .. w .. "s" .. between
+ else
+ widths[i] = "%s"
+ end
+ end
+ end
+ local template = string.strip(concat(widths))
+ for i=1,#result do
+ local str = format(template,unpack(result[i]))
+ result[i] = string.strip(str)
+ end
+ end
+ return result
+end
+
end -- of closure
@@ -3843,7 +4005,7 @@ if not modules then modules = { } end modules ['trac-set'] = {
local type, next, tostring = type, next, tostring
local concat = table.concat
-local format, find, lower, gsub = string.format, string.find, string.lower, string.gsub
+local format, find, lower, gsub, simpleesc = string.format, string.find, string.lower, string.gsub, string.simpleesc
local is_boolean = string.is_boolean
setters = { }
@@ -3915,7 +4077,7 @@ local function set(t,what,newvalue)
for name, functions in next, data do
if done[name] then
-- prevent recursion due to wildcards
- elseif find(name,w) then
+ elseif find(name,simpleesc(w)) then
done[name] = true
for i=1,#functions do
functions[i](value)
@@ -3979,14 +4141,14 @@ end
function setters.enable(t,what)
local e = t.enable
t.enable, t.done = enable, { }
- enable(t,string.simpleesc(tostring(what)))
+ enable(t,what)
t.enable, t.done = e, { }
end
function setters.disable(t,what)
local e = t.disable
t.disable, t.done = disable, { }
- disable(t,string.simpleesc(tostring(what)))
+ disable(t,what)
t.disable, t.done = e, { }
end
@@ -4050,36 +4212,50 @@ trackers = setters.new("trackers")
directives = setters.new("directives")
experiments = setters.new("experiments")
+-- experiment
+
+if trackers and environment and environment.engineflags.trackers then
+ trackers.enable(environment.engineflags.trackers)
+end
+if directives and environment and environment.engineflags.directives then
+ directives.enable(environment.engineflags.directives)
+end
+
-- nice trick: we overload two of the directives related functions with variants that
-- do tracing (itself using a tracker) .. proof of concept
+local function report(...) -- messy .. chicken or egg
+ local p = (commands and commands.writestatus) or (logs and logs.report)
+ if p then p(...) end
+end
+
local trace_directives = false local trace_directives = false trackers.register("system.directives", function(v) trace_directives = v end)
local trace_experiments = false local trace_experiments = false trackers.register("system.experiments", function(v) trace_experiments = v end)
-local e = directives.enable
-local d = directives.disable
+local enable = directives.enable
+local disable = directives.disable
function directives.enable(...)
- (commands.writestatus or logs.report)("directives","enabling: %s",concat({...}," "))
- e(...)
+ report("directives","enabling: %s",concat({...}," "))
+ enable(...)
end
function directives.disable(...)
- (commands.writestatus or logs.report)("directives","disabling: %s",concat({...}," "))
- d(...)
+ report("directives","disabling: %s",concat({...}," "))
+ disable(...)
end
-local e = experiments.enable
-local d = experiments.disable
+local enable = experiments.enable
+local disable = experiments.disable
function experiments.enable(...)
- (commands.writestatus or logs.report)("experiments","enabling: %s",concat({...}," "))
- e(...)
+ report("experiments","enabling: %s",concat({...}," "))
+ enable(...)
end
function experiments.disable(...)
- (commands.writestatus or logs.report)("experiments","disabling: %s",concat({...}," "))
- d(...)
+ report("experiments","disabling: %s",concat({...}," "))
+ disable(...)
end
-- a useful example
@@ -4088,6 +4264,15 @@ directives.register("system.nostatistics", function(v)
statistics.enable = not v
end)
+-- experiment
+
+if trackers and environment and environment.engineflags.trackers then
+ trackers.enable(environment.engineflags.trackers)
+end
+if directives and environment and environment.engineflags.directives then
+ directives.enable(environment.engineflags.directives)
+end
+
end -- of closure
@@ -6357,17 +6542,19 @@ apply_axis['child'] = function(list)
for l=1,#list do
local ll = list[l]
local dt = ll.dt
- local en = 0
- for k=1,#dt do
- local dk = dt[k]
- if dk.tg then
- collected[#collected+1] = dk
- dk.ni = k -- refresh
- en = en + 1
- dk.ei = en
+ if dt then -- weird that this is needed
+ local en = 0
+ for k=1,#dt do
+ local dk = dt[k]
+ if dk.tg then
+ collected[#collected+1] = dk
+ dk.ni = k -- refresh
+ en = en + 1
+ dk.ei = en
+ end
end
+ ll.en = en
end
- ll.en = en
end
return collected
end
@@ -8079,6 +8266,7 @@ local finalizers = xml.finalizers.xml
local xmlfilter = xml.filter -- we could inline this one for speed
local xmltostring = xml.tostring
local xmlserialize = xml.serialize
+local xmlcollected = xml.collected
local function first(collected) -- wrong ?
return collected and collected[1]
@@ -8356,6 +8544,19 @@ xml.all = xml.filter
xml.index = xml.position
xml.found = xml.filter
+-- a nice one:
+
+local function totable(x)
+ local t = { }
+ for e in xmlcollected(x[1] or x,"/*") do
+ t[e.tg] = xmltostring(e.dt) or ""
+ end
+ return next(t) and t or nil
+end
+
+xml.table = totable
+finalizers.table = totable
+
end -- of closure
@@ -8943,6 +9144,7 @@ formats['pfb'] = 'T1FONTS' suffixes['pfb'] = { 'pfb', '
formats['vf'] = 'VFFONTS' suffixes['vf'] = { 'vf' }
formats['fea'] = 'FONTFEATURES' suffixes['fea'] = { 'fea' }
formats['cid'] = 'FONTCIDMAPS' suffixes['cid'] = { 'cid', 'cidmap' }
+formats['icc'] = 'ICCPROFILES' suffixes['icc'] = { 'icc' }
formats['texmfscripts'] = 'TEXMFSCRIPTS' suffixes['texmfscripts'] = { 'rb', 'pl', 'py' }
formats['lua'] = 'LUAINPUTS' suffixes['lua'] = { 'lua', 'luc', 'tma', 'tmc' }
formats['lib'] = 'CLUAINPUTS' suffixes['lib'] = (os.libsuffix and { os.libsuffix }) or { 'dll', 'so' }
@@ -8958,6 +9160,7 @@ alternatives['truetype fonts'] = 'ttf'
alternatives['truetype collections'] = 'ttc'
alternatives['truetype dictionary'] = 'dfont'
alternatives['type1 fonts'] = 'pfb'
+alternatives['icc profiles'] = 'icc'
--[[ldx--
<p>If you wondered about some of the previous mappings, how about
@@ -12160,6 +12363,21 @@ if not modules then modules = { } end modules ['luat-fmt'] = {
-- helper for mtxrun
+local quote = string.quote
+
+local function primaryflags()
+ local trackers = environment.argument("trackers")
+ local directives = environment.argument("directives")
+ local flags = ""
+ if trackers and trackers ~= "" then
+ flags = flags .. "--trackers=" .. quote(trackers)
+ end
+ if directives and directives ~= "" then
+ flags = flags .. "--directives=" .. quote(directives)
+ end
+ return flags
+end
+
function environment.make_format(name)
-- change to format path (early as we need expanded paths)
local olddir = lfs.currentdir()
@@ -12220,8 +12438,7 @@ function environment.make_format(name)
return
end
-- generate format
- local q = string.quote
- local command = string.format("luatex --ini --lua=%s %s %sdump",q(usedluastub),q(fulltexsourcename),os.platform == "unix" and "\\\\" or "\\")
+ local command = string.format("luatex --ini %s --lua=%s %s %sdump",primaryflags(),quote(usedluastub),quote(fulltexsourcename),os.platform == "unix" and "\\\\" or "\\")
logs.simple("running command: %s\n",command)
os.spawn(command)
-- remove related mem files
@@ -12260,7 +12477,7 @@ function environment.run_format(name,data,more)
logs.simple("no luc/lua with name: %s",barename)
else
local q = string.quote
- local command = string.format("luatex --fmt=%s --lua=%s %s %s",q(barename),q(luaname),q(data),more ~= "" and q(more) or "")
+ local command = string.format("luatex %s --fmt=%s --lua=%s %s %s",primaryflags(),quote(barename),quote(luaname),quote(data),more ~= "" and quote(more) or "")
logs.simple("running command: %s",command)
os.spawn(command)
end
diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua
index ac4b0556e..68ee3d2c1 100644
--- a/scripts/context/stubs/mswin/mtxrun.lua
+++ b/scripts/context/stubs/mswin/mtxrun.lua
@@ -347,7 +347,8 @@ patterns.hexadecimal = P("0x") * R("09","AF","af")^1
patterns.lowercase = R("az")
patterns.uppercase = R("AZ")
patterns.letter = patterns.lowercase + patterns.uppercase
-patterns.space = S(" ")
+patterns.space = P(" ")
+patterns.tab = P("\t")
patterns.eol = S("\n\r")
patterns.spacer = S(" \t\f\v") -- + string.char(0xc2, 0xa0) if we want utf (cf mail roberto)
patterns.newline = crlf + cr + lf
@@ -358,6 +359,9 @@ patterns.nonwhitespace = 1 - patterns.whitespace
patterns.utf8 = patterns.utf8one + patterns.utf8two + patterns.utf8three + patterns.utf8four
patterns.utfbom = P('\000\000\254\255') + P('\255\254\000\000') + P('\255\254') + P('\254\255') + P('\239\187\191')
patterns.validutf8 = patterns.utf8^0 * P(-1) * Cc(true) + Cc(false)
+patterns.comma = P(",")
+patterns.commaspacer = P(",") * patterns.spacer^0
+patterns.period = P(".")
patterns.undouble = P('"')/"" * (1-P('"'))^0 * P('"')/""
patterns.unsingle = P("'")/"" * (1-P("'"))^0 * P("'")/""
@@ -462,15 +466,36 @@ local function f4(s) local c1, c2, c3, c4 = f1(s,1,4) return ((c1 * 64 + c2) * 6
patterns.utf8byte = patterns.utf8one/f1 + patterns.utf8two/f2 + patterns.utf8three/f3 + patterns.utf8four/f4
+
+
local cache = { }
function lpeg.stripper(str)
- local s = cache[str]
- if not s then
- s = Cs(((S(str)^1)/"" + 1)^0)
- cache[str] = s
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs(((S(str)^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs(((str^1)/"" + 1)^0)
+ end
+end
+
+local cache = { }
+
+function lpeg.keeper(str)
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs((((1-S(str))^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs((((1-str)^1)/"" + 1)^0)
end
- return s
end
function lpeg.replacer(t)
@@ -642,7 +667,7 @@ end
table.sortedkeys = sortedkeys
table.sortedhashkeys = sortedhashkeys
-function table.sortedhash(t)
+local function sortedhash(t)
local s = sortedhashkeys(t) -- maybe just sortedkeys
local n = 0
local function kv(s)
@@ -653,7 +678,8 @@ function table.sortedhash(t)
return kv, s
end
-table.sortedpairs = table.sortedhash
+table.sortedhash = sortedhash
+table.sortedpairs = sortedhash
function table.append(t, list)
for _,v in next, list do
@@ -1315,12 +1341,17 @@ function table.count(t)
return n
end
-function table.swapped(t)
- local s = { }
+function table.swapped(t,s)
+ local n = { }
+ if s then
+ for k, v in next, s do
+ n[k] = v
+ end
+ end
for k, v in next, t do
- s[v] = k
+ n[v] = k
end
- return s
+ return n
end
@@ -1340,7 +1371,7 @@ function table.hexed(t,seperator)
return concat(tt,seperator or " ")
end
-function table.reverse_hash(h)
+function table.reverse_hash(h) -- needs another name
local r = { }
for k,v in next, h do
r[v] = lower(gsub(k," ",""))
@@ -1388,10 +1419,18 @@ function table.insert_after_value(t,value,extra)
insert(t,#t+1,extra)
end
-function table.sequenced(t,sep)
+function table.sequenced(t,sep,simple) -- hash only
local s = { }
- for k, v in next, t do -- indexed?
- s[#s+1] = k .. "=" .. tostring(v)
+ for k, v in sortedhash(t) do
+ if simple then
+ if v == true then
+ s[#s+1] = k
+ elseif v and v~= "" then
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
+ else
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
end
return concat(s, sep or " | ")
end
@@ -1593,6 +1632,39 @@ function io.ask(question,default,options)
end
end
+function io.readnumber(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ if n == 1 then
+ return byte(f:read(1))
+ elseif n == 2 then
+ local a, b = byte(f:read(2),1,2)
+ return 256*a + b
+ elseif n == 4 then
+ local a, b, c, d = byte(f:read(4),1,4)
+ return 256^3 * a + 256^2 * b + 256*c + d
+ elseif n == 8 then
+ local a, b = readnumber(f,4), readnumber(f,4)
+ return 256 * b + c
+ elseif n == 12 then
+ local a, b, c = readnumber(f,4), readnumber(f,4), readnumber(f,4)
+ return 256^2 * a + 256 * b + c
+ else
+ return 0
+ end
+end
+
+function io.readstring(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ local str = gsub(f:read(n),"%z","")
+ return str
+end
+
end -- of closure
@@ -1658,6 +1730,23 @@ function number.bits(n,zero)
end
+function number.bit(p)
+ return 2 ^ (p - 1) -- 1-based indexing
+end
+
+function number.hasbit(x, p) -- typical call: if hasbit(x, bit(3)) then ...
+ return x % (p + p) >= p
+end
+
+function number.setbit(x, p)
+ return hasbit(x, p) and x or x + p
+end
+
+function number.clearbit(x, p)
+ return hasbit(x, p) and x - p or x
+end
+
+
end -- of closure
do -- create closure to overcome 200 locals limit
@@ -3023,7 +3112,7 @@ end
utf = utf or unicode.utf8
local concat, utfchar, utfgsub = table.concat, utf.char, utf.gsub
-local char, byte, find, bytepairs = string.char, string.byte, string.find, string.bytepairs
+local char, byte, find, bytepairs, utfvalues, format = string.char, string.byte, string.find, string.bytepairs, string.utfvalues, string.format
-- 0 EF BB BF UTF-8
-- 1 FF FE UTF-16-little-endian
@@ -3189,6 +3278,15 @@ function unicode.utf8_to_utf16(str,littleendian)
end
end
+function unicode.utfcodes(str)
+ local t = { }
+ for k,v in string.utfvalues(str) do
+ t[#t+1] = format("0x%04X",k)
+ end
+ return concat(t,separator or " ")
+end
+
+
end -- of closure
@@ -3568,14 +3666,24 @@ function aux.array_to_string(a,separator)
end
end
-function aux.settings_to_set(str,t)
+function aux.settings_to_set(str,t) -- tohash?
t = t or { }
- for s in gmatch(str,"%s*([^,]+)") do
+ for s in gmatch(str,"%s*([^, ]+)") do -- space added
t[s] = true
end
return t
end
+function aux.simple_hash_to_string(h, separator)
+ local t = { }
+ for k, v in table.sortedhash(h) do
+ if v then
+ t[#t+1] = k
+ end
+ end
+ return concat(t,separator or ",")
+end
+
local value = lbrace * lpeg.C((nobrace + nested)^0) * rbrace
local pattern = lpeg.Ct((space + value)^0)
@@ -3637,6 +3745,60 @@ end
-- as we use this a lot ...
+function aux.formatcolumns(result,between)
+ if result and #result > 0 then
+ between = between or " "
+ local widths, numbers = { }, { }
+ local first = result[1]
+ local n = #first
+ for i=1,n do
+ widths[i] = 0
+ end
+ for i=1,#result do
+ local r = result[i]
+ for j=1,n do
+ local rj = r[j]
+ local tj = type(rj)
+ if tj == "number" then
+ numbers[j] = true
+ end
+ if tj ~= "string" then
+ rj = tostring(rj)
+ r[j] = rj
+ end
+ local w = #rj
+ if w > widths[j] then
+ widths[j] = w
+ end
+ end
+ end
+ for i=1,n do
+ local w = widths[i]
+ if numbers[i] then
+ if w > 80 then
+ widths[i] = "%s" .. between
+ else
+ widths[i] = "%0" .. w .. "i" .. between
+ end
+ else
+ if w > 80 then
+ widths[i] = "%s" .. between
+ elseif w > 0 then
+ widths[i] = "%-" .. w .. "s" .. between
+ else
+ widths[i] = "%s"
+ end
+ end
+ end
+ local template = string.strip(concat(widths))
+ for i=1,#result do
+ local str = format(template,unpack(result[i]))
+ result[i] = string.strip(str)
+ end
+ end
+ return result
+end
+
end -- of closure
@@ -3843,7 +4005,7 @@ if not modules then modules = { } end modules ['trac-set'] = {
local type, next, tostring = type, next, tostring
local concat = table.concat
-local format, find, lower, gsub = string.format, string.find, string.lower, string.gsub
+local format, find, lower, gsub, simpleesc = string.format, string.find, string.lower, string.gsub, string.simpleesc
local is_boolean = string.is_boolean
setters = { }
@@ -3915,7 +4077,7 @@ local function set(t,what,newvalue)
for name, functions in next, data do
if done[name] then
-- prevent recursion due to wildcards
- elseif find(name,w) then
+ elseif find(name,simpleesc(w)) then
done[name] = true
for i=1,#functions do
functions[i](value)
@@ -3979,14 +4141,14 @@ end
function setters.enable(t,what)
local e = t.enable
t.enable, t.done = enable, { }
- enable(t,string.simpleesc(tostring(what)))
+ enable(t,what)
t.enable, t.done = e, { }
end
function setters.disable(t,what)
local e = t.disable
t.disable, t.done = disable, { }
- disable(t,string.simpleesc(tostring(what)))
+ disable(t,what)
t.disable, t.done = e, { }
end
@@ -4050,36 +4212,50 @@ trackers = setters.new("trackers")
directives = setters.new("directives")
experiments = setters.new("experiments")
+-- experiment
+
+if trackers and environment and environment.engineflags.trackers then
+ trackers.enable(environment.engineflags.trackers)
+end
+if directives and environment and environment.engineflags.directives then
+ directives.enable(environment.engineflags.directives)
+end
+
-- nice trick: we overload two of the directives related functions with variants that
-- do tracing (itself using a tracker) .. proof of concept
+local function report(...) -- messy .. chicken or egg
+ local p = (commands and commands.writestatus) or (logs and logs.report)
+ if p then p(...) end
+end
+
local trace_directives = false local trace_directives = false trackers.register("system.directives", function(v) trace_directives = v end)
local trace_experiments = false local trace_experiments = false trackers.register("system.experiments", function(v) trace_experiments = v end)
-local e = directives.enable
-local d = directives.disable
+local enable = directives.enable
+local disable = directives.disable
function directives.enable(...)
- (commands.writestatus or logs.report)("directives","enabling: %s",concat({...}," "))
- e(...)
+ report("directives","enabling: %s",concat({...}," "))
+ enable(...)
end
function directives.disable(...)
- (commands.writestatus or logs.report)("directives","disabling: %s",concat({...}," "))
- d(...)
+ report("directives","disabling: %s",concat({...}," "))
+ disable(...)
end
-local e = experiments.enable
-local d = experiments.disable
+local enable = experiments.enable
+local disable = experiments.disable
function experiments.enable(...)
- (commands.writestatus or logs.report)("experiments","enabling: %s",concat({...}," "))
- e(...)
+ report("experiments","enabling: %s",concat({...}," "))
+ enable(...)
end
function experiments.disable(...)
- (commands.writestatus or logs.report)("experiments","disabling: %s",concat({...}," "))
- d(...)
+ report("experiments","disabling: %s",concat({...}," "))
+ disable(...)
end
-- a useful example
@@ -4088,6 +4264,15 @@ directives.register("system.nostatistics", function(v)
statistics.enable = not v
end)
+-- experiment
+
+if trackers and environment and environment.engineflags.trackers then
+ trackers.enable(environment.engineflags.trackers)
+end
+if directives and environment and environment.engineflags.directives then
+ directives.enable(environment.engineflags.directives)
+end
+
end -- of closure
@@ -6357,17 +6542,19 @@ apply_axis['child'] = function(list)
for l=1,#list do
local ll = list[l]
local dt = ll.dt
- local en = 0
- for k=1,#dt do
- local dk = dt[k]
- if dk.tg then
- collected[#collected+1] = dk
- dk.ni = k -- refresh
- en = en + 1
- dk.ei = en
+ if dt then -- weird that this is needed
+ local en = 0
+ for k=1,#dt do
+ local dk = dt[k]
+ if dk.tg then
+ collected[#collected+1] = dk
+ dk.ni = k -- refresh
+ en = en + 1
+ dk.ei = en
+ end
end
+ ll.en = en
end
- ll.en = en
end
return collected
end
@@ -8079,6 +8266,7 @@ local finalizers = xml.finalizers.xml
local xmlfilter = xml.filter -- we could inline this one for speed
local xmltostring = xml.tostring
local xmlserialize = xml.serialize
+local xmlcollected = xml.collected
local function first(collected) -- wrong ?
return collected and collected[1]
@@ -8356,6 +8544,19 @@ xml.all = xml.filter
xml.index = xml.position
xml.found = xml.filter
+-- a nice one:
+
+local function totable(x)
+ local t = { }
+ for e in xmlcollected(x[1] or x,"/*") do
+ t[e.tg] = xmltostring(e.dt) or ""
+ end
+ return next(t) and t or nil
+end
+
+xml.table = totable
+finalizers.table = totable
+
end -- of closure
@@ -8943,6 +9144,7 @@ formats['pfb'] = 'T1FONTS' suffixes['pfb'] = { 'pfb', '
formats['vf'] = 'VFFONTS' suffixes['vf'] = { 'vf' }
formats['fea'] = 'FONTFEATURES' suffixes['fea'] = { 'fea' }
formats['cid'] = 'FONTCIDMAPS' suffixes['cid'] = { 'cid', 'cidmap' }
+formats['icc'] = 'ICCPROFILES' suffixes['icc'] = { 'icc' }
formats['texmfscripts'] = 'TEXMFSCRIPTS' suffixes['texmfscripts'] = { 'rb', 'pl', 'py' }
formats['lua'] = 'LUAINPUTS' suffixes['lua'] = { 'lua', 'luc', 'tma', 'tmc' }
formats['lib'] = 'CLUAINPUTS' suffixes['lib'] = (os.libsuffix and { os.libsuffix }) or { 'dll', 'so' }
@@ -8958,6 +9160,7 @@ alternatives['truetype fonts'] = 'ttf'
alternatives['truetype collections'] = 'ttc'
alternatives['truetype dictionary'] = 'dfont'
alternatives['type1 fonts'] = 'pfb'
+alternatives['icc profiles'] = 'icc'
--[[ldx--
<p>If you wondered about some of the previous mappings, how about
@@ -12160,6 +12363,21 @@ if not modules then modules = { } end modules ['luat-fmt'] = {
-- helper for mtxrun
+local quote = string.quote
+
+local function primaryflags()
+ local trackers = environment.argument("trackers")
+ local directives = environment.argument("directives")
+ local flags = ""
+ if trackers and trackers ~= "" then
+ flags = flags .. "--trackers=" .. quote(trackers)
+ end
+ if directives and directives ~= "" then
+ flags = flags .. "--directives=" .. quote(directives)
+ end
+ return flags
+end
+
function environment.make_format(name)
-- change to format path (early as we need expanded paths)
local olddir = lfs.currentdir()
@@ -12220,8 +12438,7 @@ function environment.make_format(name)
return
end
-- generate format
- local q = string.quote
- local command = string.format("luatex --ini --lua=%s %s %sdump",q(usedluastub),q(fulltexsourcename),os.platform == "unix" and "\\\\" or "\\")
+ local command = string.format("luatex --ini %s --lua=%s %s %sdump",primaryflags(),quote(usedluastub),quote(fulltexsourcename),os.platform == "unix" and "\\\\" or "\\")
logs.simple("running command: %s\n",command)
os.spawn(command)
-- remove related mem files
@@ -12260,7 +12477,7 @@ function environment.run_format(name,data,more)
logs.simple("no luc/lua with name: %s",barename)
else
local q = string.quote
- local command = string.format("luatex --fmt=%s --lua=%s %s %s",q(barename),q(luaname),q(data),more ~= "" and q(more) or "")
+ local command = string.format("luatex %s --fmt=%s --lua=%s %s %s",primaryflags(),quote(barename),quote(luaname),quote(data),more ~= "" and quote(more) or "")
logs.simple("running command: %s",command)
os.spawn(command)
end
diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun
index ac4b0556e..68ee3d2c1 100755
--- a/scripts/context/stubs/unix/mtxrun
+++ b/scripts/context/stubs/unix/mtxrun
@@ -347,7 +347,8 @@ patterns.hexadecimal = P("0x") * R("09","AF","af")^1
patterns.lowercase = R("az")
patterns.uppercase = R("AZ")
patterns.letter = patterns.lowercase + patterns.uppercase
-patterns.space = S(" ")
+patterns.space = P(" ")
+patterns.tab = P("\t")
patterns.eol = S("\n\r")
patterns.spacer = S(" \t\f\v") -- + string.char(0xc2, 0xa0) if we want utf (cf mail roberto)
patterns.newline = crlf + cr + lf
@@ -358,6 +359,9 @@ patterns.nonwhitespace = 1 - patterns.whitespace
patterns.utf8 = patterns.utf8one + patterns.utf8two + patterns.utf8three + patterns.utf8four
patterns.utfbom = P('\000\000\254\255') + P('\255\254\000\000') + P('\255\254') + P('\254\255') + P('\239\187\191')
patterns.validutf8 = patterns.utf8^0 * P(-1) * Cc(true) + Cc(false)
+patterns.comma = P(",")
+patterns.commaspacer = P(",") * patterns.spacer^0
+patterns.period = P(".")
patterns.undouble = P('"')/"" * (1-P('"'))^0 * P('"')/""
patterns.unsingle = P("'")/"" * (1-P("'"))^0 * P("'")/""
@@ -462,15 +466,36 @@ local function f4(s) local c1, c2, c3, c4 = f1(s,1,4) return ((c1 * 64 + c2) * 6
patterns.utf8byte = patterns.utf8one/f1 + patterns.utf8two/f2 + patterns.utf8three/f3 + patterns.utf8four/f4
+
+
local cache = { }
function lpeg.stripper(str)
- local s = cache[str]
- if not s then
- s = Cs(((S(str)^1)/"" + 1)^0)
- cache[str] = s
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs(((S(str)^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs(((str^1)/"" + 1)^0)
+ end
+end
+
+local cache = { }
+
+function lpeg.keeper(str)
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs((((1-S(str))^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs((((1-str)^1)/"" + 1)^0)
end
- return s
end
function lpeg.replacer(t)
@@ -642,7 +667,7 @@ end
table.sortedkeys = sortedkeys
table.sortedhashkeys = sortedhashkeys
-function table.sortedhash(t)
+local function sortedhash(t)
local s = sortedhashkeys(t) -- maybe just sortedkeys
local n = 0
local function kv(s)
@@ -653,7 +678,8 @@ function table.sortedhash(t)
return kv, s
end
-table.sortedpairs = table.sortedhash
+table.sortedhash = sortedhash
+table.sortedpairs = sortedhash
function table.append(t, list)
for _,v in next, list do
@@ -1315,12 +1341,17 @@ function table.count(t)
return n
end
-function table.swapped(t)
- local s = { }
+function table.swapped(t,s)
+ local n = { }
+ if s then
+ for k, v in next, s do
+ n[k] = v
+ end
+ end
for k, v in next, t do
- s[v] = k
+ n[v] = k
end
- return s
+ return n
end
@@ -1340,7 +1371,7 @@ function table.hexed(t,seperator)
return concat(tt,seperator or " ")
end
-function table.reverse_hash(h)
+function table.reverse_hash(h) -- needs another name
local r = { }
for k,v in next, h do
r[v] = lower(gsub(k," ",""))
@@ -1388,10 +1419,18 @@ function table.insert_after_value(t,value,extra)
insert(t,#t+1,extra)
end
-function table.sequenced(t,sep)
+function table.sequenced(t,sep,simple) -- hash only
local s = { }
- for k, v in next, t do -- indexed?
- s[#s+1] = k .. "=" .. tostring(v)
+ for k, v in sortedhash(t) do
+ if simple then
+ if v == true then
+ s[#s+1] = k
+ elseif v and v~= "" then
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
+ else
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
end
return concat(s, sep or " | ")
end
@@ -1593,6 +1632,39 @@ function io.ask(question,default,options)
end
end
+function io.readnumber(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ if n == 1 then
+ return byte(f:read(1))
+ elseif n == 2 then
+ local a, b = byte(f:read(2),1,2)
+ return 256*a + b
+ elseif n == 4 then
+ local a, b, c, d = byte(f:read(4),1,4)
+ return 256^3 * a + 256^2 * b + 256*c + d
+ elseif n == 8 then
+ local a, b = readnumber(f,4), readnumber(f,4)
+ return 256 * b + c
+ elseif n == 12 then
+ local a, b, c = readnumber(f,4), readnumber(f,4), readnumber(f,4)
+ return 256^2 * a + 256 * b + c
+ else
+ return 0
+ end
+end
+
+function io.readstring(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ local str = gsub(f:read(n),"%z","")
+ return str
+end
+
end -- of closure
@@ -1658,6 +1730,23 @@ function number.bits(n,zero)
end
+function number.bit(p)
+ return 2 ^ (p - 1) -- 1-based indexing
+end
+
+function number.hasbit(x, p) -- typical call: if hasbit(x, bit(3)) then ...
+ return x % (p + p) >= p
+end
+
+function number.setbit(x, p)
+ return hasbit(x, p) and x or x + p
+end
+
+function number.clearbit(x, p)
+ return hasbit(x, p) and x - p or x
+end
+
+
end -- of closure
do -- create closure to overcome 200 locals limit
@@ -3023,7 +3112,7 @@ end
utf = utf or unicode.utf8
local concat, utfchar, utfgsub = table.concat, utf.char, utf.gsub
-local char, byte, find, bytepairs = string.char, string.byte, string.find, string.bytepairs
+local char, byte, find, bytepairs, utfvalues, format = string.char, string.byte, string.find, string.bytepairs, string.utfvalues, string.format
-- 0 EF BB BF UTF-8
-- 1 FF FE UTF-16-little-endian
@@ -3189,6 +3278,15 @@ function unicode.utf8_to_utf16(str,littleendian)
end
end
+function unicode.utfcodes(str)
+ local t = { }
+ for k,v in string.utfvalues(str) do
+ t[#t+1] = format("0x%04X",k)
+ end
+ return concat(t,separator or " ")
+end
+
+
end -- of closure
@@ -3568,14 +3666,24 @@ function aux.array_to_string(a,separator)
end
end
-function aux.settings_to_set(str,t)
+function aux.settings_to_set(str,t) -- tohash?
t = t or { }
- for s in gmatch(str,"%s*([^,]+)") do
+ for s in gmatch(str,"%s*([^, ]+)") do -- space added
t[s] = true
end
return t
end
+function aux.simple_hash_to_string(h, separator)
+ local t = { }
+ for k, v in table.sortedhash(h) do
+ if v then
+ t[#t+1] = k
+ end
+ end
+ return concat(t,separator or ",")
+end
+
local value = lbrace * lpeg.C((nobrace + nested)^0) * rbrace
local pattern = lpeg.Ct((space + value)^0)
@@ -3637,6 +3745,60 @@ end
-- as we use this a lot ...
+function aux.formatcolumns(result,between)
+ if result and #result > 0 then
+ between = between or " "
+ local widths, numbers = { }, { }
+ local first = result[1]
+ local n = #first
+ for i=1,n do
+ widths[i] = 0
+ end
+ for i=1,#result do
+ local r = result[i]
+ for j=1,n do
+ local rj = r[j]
+ local tj = type(rj)
+ if tj == "number" then
+ numbers[j] = true
+ end
+ if tj ~= "string" then
+ rj = tostring(rj)
+ r[j] = rj
+ end
+ local w = #rj
+ if w > widths[j] then
+ widths[j] = w
+ end
+ end
+ end
+ for i=1,n do
+ local w = widths[i]
+ if numbers[i] then
+ if w > 80 then
+ widths[i] = "%s" .. between
+ else
+ widths[i] = "%0" .. w .. "i" .. between
+ end
+ else
+ if w > 80 then
+ widths[i] = "%s" .. between
+ elseif w > 0 then
+ widths[i] = "%-" .. w .. "s" .. between
+ else
+ widths[i] = "%s"
+ end
+ end
+ end
+ local template = string.strip(concat(widths))
+ for i=1,#result do
+ local str = format(template,unpack(result[i]))
+ result[i] = string.strip(str)
+ end
+ end
+ return result
+end
+
end -- of closure
@@ -3843,7 +4005,7 @@ if not modules then modules = { } end modules ['trac-set'] = {
local type, next, tostring = type, next, tostring
local concat = table.concat
-local format, find, lower, gsub = string.format, string.find, string.lower, string.gsub
+local format, find, lower, gsub, simpleesc = string.format, string.find, string.lower, string.gsub, string.simpleesc
local is_boolean = string.is_boolean
setters = { }
@@ -3915,7 +4077,7 @@ local function set(t,what,newvalue)
for name, functions in next, data do
if done[name] then
-- prevent recursion due to wildcards
- elseif find(name,w) then
+ elseif find(name,simpleesc(w)) then
done[name] = true
for i=1,#functions do
functions[i](value)
@@ -3979,14 +4141,14 @@ end
function setters.enable(t,what)
local e = t.enable
t.enable, t.done = enable, { }
- enable(t,string.simpleesc(tostring(what)))
+ enable(t,what)
t.enable, t.done = e, { }
end
function setters.disable(t,what)
local e = t.disable
t.disable, t.done = disable, { }
- disable(t,string.simpleesc(tostring(what)))
+ disable(t,what)
t.disable, t.done = e, { }
end
@@ -4050,36 +4212,50 @@ trackers = setters.new("trackers")
directives = setters.new("directives")
experiments = setters.new("experiments")
+-- experiment
+
+if trackers and environment and environment.engineflags.trackers then
+ trackers.enable(environment.engineflags.trackers)
+end
+if directives and environment and environment.engineflags.directives then
+ directives.enable(environment.engineflags.directives)
+end
+
-- nice trick: we overload two of the directives related functions with variants that
-- do tracing (itself using a tracker) .. proof of concept
+local function report(...) -- messy .. chicken or egg
+ local p = (commands and commands.writestatus) or (logs and logs.report)
+ if p then p(...) end
+end
+
local trace_directives = false local trace_directives = false trackers.register("system.directives", function(v) trace_directives = v end)
local trace_experiments = false local trace_experiments = false trackers.register("system.experiments", function(v) trace_experiments = v end)
-local e = directives.enable
-local d = directives.disable
+local enable = directives.enable
+local disable = directives.disable
function directives.enable(...)
- (commands.writestatus or logs.report)("directives","enabling: %s",concat({...}," "))
- e(...)
+ report("directives","enabling: %s",concat({...}," "))
+ enable(...)
end
function directives.disable(...)
- (commands.writestatus or logs.report)("directives","disabling: %s",concat({...}," "))
- d(...)
+ report("directives","disabling: %s",concat({...}," "))
+ disable(...)
end
-local e = experiments.enable
-local d = experiments.disable
+local enable = experiments.enable
+local disable = experiments.disable
function experiments.enable(...)
- (commands.writestatus or logs.report)("experiments","enabling: %s",concat({...}," "))
- e(...)
+ report("experiments","enabling: %s",concat({...}," "))
+ enable(...)
end
function experiments.disable(...)
- (commands.writestatus or logs.report)("experiments","disabling: %s",concat({...}," "))
- d(...)
+ report("experiments","disabling: %s",concat({...}," "))
+ disable(...)
end
-- a useful example
@@ -4088,6 +4264,15 @@ directives.register("system.nostatistics", function(v)
statistics.enable = not v
end)
+-- experiment
+
+if trackers and environment and environment.engineflags.trackers then
+ trackers.enable(environment.engineflags.trackers)
+end
+if directives and environment and environment.engineflags.directives then
+ directives.enable(environment.engineflags.directives)
+end
+
end -- of closure
@@ -6357,17 +6542,19 @@ apply_axis['child'] = function(list)
for l=1,#list do
local ll = list[l]
local dt = ll.dt
- local en = 0
- for k=1,#dt do
- local dk = dt[k]
- if dk.tg then
- collected[#collected+1] = dk
- dk.ni = k -- refresh
- en = en + 1
- dk.ei = en
+ if dt then -- weird that this is needed
+ local en = 0
+ for k=1,#dt do
+ local dk = dt[k]
+ if dk.tg then
+ collected[#collected+1] = dk
+ dk.ni = k -- refresh
+ en = en + 1
+ dk.ei = en
+ end
end
+ ll.en = en
end
- ll.en = en
end
return collected
end
@@ -8079,6 +8266,7 @@ local finalizers = xml.finalizers.xml
local xmlfilter = xml.filter -- we could inline this one for speed
local xmltostring = xml.tostring
local xmlserialize = xml.serialize
+local xmlcollected = xml.collected
local function first(collected) -- wrong ?
return collected and collected[1]
@@ -8356,6 +8544,19 @@ xml.all = xml.filter
xml.index = xml.position
xml.found = xml.filter
+-- a nice one:
+
+local function totable(x)
+ local t = { }
+ for e in xmlcollected(x[1] or x,"/*") do
+ t[e.tg] = xmltostring(e.dt) or ""
+ end
+ return next(t) and t or nil
+end
+
+xml.table = totable
+finalizers.table = totable
+
end -- of closure
@@ -8943,6 +9144,7 @@ formats['pfb'] = 'T1FONTS' suffixes['pfb'] = { 'pfb', '
formats['vf'] = 'VFFONTS' suffixes['vf'] = { 'vf' }
formats['fea'] = 'FONTFEATURES' suffixes['fea'] = { 'fea' }
formats['cid'] = 'FONTCIDMAPS' suffixes['cid'] = { 'cid', 'cidmap' }
+formats['icc'] = 'ICCPROFILES' suffixes['icc'] = { 'icc' }
formats['texmfscripts'] = 'TEXMFSCRIPTS' suffixes['texmfscripts'] = { 'rb', 'pl', 'py' }
formats['lua'] = 'LUAINPUTS' suffixes['lua'] = { 'lua', 'luc', 'tma', 'tmc' }
formats['lib'] = 'CLUAINPUTS' suffixes['lib'] = (os.libsuffix and { os.libsuffix }) or { 'dll', 'so' }
@@ -8958,6 +9160,7 @@ alternatives['truetype fonts'] = 'ttf'
alternatives['truetype collections'] = 'ttc'
alternatives['truetype dictionary'] = 'dfont'
alternatives['type1 fonts'] = 'pfb'
+alternatives['icc profiles'] = 'icc'
--[[ldx--
<p>If you wondered about some of the previous mappings, how about
@@ -12160,6 +12363,21 @@ if not modules then modules = { } end modules ['luat-fmt'] = {
-- helper for mtxrun
+local quote = string.quote
+
+local function primaryflags()
+ local trackers = environment.argument("trackers")
+ local directives = environment.argument("directives")
+ local flags = ""
+ if trackers and trackers ~= "" then
+ flags = flags .. "--trackers=" .. quote(trackers)
+ end
+ if directives and directives ~= "" then
+ flags = flags .. "--directives=" .. quote(directives)
+ end
+ return flags
+end
+
function environment.make_format(name)
-- change to format path (early as we need expanded paths)
local olddir = lfs.currentdir()
@@ -12220,8 +12438,7 @@ function environment.make_format(name)
return
end
-- generate format
- local q = string.quote
- local command = string.format("luatex --ini --lua=%s %s %sdump",q(usedluastub),q(fulltexsourcename),os.platform == "unix" and "\\\\" or "\\")
+ local command = string.format("luatex --ini %s --lua=%s %s %sdump",primaryflags(),quote(usedluastub),quote(fulltexsourcename),os.platform == "unix" and "\\\\" or "\\")
logs.simple("running command: %s\n",command)
os.spawn(command)
-- remove related mem files
@@ -12260,7 +12477,7 @@ function environment.run_format(name,data,more)
logs.simple("no luc/lua with name: %s",barename)
else
local q = string.quote
- local command = string.format("luatex --fmt=%s --lua=%s %s %s",q(barename),q(luaname),q(data),more ~= "" and q(more) or "")
+ local command = string.format("luatex %s --fmt=%s --lua=%s %s %s",primaryflags(),quote(barename),quote(luaname),quote(data),more ~= "" and quote(more) or "")
logs.simple("running command: %s",command)
os.spawn(command)
end
diff --git a/tex/context/base/attr-div.lua b/tex/context/base/attr-div.lua
index e618a35c1..4397936d9 100644
--- a/tex/context/base/attr-div.lua
+++ b/tex/context/base/attr-div.lua
@@ -14,7 +14,10 @@ local format, gmatch = string.format, string.gmatch
local concat = table.concat
local texsprint = tex.sprint
-local report_attributes = logs.new("attributes")
+local report_attributes = logs.new("attributes")
+local report_colors = logs.new("colors")
+local report_transparencies = logs.new("transparencies")
+local report_viewerlayers = logs.new("viewerlayers")
local ctxcatcodes = tex.ctxcatcodes
local unsetvalue = attributes.unsetvalue
@@ -70,6 +73,7 @@ colors.selector = attributes.private('colormodel')
colors.default = 1
colors.main = nil
colors.triggering = true
+colors.supported = true
storage.register("colors/values", colors.values, "colors.values")
storage.register("colors/registered", colors.registered, "colors.registered")
@@ -248,7 +252,7 @@ local function cmykcolor(...) cmykcolor = nodeinjections.cmykcolor return cmykco
local function spotcolor(...) spotcolor = nodeinjections.spotcolor return spotcolor(...) end
local function extender(colors,key)
- if key == "none" then
+ if colors.supported and key == "none" then
local d = graycolor(0)
colors.none = d
return d
@@ -256,31 +260,33 @@ local function extender(colors,key)
end
local function reviver(data,n)
- local v = values[n]
- local d
- if not v then
- local gray = graycolor(0)
- d = { gray, gray, gray, gray }
- report_attributes("unable to revive color %s",n or "?")
- else
- local kind = v[1]
- if kind == 2 then
- local gray= graycolor(v[2])
+ if colors.supported then
+ local v = values[n]
+ local d
+ if not v then
+ local gray = graycolor(0)
d = { gray, gray, gray, gray }
- elseif kind == 3 then
- local gray, rgb, cmyk = graycolor(v[2]), rgbcolor(v[3],v[4],v[5]), cmykcolor(v[6],v[7],v[8],v[9])
- d = { rgb, gray, rgb, cmyk }
- elseif kind == 4 then
- local gray, rgb, cmyk = graycolor(v[2]), rgbcolor(v[3],v[4],v[5]), cmykcolor(v[6],v[7],v[8],v[9])
- d = { cmyk, gray, rgb, cmyk }
- elseif kind == 5 then
- local spot = spotcolor(v[10],v[11],v[12],v[13])
- -- d = { spot, gray, rgb, cmyk }
- d = { spot, spot, spot, spot }
+ report_attributes("unable to revive color %s",n or "?")
+ else
+ local kind = colors.forcedmodel(v[1])
+ if kind == 2 then
+ local gray= graycolor(v[2])
+ d = { gray, gray, gray, gray }
+ elseif kind == 3 then
+ local gray, rgb, cmyk = graycolor(v[2]), rgbcolor(v[3],v[4],v[5]), cmykcolor(v[6],v[7],v[8],v[9])
+ d = { rgb, gray, rgb, cmyk }
+ elseif kind == 4 then
+ local gray, rgb, cmyk = graycolor(v[2]), rgbcolor(v[3],v[4],v[5]), cmykcolor(v[6],v[7],v[8],v[9])
+ d = { cmyk, gray, rgb, cmyk }
+ elseif kind == 5 then
+ local spot = spotcolor(v[10],v[11],v[12],v[13])
+ -- d = { spot, gray, rgb, cmyk }
+ d = { spot, spot, spot, spot }
+ end
end
+ data[n] = d
+ return d
end
- data[n] = d
- return d
end
setmetatable(colors, { __index = extender })
@@ -325,8 +331,18 @@ shipouts.handle_color = nodes.install_attribute_handler {
resolver = function() return colors.main end,
}
-function colors.enable()
- tasks.enableaction("shipouts","shipouts.handle_color")
+function colors.enable(value)
+ if value == false or not colors.supported then
+ tasks.disableaction("shipouts","shipouts.handle_color")
+ else
+ tasks.enableaction("shipouts","shipouts.handle_color")
+ end
+end
+
+function colors.forcesupport(value) -- can move to attr-div
+ colors.supported = value
+ report_colors("color is %ssupported",value and "" or "not ")
+ colors.enable(value)
end
-- transparencies
@@ -337,6 +353,7 @@ transparencies.data = transparencies.data or { }
transparencies.values = transparencies.values or { }
transparencies.triggering = true
transparencies.attribute = attributes.private('transparency')
+transparencies.supported = true
storage.register("transparencies/registered", transparencies.registered, "transparencies.registered")
storage.register("transparencies/values", transparencies.values, "transparencies.values")
@@ -377,7 +394,7 @@ function transparencies.register(name,a,t,force) -- name is irrelevant here (can
end
local function extender(transparencies,key)
- if key == "none" then
+ if colors.supported and key == "none" then
local d = inject_transparency(0)
transparencies.none = d
return d
@@ -385,16 +402,20 @@ local function extender(transparencies,key)
end
local function reviver(data,n)
- local v = values[n]
- local d
- if not v then
- d = inject_transparency(0)
+ if transparencies.supported then
+ local v = values[n]
+ local d
+ if not v then
+ d = inject_transparency(0)
+ else
+ d = inject_transparency(n)
+ register_transparency(n,v[1],v[2])
+ end
+ data[n] = d
+ return d
else
- d = inject_transparency(n)
- register_transparency(n,v[1],v[2])
+ return ""
end
- data[n] = d
- return d
end
setmetatable(transparencies, { __index = extender })
@@ -414,8 +435,18 @@ shipouts.handle_transparency = nodes.install_attribute_handler {
processor = states.process,
}
-function transparencies.enable()
- tasks.enableaction("shipouts","shipouts.handle_transparency")
+function transparencies.enable(value) -- nil is enable
+ if value == false or not transparencies.supported then
+ tasks.disableaction("shipouts","shipouts.handle_transparency")
+ else
+ tasks.enableaction("shipouts","shipouts.handle_transparency")
+ end
+end
+
+function transparencies.forcesupport(value) -- can move to attr-div
+ transparencies.supported = value
+ report_transparencies("transparency is %ssupported",value and "" or "not ")
+ transparencies.enable(value)
end
--- colorintents: overprint / knockout
@@ -591,6 +622,8 @@ viewerlayers.registered = viewerlayers.registered or { }
viewerlayers.values = viewerlayers.values or { }
viewerlayers.listwise = viewerlayers.listwise or { }
viewerlayers.attribute = attributes.private("viewerlayer")
+viewerlayers.supported = true
+viewerlayers.hasorder = true
storage.register("viewerlayers/registered", viewerlayers.registered, "viewerlayers.registered")
storage.register("viewerlayers/values", viewerlayers.values, "viewerlayers.values")
@@ -604,7 +637,7 @@ local template = "%s"
-- stacked
local function extender(viewerlayers,key)
- if key == "none" then
+ if viewerlayers.supported and key == "none" then
local d = nodeinjections.stoplayer()
viewerlayers.none = d
return d
@@ -612,13 +645,15 @@ local function extender(viewerlayers,key)
end
local function reviver(data,n)
- local v = values[n]
- if v then
- local d = nodeinjections.startlayer(v)
- data[n] = d
- return d
- else
- logs.report("viewerlayers","error, unknown reference '%s'",tostring(n))
+ if viewerlayers.supported then
+ local v = values[n]
+ if v then
+ local d = nodeinjections.startlayer(v)
+ data[n] = d
+ return d
+ else
+ logs.report("viewerlayers","error, unknown reference '%s'",tostring(n))
+ end
end
end
@@ -649,6 +684,20 @@ shipouts.handle_viewerlayer = nodes.install_attribute_handler {
processor = states.stacked,
}
-function viewerlayers.enable()
- tasks.enableaction("shipouts","shipouts.handle_viewerlayer")
+function viewerlayers.enable(value)
+ if value == false or not viewerlayers.supported then
+ tasks.disableaction("shipouts","shipouts.handle_viewerlayer")
+ else
+ tasks.enableaction("shipouts","shipouts.handle_viewerlayer")
+ end
+end
+
+function viewerlayers.forcesupport(value)
+ viewerlayers.supported = value
+ report_viewerlayers("viewerlayers are %ssupported",value and "" or "not ")
+ viewerlayers.enable(value)
+end
+
+function viewerlayers.setfeatures(hasorder)
+ viewerlayers.hasorder = hasorder
end
diff --git a/tex/context/base/back-ini.lua b/tex/context/base/back-ini.lua
index 655500055..7331758ac 100644
--- a/tex/context/base/back-ini.lua
+++ b/tex/context/base/back-ini.lua
@@ -94,6 +94,8 @@ backends.codeinjections = {
mergereferences = nothing,
mergelayers = nothing,
+ setformat = nothing,
+ getformatoption = nothing,
}
backends.registrations = {
diff --git a/tex/context/base/back-ini.mkiv b/tex/context/base/back-ini.mkiv
index b7bbdb56f..db37cf61f 100644
--- a/tex/context/base/back-ini.mkiv
+++ b/tex/context/base/back-ini.mkiv
@@ -165,4 +165,14 @@
\unexpanded\def\setupoutput[#1]{} % will be command line switch
+%D New:
+
+\newtoks\everysetupbackend
+
+\def\backendparameter#1{\csname\ifcsname\??bc#1\endcsname\??bc#1\else\s!empty\fi\endcsname}
+
+\def\setupbackend[#1]%
+ {\getparameters[\??bc][#1]%
+ \the\everysetupbackend}
+
\protect \endinput
diff --git a/tex/context/base/buff-ini.lua b/tex/context/base/buff-ini.lua
index b3ab0c2a7..0cf8c8804 100644
--- a/tex/context/base/buff-ini.lua
+++ b/tex/context/base/buff-ini.lua
@@ -59,7 +59,6 @@ function buffers.append(name, str)
data[name] = (data[name] or "") .. str
end
-
buffers.flags.store_as_table = true
-- to be sorted out: crlf + \ ; slow now
@@ -314,7 +313,7 @@ end
local printer = (lpeg.patterns.textline/texprint)^0
function buffers.get(name)
- local b = buffers.data[name]
+ local b = data[name]
if b then
if type(b) == "table" then
for i=1,#b do
diff --git a/tex/context/base/buff-ver.mkiv b/tex/context/base/buff-ver.mkiv
index 59b484983..8c4e7a557 100644
--- a/tex/context/base/buff-ver.mkiv
+++ b/tex/context/base/buff-ver.mkiv
@@ -21,6 +21,10 @@
\ifdefined\stoplinenumbering \else \let\stoplinenumbering \relax \fi
\ifdefined\setuplinenumbering\else \unexpanded\def\setuplinenumbering[#1]{} \fi
+\definesystemattribute[verbatim-line] \chardef\verbatimlineattribute \dogetattributeid{verbatim-line}
+
+\appendtoksonce \attribute\verbatimlineattribute \attributeunsetvalue \to \everyforgetall
+
% D \macros
% D {iflinepar}
% D
@@ -606,19 +610,6 @@
\def\doverbatimgoodbreak
{\ifoptimizeverbatim\penalty\linepenalty\fi}
-% \def\doflushverbatimline
-% {\expandafter\dodoverbatimline\expandafter{\savedverbatimline}}
-% \def\doverbatimbeginofline#1% linenumber (optional provided by mkiv / todo)
-% {\dontleavehmode
-% \strut
-% \the\everyline}
-% \def\doverbatimendofline
-% {\par}
-% \def\doverbatimemptyline
-% {\strut
-% \par}
-% \let\handleverbatimline=\relax
-
% we need this hack because otherwise verbatim skips
% the first line (everything after the initial command)
@@ -1177,8 +1168,12 @@
\def\doverbatimendofinline
{\the\everyverbatimendofinline}
+\newcount\nofverbatimlines
+
\def\doverbatimbeginofline#1% linenumber
- {\bgroup % due to pretty status
+ {\global\advance\nofverbatimlines\plusone
+ \attribute\verbatimlineattribute\nofverbatimlines
+ \bgroup % due to pretty status
\iflinepar\else\EveryPar{}\fi
\noindent % was wrong: \dontleavehmode
\xdef\dokeepverbatimlinedata % hm, still needed?
@@ -1196,7 +1191,8 @@
\def\doverbatimendofline
{%\endverbatimline
\global\lineparfalse
- \obeyedline\par}
+ \obeyedline\par
+ \attribute\verbatimlineattribute\attributeunsetvalue}
\def\doverbatimemptyline
{\strut
diff --git a/tex/context/base/char-def.lua b/tex/context/base/char-def.lua
index 99ac18978..38769404a 100644
--- a/tex/context/base/char-def.lua
+++ b/tex/context/base/char-def.lua
@@ -8696,7 +8696,7 @@ characters.data={
[0x0390]={
adobename="iotadieresistonos",
category="ll",
- contextname="greekiotadialytikatonos",
+ contextname="greekiotadialytikatonos", -- double
description="GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS",
direction="l",
linebreak="al",
diff --git a/tex/context/base/char-ini.lua b/tex/context/base/char-ini.lua
index 5c4a40bad..e61f1ce78 100644
--- a/tex/context/base/char-ini.lua
+++ b/tex/context/base/char-ini.lua
@@ -566,12 +566,17 @@ end
function characters.uccode(n) return data[n].uccode or n end
function characters.lccode(n) return data[n].lccode or n end
-function characters.flush(n)
+function characters.flush(n,direct)
local c = data[n]
if c and c.contextname then
- texsprint(texcatcodes, "\\"..c.contextname)
+ c = "\\" .. c.contextname
else
- texsprint(utfchar(n))
+ c = utfchar(n)
+ end
+ if direct then
+ return c
+ else
+ texsprint(c)
end
end
diff --git a/tex/context/base/colo-icc.lua b/tex/context/base/colo-icc.lua
new file mode 100644
index 000000000..724ff3241
--- /dev/null
+++ b/tex/context/base/colo-icc.lua
@@ -0,0 +1,118 @@
+if not modules then modules = { } end modules ['colo-ini'] = {
+ version = 1.000,
+ comment = "companion to colo-ini.mkiv",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "see context related readme files"
+}
+
+local char, byte, gsub, match, format, strip = string.char, string.byte, string.gsub, string.match, string.format, string.strip
+local readstring, readnumber = io.readstring, io.readnumber
+
+colors = colors or { } -- can also be used in mtxrun
+
+local R, Cs, lpegmatch = lpeg.R, lpeg.Cs, lpeg.match
+
+local invalid = R(char(0)..char(31))
+local cleaned = invalid^0 * Cs((1-invalid)^0)
+
+function colors.iccprofile(filename,verbose)
+ local fullname = resolvers.find_file(filename,"icc") or ""
+ if fullname == "" then
+ local locate = resolvers.finders.loc -- not in mtxrun
+ if locate then
+ fullname = locate(filename) -- could be specific to the project
+ end
+ end
+ if fullname == "" then
+ return nil, false, format("profile '%s' cannot be found",filename)
+ end
+ local f = io.open(fullname,"rb")
+ if not f then
+ return nil, false, format("profile '%s'cannot be loaded",fullname)
+ end
+ local header = {
+ size = readnumber(f,4),
+ cmmtype = readnumber(f,4),
+ version = readnumber(f,4),
+ deviceclass = strip(readstring(f,4)),
+ colorspace = strip(readstring(f,4)),
+ connectionspace = strip(readstring(f,4)),
+ datetime = {
+ year = readnumber(f,2),
+ month = readnumber(f,2),
+ day = readnumber(f,2),
+ hour = readnumber(f,2),
+ minutes = readnumber(f,2),
+ seconds = readnumber(f,2),
+ },
+ filesignature = strip(readstring(f,4)),
+ platformsignature = strip(readstring(f,4)),
+ options = readnumber(f,4),
+ devicemanufacturer = strip(readstring(f,4)),
+ devicemodel = strip(readstring(f,4)),
+ deviceattributes = readnumber(f,4),
+ renderingintent = readnumber(f,4),
+ illuminantxyz = {
+ x = readnumber(f,4),
+ y = readnumber(f,4),
+ z = readnumber(f,4),
+ },
+ profilecreator = readnumber(f,4),
+ id = strip(readstring(f,16)),
+ }
+ local tags = { }
+ for i=1,readnumber(f,128,4) do
+ tags[readstring(f,4)] = {
+ offset = readnumber(f,4),
+ length = readnumber(f,4),
+ }
+ end
+ local o = header.options
+ header.options =
+ o == 0 and "embedded" or
+ o == 1 and "dependent" or "unknown"
+ local d = header.deviceattributes
+ header.deviceattributes = {
+ [number.hasbit(d,1) and "transparency" or "reflective"] = true,
+ [number.hasbit(d,2) and "mate" or "glossy" ] = true,
+ [number.hasbit(d,3) and "negative" or "positive" ] = true,
+ [number.hasbit(d,4) and "bw" or "color" ] = true,
+ }
+ local r = header.renderingintent
+ header.renderingintent =
+ r == 0 and "perceptual" or
+ r == 1 and "relative" or
+ r == 2 and "saturation" or
+ r == 3 and "absolute" or "unknown"
+ for tag, spec in next, tags do
+ if tag then
+ local offset, length = spec.offset, spec.length
+ local kind = readstring(f,offset,4)
+ if kind == "text" or kind == "desc" then
+ local str = readstring(f,length-4)
+ tags[tag] = {
+ data = str,
+ cleaned = lpegmatch(cleaned,str),
+ }
+ else
+ if verbose then
+ logs.simple("ignoring tag '%s' or type '%s' in profile '%s'",tag,kind,fullname)
+ end
+ tags[tag] = nil
+ end
+ end
+ end
+ f:close()
+ local profile = {
+ filename = filename,
+ fullname = fullname,
+ header = header,
+ tags = tags,
+ }
+ return profile, true, format("profile '%s' loaded",fullname)
+end
+
+--~ local profile, error, message = colors.iccprofile("ussheetfedcoated.icc")
+--~ print(error,message)
+--~ table.print(profile)
diff --git a/tex/context/base/colo-ini.lua b/tex/context/base/colo-ini.lua
index 30b18983d..28ce4ac6a 100644
--- a/tex/context/base/colo-ini.lua
+++ b/tex/context/base/colo-ini.lua
@@ -6,7 +6,7 @@ if not modules then modules = { } end modules ['colo-ini'] = {
license = "see context related readme files"
}
-local type = type
+local type, tonumber = type, tonumber
local concat = table.concat
local format, gmatch, gsub, lower, match, find = string.format, string.gmatch, string.gsub, string.lower, string.match, string.find
local texsprint = tex.sprint
@@ -14,6 +14,8 @@ local ctxcatcodes = tex.ctxcatcodes
local trace_define = false trackers.register("colors.define",function(v) trace_define = v end)
+local report_colors = logs.new("colors")
+
local settings_to_hash_strict = aux.settings_to_hash_strict
colors = colors or { }
@@ -133,6 +135,60 @@ local transparent = {
exclusion = 12,
}
+-- backend driven limitations
+
+colors.supported = true -- always true
+transparencies.supported = true
+
+local gray_okay, rgb_okay, cmyk_okay, spot_okay, multichannel_okay, forced = true, true, true, true, true, false
+
+function colors.forcesupport(gray,rgb,cmyk,spot,multichannel) -- pdfx driven
+ gray_okay, rgb_okay, cmyk_okay, spot_okay, multichannel_okay, forced = gray, rgb, cmyk, spot, multichannel, true
+ report_colors("supported models: gray=%s, rgb=%s, cmyk=%s, spot=%s", -- multichannel=%s
+ tostring(gray), tostring(rgb), tostring(cmyk), tostring(spot)) -- tostring(multichannel)
+end
+
+local function forcedmodel(model) -- delayed till the backend but mp directly
+ if not forced then
+ return model
+ elseif model == 2 then -- gray
+ if gray_okay then
+ -- okay
+ elseif cmyk_okay then
+ return 4
+ elseif rgb_okay then
+ return 3
+ end
+ elseif model == 3 then -- rgb
+ if rgb_okay then
+ -- okay
+ elseif cmyk_okay then
+ return 4
+ elseif gray_okay then
+ return 2
+ end
+ elseif model == 4 then -- cmyk
+ if cmyk_okay then
+ -- okay
+ elseif rgb_okay then
+ return 3
+ elseif gray_okay then
+ return 2
+ end
+ elseif model == 5 then -- spot
+ if cmyk_okay then
+ return 4
+ elseif rgb_okay then
+ return 3
+ elseif gray_okay then
+ return 2
+ end
+ end
+ return model
+end
+
+colors.forcedmodel = forcedmodel
+
-- By coupling we are downward compatible. When we decouple we need to do more tricky
-- housekeeping (e.g. persist color independent transparencies when color bound ones
-- are nil.)
@@ -319,13 +375,14 @@ function colors.definemultitonecolor(name,multispec,colorspec,selfspec)
end
end
-function colors.mp(model,ca,ta,default)
- local cv = colors.value(ca) -- faster when direct colors.values[ca]
+function colors.mp(model,ca,ta,default) -- will move to mlib-col
+ local cv = colors.supported and colors.value(ca) -- faster when direct colors.values[ca]
if cv then
- local tv = transparencies.value(ta)
+ local tv = transparencies.supported and transparencies.value(ta)
if model == 1 then
model = cv[1]
end
+ model = forcedmodel(model)
if tv then
if model == 2 then
return format("transparent(%s,%s,(%s,%s,%s))",tv[1],tv[2],cv[3],cv[4],cv[5])
diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv
index 1bceb5aa7..0d1dd50e5 100644
--- a/tex/context/base/colo-ini.mkiv
+++ b/tex/context/base/colo-ini.mkiv
@@ -20,6 +20,7 @@
%D different approach, this module only implements a few generic mechanisms.
\registerctxluafile{colo-ini}{1.000}
+\registerctxluafile{colo-icc}{1.000}
\registerctxluafile{lpdf-col}{1.000}
\unprotect
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index cae797270..b59c65679 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2010.07.30 11:35}
+\newcontextversion{2010.08.10 17:14}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 13e091ea8..9590eb652 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -70,6 +70,7 @@
\loadcorefile{mult-def}
\loadmarkfile{mult-chk}
\loadmarkfile{mult-cld}
+\loadmarkfile{mult-aux}
\loadmarkfile{luat-ini}
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 4abee1332..5e3324eb7 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2010.07.30 11:35}
+\edef\contextversion{2010.08.10 17:14}
%D For those who want to use this:
diff --git a/tex/context/base/core-con.lua b/tex/context/base/core-con.lua
index f8f54e9e7..257de625b 100644
--- a/tex/context/base/core-con.lua
+++ b/tex/context/base/core-con.lua
@@ -23,6 +23,23 @@ local tonumber, tostring = tonumber, tostring
local ctxcatcodes = tex.ctxcatcodes
+local function flush(...)
+ texsprint(ctxcatcodes,...)
+end
+
+function converters.convert(method,n,direct)
+ local method = converters[method]
+ if method then
+ return method(n,direct)
+ else
+ return direct and n or flush(n)
+ end
+end
+
+function converters.numberst(n,direct)
+ return direct and n or flush(n)
+end
+
converters = converters or { }
languages = languages or { }
@@ -123,24 +140,61 @@ counters['kr-c'] = counters['korean-circle']
local fallback = utf.byte('0')
-local function chr(n,m)
- if n > 0 and n < 27 then
- texsprint(utfchar(n+m))
- end
+local function chr(n,m,direct)
+ local s = (n > 0 and n < 27 and utfchar(n+m)) or ""
+ if direct then return s else flush(s) end
end
-local function chrs(n,m)
+
+--~ local function chrs(n,m,direct)
+--~ if n > 26 then
+--~ chrs(floor((n-1)/26),m)
+--~ n = (n-1)%26 + 1
+--~ end
+--~ flush(utfchar(n+m))
+--~ end
+
+local function chrs(n,m,direct,t)
+ if not t then
+ t = { }
+ end
if n > 26 then
- chrs(floor((n-1)/26),m)
+ chrs(floor((n-1)/26),m,direct,t)
n = (n-1)%26 + 1
end
- texsprint(utfchar(n+m))
+ t[#t+1] = utfchar(n+m)
+ if n <= 26 then
+ if direct then
+ return concat(t)
+ else
+ flush(concat(t))
+ end
+ end
end
-local function maxchrs(n,m,cmd)
+
+--~ local function maxchrs(n,m,cmd,direct)
+--~ if n > m then
+--~ maxchrs(floor((n-1)/m),m,cmd)
+--~ n = (n-1)%m + 1
+--~ end
+--~ flush(format("%s{%s}",cmd,n))
+--~ end
+
+local function maxchrs(n,m,cmd,direct,t) -- direct is not ok
+ if not t then
+ t = { }
+ end
if n > m then
maxchrs(floor((n-1)/m),m,cmd)
n = (n-1)%m + 1
end
- texsprint(ctxcatcodes, format("%s{%s}",cmd,n))
+ t[#t+1] = format("%s{%s}",cmd,n)
+ if n <= m then
+ if direct then
+ return concat(t)
+ else
+ flush(concat(t))
+ end
+ end
end
converters.chr = chr
@@ -158,7 +212,7 @@ converters.maxchrs = maxchrs
--~ n = (n-1)%max+1
--~ end
--~ n = chr(n,mapping)
---~ texsprint(ctxcatcodes,escapes[n] or utfchar(n))
+--~ flush(escapes[n] or utfchar(n))
--~ end
--~ local lccodes, uccodes = characters.lccode, characters.uccode
@@ -183,35 +237,52 @@ converters.maxchrs = maxchrs
--~ do_alphabetic(n,counters[code] or counters['**'],uppercased)
--~ end
---
+local flushcharacter = characters and characters.flush or function(s) return utfchar(s) end
+local lowercharacter = characters and characters.lccode or function(s) return s end
+local uppercharacter = characters and characters.uccode or function(s) return s end
-local function do_alphabetic(n,mapping,mapper)
- local chr = mapper(mapping[n] or fallback)
+local function do_alphabetic(n,mapping,mapper,direct,verbose,t)
+ if not t then
+ t = { }
+ end
+ local chr = mapping[n] or fallback
+ if mapper then
+ chr = mapper(chr)
+ end
local max = #mapping
if n > max then
- do_alphabetic(floor((n-1)/max),mapping,mapper)
+ do_alphabetic(floor((n-1)/max),mapping,mapper,direct,verbose,t)
n = (n-1)%max+1
end
- characters.flush(chr)
+ if verbose or type(chr) ~= "number" then
+ t[#t+1] = chr
+ else
+ t[#t+1] = utfchar(chr) -- flushcharacter(chr,true) -- force direct here; can't we just use utfchar(chr) nowadays?
+ end
+ if n <= max then
+ if direct then
+ return concat(t)
+ else
+ flush(concat(t))
+ end
+ end
end
-function converters.alphabetic(n,code)
- do_alphabetic(n,counters[code] or counters['**'],characters.lccode)
+function converters.alphabetic(n,code,direct)
+ return do_alphabetic(n,counters[code] or counters['**'],lowercharacter,direct)
end
-
-function converters.Alphabetic(n,code)
- do_alphabetic(n,counters[code] or counters['**'],characters.uccode)
+function converters.Alphabetic(n,code,direct)
+ return do_alphabetic(n,counters[code] or counters['**'],uppercharacter,direct)
end
---
-
-function converters.character (n) chr (n,96) end
-function converters.Character (n) chr (n,64) end
-function converters.characters(n) chrs(n,96) end
-function converters.Characters(n) chrs(n,64) end
+function converters.character (n,direct) return chr (n,96,direct) end
+function converters.Character (n,direct) return chr (n,64,direct) end
+function converters.characters(n,direct) return chrs(n,96,direct) end
+function converters.Characters(n,direct) return chrs(n,64,direct) end
-function converters.weekday(day,month,year)
- texsprint(date("%w",time{year=year,month=month,day=day})+1)
+function converters.weekday(day,month,year,direct)
+ local s = date("%w",time{year=year,month=month,day=day}) + 1
+ if direct then return s else flush(s) end
end
function converters.isleapyear(year)
@@ -219,7 +290,8 @@ function converters.isleapyear(year)
end
function converters.leapyear(year)
- if converters.isleapyear(year) then texsprint(1) else texsprint(0) end
+ local s = converters.isleapyear(year) and 1 or 0
+ if direct then return s else flush(s) end
end
local days = {
@@ -227,16 +299,19 @@ local days = {
[true] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
}
-function converters.nofdays(year,month)
- texsprint(days[converters.isleapyear(year)][month])
+function converters.nofdays(year,month,direct)
+ local s = days[converters.isleapyear(year)][month]
+ if direct then return s else flush(s) end
end
-function converters.year () texsprint(date("%Y")) end
-function converters.month () texsprint(date("%m")) end
-function converters.hour () texsprint(date("%H")) end
-function converters.minute () texsprint(date("%M")) end
-function converters.second () texsprint(date("%S")) end
-function converters.textime() texsprint(tonumber(date("%H"))*60+tonumber(date("%M"))) end
+function converters.year (direct) local s = date("%Y") if direct then return s else flush(s) end end
+function converters.year (direct) local s = date("%Y") if direct then return s else flush(s) end end
+function converters.month (direct) local s = date("%m") if direct then return s else flush(s) end end
+function converters.hour (direct) local s = date("%H") if direct then return s else flush(s) end end
+function converters.minute (direct) local s = date("%M") if direct then return s else flush(s) end end
+function converters.second (direct) local s = date("%S") if direct then return s else flush(s) end end
+function converters.textime(direct) local s = tonumber(date("%H")) * 60 + tonumber(date("%M"))
+ if direct then return s else flush(s) end end
local roman = {
{ [0] = '', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX' },
@@ -248,13 +323,12 @@ local function toroman(n)
if n >= 4000 then
return toroman(floor(n/1000)) .. " " .. toroman(n%1000)
else
- return rep("M",floor(n/1000)) .. roman[3][floor((n%1000)/100)] ..
- roman[2][floor((n%100)/10)] .. roman[1][floor((n% 10)/1)]
+ return rep("M",floor(n/1000)) .. roman[3][floor((n%1000)/100)] .. roman[2][floor((n%100)/10)] .. roman[1][floor((n% 10)/1)]
end
end
-function converters.romannumerals(n) return texsprint(lower(toroman(n))) end
-function converters.Romannumerals(n) return texsprint( toroman(n) ) end
+function converters.romannumerals(n,direct) local s = lower(toroman(n)) if direct then return s else flush(s) end end
+function converters.Romannumerals(n,direct) local s = toroman(n) if direct then return s else flush(s) end end
converters.toroman = toroman
@@ -304,8 +378,8 @@ function converters.toabjad(n,what)
end
end
-function converters.abjadnumerals (n) return texsprint(converters.toabjad(n,false)) end
-function converters.abjadnodotnumerals(n) return texsprint(converters.toabjad(n,true)) end
+function converters.abjadnumerals (n,direct) local s = converters.toabjad(n,false) if direct then return s else flush(s) end end
+function converters.abjadnodotnumerals(n,direct) local s = converters.toabjad(n,true ) if direct then return s else flush(s) end end
local vector = {
normal = {
@@ -363,61 +437,6 @@ local vector = {
}
}
---~ function tochinese(n,name) -- normal, caps, all
---~ local result = { }
---~ local vector = vector[name] or vector.normal
---~ while true do
---~ if n == 0 then
---~ break
---~ elseif n >= 100000000 then
---~ local m = floor(n/100000000)
---~ if m > 1 then result[#result+1] = tochinese(m) end
---~ result[#result+1] = vector[100000000]
---~ n = n % 100000000
---~ elseif n >= 10000000 then
---~ result[#result+1] = tochinese(floor(n/10000))
---~ result[#result+1] = vector[10000]
---~ n = n % 10000
---~ elseif n >= 1000000 then
---~ result[#result+1] = tochinese(floor(n/10000))
---~ result[#result+1] = vector[10000]
---~ n = n % 10000
---~ elseif n >= 100000 then
---~ result[#result+1] = tochinese(floor(n/10000))
---~ result[#result+1] = vector[10000]
---~ n = n % 10000
---~ elseif n >= 10000 then
---~ local m = floor(n/10000)
---~ if m > 1 then result[#result+1] = vector[m] end
---~ result[#result+1] = vector[10000]
---~ n = n % 10000
---~ elseif n >= 1000 then
---~ local m = floor(n/1000)
---~ if m > 1 then result[#result+1] = vector[m] end
---~ result[#result+1] = vector[1000]
---~ n = n % 1000
---~ elseif n >= 100 then
---~ local m = floor(n/100)
---~ if m > 1 then result[#result+1] = vector[m] end
---~ result[#result+1] = vector[100]
---~ n = n % 100
---~ elseif n >= 10 then
---~ local m = floor(n/10)
---~ if vector[m*10] then
---~ result[#result+1] = vector[m*10]
---~ else
---~ result[#result+1] = vector[m]
---~ result[#result+1] = vector[10]
---~ end
---~ n = n % 10
---~ else
---~ result[#result+1] = vector[n]
---~ break
---~ end
---~ end
---~ return concat(result)
---~ end
-
local function tochinese(n,name) -- normal, caps, all
-- improved version by Li Yanrui
local result = { }
@@ -500,9 +519,9 @@ end
--~ print(v,tochinese(v),tochinese(v,"all"),tochinese(v,"cap"))
--~ end
-function converters.chinesenumerals (n) return texsprint(tochinese(n,"normal")) end
-function converters.chinesecapnumerals(n) return texsprint(tochinese(n,"cap" )) end
-function converters.chineseallnumerals(n) return texsprint(tochinese(n,"all" )) end
+function converters.chinesenumerals (n) local s = tochinese(n,"normal") if direct then return s else flush(s) end end
+function converters.chinesecapnumerals(n) local s = tochinese(n,"cap" ) if direct then return s else flush(s) end end
+function converters.chineseallnumerals(n) local s = tochinese(n,"all" ) if direct then return s else flush(s) end end
--~ Well, since the one asking for this didn't test it the following code is not
--~ enabled.
@@ -603,3 +622,31 @@ function converters.chineseallnumerals(n) return texsprint(tochinese(n,"all" )
--~
--~ print(gregorian_to_jalali(2009,02,24))
--~ print(jalali_to_gregorian(1387,12,06))
+
+converters.sequences = converters.sequences or { }
+
+storage.register("converters/sequences", converters.sequences, "converters.sequences")
+
+local sequences = converters.sequences
+
+function converters.define(name,set)
+ sequences[name] = aux.settings_to_array(set)
+end
+
+function converters.convert(method,n,direct) -- todo: language
+ local converter = converters[method]
+ if converter then
+ return converter(n,direct)
+ else
+ local lowermethod = lower(method)
+ local linguistic = counters[lowermethod]
+ local sequence = sequences[method]
+ if linguistic then
+ return do_alphabetic(n,linguistic,lowermethod == method and lowercharacter or uppercharacter,direct,false)
+ elseif sequence then
+ return do_alphabetic(n,sequence,false,direct,true)
+ else
+ return direct and n or flush(n)
+ end
+ end
+end
diff --git a/tex/context/base/core-con.mkiv b/tex/context/base/core-con.mkiv
index 2d2e5d5d7..364372a46 100644
--- a/tex/context/base/core-con.mkiv
+++ b/tex/context/base/core-con.mkiv
@@ -149,8 +149,8 @@
%D
%D Why should we only honour the romans, and not the greek?
-\let\greeknumerals\gobbleoneargument
-\let\Greeknumerals\gobbleoneargument
+% \let\greeknumerals\gobbleoneargument
+% \let\Greeknumerals\gobbleoneargument
%D \macros
%D {oldstylenumerals,oldstyleromannumerals}
@@ -586,83 +586,91 @@
%D \defineconversion [en] [whatever] [\something]
%D \stoptyping
-% \def\dodefineconversion[#1][#2]%
-% {\ConvertConstantAfter\doifinstringelse{,}{#2}
-% {\scratchcounter=0
+% we can consider conversions to be global in which case we can
+% delegate to lua
+
+% \unexpanded\def\defineconversion
+% {\dotripleempty\dodefineconversion}
+%
+% \def\dodefineconversion[#1][#2][#3]%
+% {\ifthirdargument
+% \dododefineconversion[#1][#2][#3]%
+% \else
+% \dododefineconversion[][#1][#2]%
+% \fi}
+%
+% \def\dododefineconversion[#1][#2][#3]%
+% {\ConvertConstantAfter\doifinstringelse{,}{#3}
+% {\scratchcounter\zerocount
% \def\docommand##1%
-% {\advance\scratchcounter 1
-% \setvalue{\??cv#1\the\scratchcounter}{##1}}%
-% \processcommalist[#2]\docommand
-% \setvalue{\??cv#1}##1{\csname\??cv#1##1\endcsname}}
-% {\setvalue{\??cv#1}{#2}}}
+% {\advance\scratchcounter \plusone
+% \setvalue{\??cv#1#2\the\scratchcounter}{##1}}%
+% \processcommalist[#3]\docommand
+% \setevalue{\??cv#1#2}##1%
+% {\noexpand\docheckedconversion{#1#2}{\the\scratchcounter}{##1}}}
+% {\setvalue{\??cv#1#2}{#3}}}
+%
+% \def\docheckedconversion#1#2#3% class maxnumber number
+% {\executeifdefined{\??cv#1#3}\unknown}
+%
+% %D When Gerben reported problems with footnote numbering per page,
+% %D Taco came with the following wrap around solution. So, let's
+% %D overload the checked conversion macro
%
-% \unexpanded\def\defineconversion%
-% {\dodoubleargument\dodefineconversion}
+% %D Taco's modulo code is implemented in the system module
+% %D \type {syst-con}.
+%
+% \def\docheckedconversion#1#2#3% class maxnumber number
+% {\executeifdefined{\??cv#1\modulatednumber{#2}{#3}}\unknown}
\unexpanded\def\defineconversion
{\dotripleempty\dodefineconversion}
-\def\dodefineconversion[#1][#2][#3]%
+\def\dodefineconversion[#1][#2][#3]% from now on global (maybe local again some day)
{\ifthirdargument
- \dododefineconversion[#1][#2][#3]%
+ \dododefineconversion{#1#2}{#1:#2}{#3}%
\else
- \dododefineconversion[][#1][#2]%
+ \dododefineconversion{#1}{#1}{#2}%
\fi}
-%D \starttyping
-%D \def\dododefineconversion[#1][#2][#3]%
-%D {\ConvertConstantAfter\doifinstringelse{,}{#3}
-%D {\scratchcounter\zerocount
-%D \def\docommand##1%
-%D {\advance\scratchcounter \plusone
-%D \setvalue{\??cv#1#2\the\scratchcounter}{##1}}%
-%D \processcommalist[#3]\docommand
-%D \setvalue{\??cv#1#2}##1{\executeifdefined{\??cv#1#2##1}\unknown}} % catch out-of-range numbers
-%D {\setvalue{\??cv#1#2}{#3}}}
-%D \stoptyping
-
-%D This approach has the disadvantage that when you run out of
-%D symbols you get unknown results. The following implementation
-%D permits overloading of the converter:
-
-\def\dododefineconversion[#1][#2][#3]%
+\def\dododefineconversion#1#2#3%
{\ConvertConstantAfter\doifinstringelse{,}{#3}
- {\scratchcounter\zerocount
- \def\docommand##1%
- {\advance\scratchcounter \plusone
- \setvalue{\??cv#1#2\the\scratchcounter}{##1}}%
- \processcommalist[#3]\docommand
- \setevalue{\??cv#1#2}##1%
- {\noexpand\docheckedconversion{#1#2}{\the\scratchcounter}{##1}}}
- {\setvalue{\??cv#1#2}{#3}}}
-
-\def\docheckedconversion#1#2#3% class maxnumber number
- {\executeifdefined{\??cv#1#3}\unknown}
-
-%D When Gerben reported problems with footnote numbering per page,
-%D Taco came with the following wrap around solution. So, let's
-%D overload the checked conversion macro:
+ {\ctxlua{converters.define("#2",\!!bs\detokenize{#3}\!!es)}%
+ \setgvalue{\??cv#1}{\docheckedconversion{#2}}}
+ {\setgvalue{\??cv#1}{#3}}}
-\def\docheckedconversion#1#2#3% class maxnumber number
- {\executeifdefined{\??cv#1\modulatednumber{#2}{#3}}\unknown}
-
-%D Taco's modulo code is implemented in the system module
-%D \type {syst-con}.
+\def\docheckedconversion#1#2%
+ {\ctxlua{converters.convert("#1",#2)}}
%D If a conversion is just a font switch then we need to make sure
%D that the number is indeed end up as number in the input, so we
%D need to handle the second argument.
+% \def\convertnumber#1#2%
+% {\csname\??cv
+% \ifcsname\??cv\currentlanguage#1\endcsname
+% \currentlanguage#1%
+% \else\ifcsname\??cv#1\endcsname
+% #1%
+% \else
+% \s!default
+% \fi\fi
+% \endcsname{\number#2}}
+
\def\convertnumber#1#2%
- {\csname\??cv
+ {\csname\??cv % we want a fully expandable (no if interference)
\ifcsname\??cv\currentlanguage#1\endcsname
\currentlanguage#1%
+ \@EA\firstoftwoarguments % dirty, gobble {#1}
\else\ifcsname\??cv#1\endcsname
#1%
+ \@EAEAEA\firstoftwoarguments % dirty, gobble {#1}
\else
- \s!default
+ ->\s!default
\fi\fi
- \endcsname{\number#2}}
+ \endcsname{#1}{\number#2}}
+
+\letvalue{\??cv->\s!default}\docheckedconversion
\def\doifconversiondefinedelse#1%
{\ifcsname\??cv\currentlanguage#1\endcsname
@@ -762,9 +770,6 @@
\defineconversion [g] [\greeknumerals]
\defineconversion [G] [\Greeknumerals]
-\defineconversion [arabicnumerals] [\arabicnumerals]
-\defineconversion [persiannumerals] [\persiannumerals]
-
\defineconversion [abjadnumerals] [\abjadnumerals]
\defineconversion [abjadnodotnumerals] [\adjadnodotnumerals]
\defineconversion [abjadnaivenumerals] [\adjadnaivenumerals]
diff --git a/tex/context/base/core-ctx.mkiv b/tex/context/base/core-ctx.mkiv
index 9bf456952..56d17ec88 100644
--- a/tex/context/base/core-ctx.mkiv
+++ b/tex/context/base/core-ctx.mkiv
@@ -23,6 +23,6 @@
% \prependtoks\loadctxpreplist\to\everyjob
-\appendtoks\loadctxpreplist\to\everystarttext
+\appendtoks\loadctxpreplist\to\everystarttext % maybe too late but don't change it now
\protect \endinput
diff --git a/tex/context/base/data-env.lua b/tex/context/base/data-env.lua
index f99cb47f5..f3997b989 100644
--- a/tex/context/base/data-env.lua
+++ b/tex/context/base/data-env.lua
@@ -31,6 +31,7 @@ formats['pfb'] = 'T1FONTS' suffixes['pfb'] = { 'pfb', '
formats['vf'] = 'VFFONTS' suffixes['vf'] = { 'vf' }
formats['fea'] = 'FONTFEATURES' suffixes['fea'] = { 'fea' }
formats['cid'] = 'FONTCIDMAPS' suffixes['cid'] = { 'cid', 'cidmap' }
+formats['icc'] = 'ICCPROFILES' suffixes['icc'] = { 'icc' }
formats['texmfscripts'] = 'TEXMFSCRIPTS' suffixes['texmfscripts'] = { 'rb', 'pl', 'py' }
formats['lua'] = 'LUAINPUTS' suffixes['lua'] = { 'lua', 'luc', 'tma', 'tmc' }
formats['lib'] = 'CLUAINPUTS' suffixes['lib'] = (os.libsuffix and { os.libsuffix }) or { 'dll', 'so' }
@@ -46,6 +47,7 @@ alternatives['truetype fonts'] = 'ttf'
alternatives['truetype collections'] = 'ttc'
alternatives['truetype dictionary'] = 'dfont'
alternatives['type1 fonts'] = 'pfb'
+alternatives['icc profiles'] = 'icc'
--[[ldx--
<p>If you wondered about some of the previous mappings, how about
diff --git a/tex/context/base/enco-agr.mkii b/tex/context/base/enco-agr.mkii
index cfd86dfd3..1dbb9b577 100644
--- a/tex/context/base/enco-agr.mkii
+++ b/tex/context/base/enco-agr.mkii
@@ -16,6 +16,8 @@
\definecasemaps 87 to 90 lc +32 uc 0
\definecasemaps 91 to 255 lc 0 uc 0
+ \definecaseself 4 % apostrofe
+
\stopmapping
\startencoding[agr]
diff --git a/tex/context/base/enco-ans.mkii b/tex/context/base/enco-ans.mkii
index 7a48b5b55..88baf0ad0 100644
--- a/tex/context/base/enco-ans.mkii
+++ b/tex/context/base/enco-ans.mkii
@@ -40,7 +40,7 @@
% \definecaseself 129 % quotesingle
% \definecaseself 130 % quotesinglebase
% \definecaseself 145 % quoteleft
-% \definecaseself 146 % quoteright
+\definecaseself 146 % quoteright
\stopmapping
diff --git a/tex/context/base/enco-ec.mkii b/tex/context/base/enco-ec.mkii
index 1ac41cadf..f0964897f 100644
--- a/tex/context/base/enco-ec.mkii
+++ b/tex/context/base/enco-ec.mkii
@@ -56,7 +56,7 @@
% \definecaseself 39 % quotesingle
% \definecaseself 13 % quotesinglebase
% \definecaseself 96 % quoteleft
-% \definecaseself 39 % quoteright
+\definecaseself 39 % quoteright
%D So far for the mapping.
diff --git a/tex/context/base/enco-qx.mkii b/tex/context/base/enco-qx.mkii
index 407d60bd7..798a18249 100644
--- a/tex/context/base/enco-qx.mkii
+++ b/tex/context/base/enco-qx.mkii
@@ -75,6 +75,8 @@
\definecasemaps 217 to 222 lc +32 uc 0
\definecasemaps 249 to 254 lc 0 uc -32
+\definecaseself 39 % quoteright
+
\stopmapping
\startencoding[qx]
diff --git a/tex/context/base/font-afm.lua b/tex/context/base/font-afm.lua
index 072b3e59f..75b3cddef 100644
--- a/tex/context/base/font-afm.lua
+++ b/tex/context/base/font-afm.lua
@@ -480,7 +480,8 @@ function afm.copy_to_tfm(data)
local metadata, luatex = data.metadata, data.luatex
local unicodes, indices = luatex.unicodes, luatex.indices
local characters, parameters, descriptions = { }, { }, { }
- -- todo : merge into tfm
+ local mode = data.mode or "base"
+ -- todo : merge into tfm
for u, i in next, indices do
local d = glyphs[i]
characters[u] = { }
@@ -561,6 +562,7 @@ function afm.copy_to_tfm(data)
unicodes = unicodes,
luatex = luatex,
encodingbytes = 2,
+ mode = mode,
filename = filename,
fontname = fontname,
fullname = fullname,
@@ -602,7 +604,7 @@ function afm.set_features(tfmdata)
local afmdata = shared.afmdata
local features = shared.features
if features and next(features) then
- local mode = tfmdata.mode or fonts.mode
+ local mode = tfmdata.mode or features.mode or "base"
local initializers = fonts.initializers
local fi = initializers[mode]
local fiafm = fi and fi.afm
@@ -623,7 +625,7 @@ function afm.set_features(tfmdata)
report_afm("initializing feature %s to %s for mode %s for font %s",f,tostring(value),mode or 'unknown',tfmdata.name or 'unknown')
end
fiafm[f](tfmdata,value)
- mode = tfmdata.mode or fonts.mode
+ mode = tfmdata.mode or features.mode or "base"
fiafm = initializers[mode].afm
end
end
diff --git a/tex/context/base/font-ctx.lua b/tex/context/base/font-ctx.lua
index 5e4d598f1..a6945e39d 100644
--- a/tex/context/base/font-ctx.lua
+++ b/tex/context/base/font-ctx.lua
@@ -18,8 +18,12 @@ local round = math.round
local ctxcatcodes = tex.ctxcatcodes
local trace_defining = false trackers.register("fonts.defining", function(v) trace_defining = v end)
+local trace_usage = false trackers.register("fonts.usage", function(v) trace_usage = v end)
+local trace_mapfiles = false trackers.register("fonts.mapfiles", function(v) trace_mapfiles = v end)
-local report_define = logs.new("define fonts")
+local report_define = logs.new("define fonts")
+local report_usage = logs.new("fonts usage")
+local report_mapfiles = logs.new("mapfiles")
local tfm = fonts.tfm
local define = fonts.define
@@ -37,6 +41,9 @@ local merged = specify.context_merged
local synonyms = specify.synonyms
local triggers = fonts.triggers
+-- Beware, number can be shared between redefind features but as it is
+-- applied only for special cases it probably doesn't matter.
+
--[[ldx--
<p>So far we haven't really dealt with features (or whatever we want
to pass along with the font definition. We distinguish the following
@@ -113,7 +120,8 @@ local function preset_context(name,parent,features) -- currently otf only
if v then t[k] = v end
end
-- needed for dynamic features
- local number = (setups[name] and setups[name].number) or 0
+ -- maybe number should always be renewed as we can redefine features
+ local number = (setups[name] and setups[name].number) or 0 -- hm, numbers[name]
if number == 0 then
number = #numbers + 1
numbers[number] = name
@@ -233,6 +241,7 @@ function fonts.withset(name,what)
end
tex_attribute[0] = done
end
+
function fonts.withfnt(name,what)
local font = current_font()
local hash = font .. "*" .. name .. "*" .. what
@@ -248,18 +257,59 @@ function specify.show_context(name)
return setups[name] or setups[numbers[name]] or setups[numbers[tonumber(name)]] or { }
end
-local function split_context(features)
+-- todo: support a,b,c
+
+local function split_context(features) -- preset_context creates dummy here
return setups[features] or (preset_context(features,"","") and setups[features])
end
+--~ local splitter = lpeg.splitat("=")
+
+--~ local function split_context(features)
+--~ local setup = setups[features]
+--~ if setup then
+--~ return setup
+--~ elseif find(features,",") then
+--~ -- This is not that efficient but handy anyway for quick and dirty tests
+--~ -- beware, due to the way of caching setups you can get the wrong results
+--~ -- when components change. A safeguard is to nil the cache.
+--~ local merge = nil
+--~ for feature in gmatch(features,"[^, ]+") do
+--~ if find(feature,"=") then
+--~ local k, v = lpegmatch(splitter,feature)
+--~ if k and v then
+--~ if not merge then
+--~ merge = { k = v }
+--~ else
+--~ merge[k] = v
+--~ end
+--~ end
+--~ else
+--~ local s = setups[feature]
+--~ if not s then
+--~ -- skip
+--~ elseif not merge then
+--~ merge = s
+--~ else
+--~ for k, v in next, s do
+--~ merge[k] = v
+--~ end
+--~ end
+--~ end
+--~ end
+--~ setup = merge and preset_context(features,"",merge) and setups[features]
+--~ -- actually we have to nil setups[features] in order to permit redefinitions
+--~ setups[features] = nil
+--~ end
+--~ return setup or (preset_context(features,"","") and setups[features]) -- creates dummy
+--~ end
+
specify.split_context = split_context
function specify.context_tostring(name,kind,separator,yes,no,strict,omit) -- not used
return aux.hash_to_string(table.merged(fonts[kind].features.default or {},setups[name] or {}),separator,yes,no,strict,omit)
end
-local splitter = lpeg.splitat(",")
-
function specify.starred(features) -- no longer fallbacks here
local detail = features.detail
if detail and detail ~= "" then
@@ -396,7 +446,7 @@ function define.command_2(global,cs,str,size,classfeatures,fontfeatures,classfal
report_define("defining %s with id %s as \\%s (features: %s/%s, fallbacks: %s/%s)",name,id,cs,classfeatures,fontfeatures,classfallbacks,fontfallbacks)
end
-- resolved (when designsize is used):
- texsprint(ctxcatcodes,format("\\def\\somefontsize{%isp}",tfmdata.size))
+ texsprint(ctxcatcodes,format("\\def\\somefontsize{%isp}",tfmdata.size or 655360))
--~ if specification.fallbacks then
--~ fonts.collections.prepare(specification.fallbacks)
--~ end
@@ -511,6 +561,9 @@ local loaded = { -- prevent loading (happens in cont-sys files)
function fonts.map.loadfile(name)
name = file.addsuffix(name,"map")
if not loaded[name] then
+ if trace_mapfiles then
+ report_mapfiles("loading map file '%s'",name)
+ end
pdf.mapfile(name)
loaded[name] = true
end
@@ -526,6 +579,9 @@ function fonts.map.loadline(how,line)
how = "= " .. line
end
if not loaded[how] then
+ if trace_mapfiles then
+ report_mapfiles("processing map line '%s'",line)
+ end
pdf.mapline(how)
loaded[how] = true
end
@@ -611,3 +667,57 @@ function fonts.show_font_parameters()
end
end
+function fonts.report_defined_fonts()
+ if trace_usage then
+ local t = { }
+ for id, data in table.sortedhash(fonts.ids) do
+ t[#t+1] = {
+ format("%03i",id),
+ format("%09i",data.size or 0),
+ data.type or "real",
+ (data.mode or "base") .. "mode",
+ data.auto_expand and "expanded" or "",
+ data.auto_protrude and "protruded" or "",
+ data.has_math and "math" or "",
+ data.extend_factor and "extended" or "",
+ data.slant_factor and "slanted" or "",
+ data.name or "",
+ data.psname or "",
+ data.fullname or "",
+ data.hash or "",
+ }
+ end
+ aux.formatcolumns(t," ")
+ report_usage()
+ report_usage("defined fonts:")
+ report_usage()
+ for k=1,#t do
+ report_usage(t[k])
+ end
+ end
+end
+
+luatex.register_stop_actions(fonts.report_defined_fonts)
+
+function fonts.report_used_features()
+ -- numbers, setups, merged
+ if trace_usage then
+ local t = { }
+ for i=1,#numbers do
+ local name = numbers[i]
+ local setup = setups[name]
+ local n = setup.number
+ setup.number = nil -- we have no reason to show this
+ t[#t+1] = { i, name, table.sequenced(setup,false,true) } -- simple mode
+ setup.number = n -- restore it (normally not needed as we're done anyway)
+ end
+ aux.formatcolumns(t," ")
+ report_usage()
+ report_usage("defined featuresets:")
+ report_usage()
+ for k=1,#t do
+ report_usage(t[k])
+ end
+ end
+end
+luatex.register_stop_actions(fonts.report_used_features)
diff --git a/tex/context/base/font-def.lua b/tex/context/base/font-def.lua
index ea5b69a6b..e3c7d934a 100644
--- a/tex/context/base/font-def.lua
+++ b/tex/context/base/font-def.lua
@@ -559,7 +559,7 @@ function define.register(fontdata,id)
end
fonts.identifiers[id] = fontdata
fonts.characters [id] = fontdata.characters
- fonts.quads [id] = fontdata.parameters.quad
+ fonts.quads [id] = fontdata.parameters and fontdata.parameters.quad
-- todo: extra functions, e.g. setdigitwidth etc in list
tfm.internalized[hash] = id
end
@@ -637,7 +637,6 @@ function define.read(specification,size,id) -- id can be optional, name can alre
fontdata.encodingname or "unicode",
fontdata.fullname or "?",
file.basename(fontdata.filename or "?"))
-
end
statistics.stoptiming(fonts)
return fontdata
diff --git a/tex/context/base/font-enh.lua b/tex/context/base/font-enh.lua
index 137044f5b..31f2b2387 100644
--- a/tex/context/base/font-enh.lua
+++ b/tex/context/base/font-enh.lua
@@ -68,7 +68,7 @@ function tfm.set_features(tfmdata)
-- local tfmdata = shared.tfmdata
local features = shared.features
if features and next(features) then
- local mode = tfmdata.mode or fonts.mode
+ local mode = tfmdata.mode or features.mode or "base"
local fi = fonts.initializers[mode]
if fi and fi.tfm then
local function initialize(list) -- using tex lig and kerning
@@ -81,7 +81,7 @@ function tfm.set_features(tfmdata)
report_define("initializing feature %s to %s for mode %s for font %s",f,tostring(value),mode or 'unknown',tfmdata.name or 'unknown')
end
fi.tfm[f](tfmdata,value)
- mode = tfmdata.mode or fonts.mode
+ mode = tfmdata.mode or features.mode or "base"
fi = fonts.initializers[mode]
end
end
diff --git a/tex/context/base/font-gds.lua b/tex/context/base/font-gds.lua
index f0d52974a..79a1417d3 100644
--- a/tex/context/base/font-gds.lua
+++ b/tex/context/base/font-gds.lua
@@ -90,21 +90,21 @@ end
-- featuresets
-local function flattened(t,tt)
+local function flattened_features(t,tt)
-- first set value dominates
local tt = tt or { }
for i=1,#t do
local ti = t[i]
if type(ti) == "table" then
- flattened(ti,tt)
+ flattened_features(ti,tt)
elseif tt[ti] == nil then
tt[ti] = true
end
end
for k, v in next, t do
- if type(k) ~= "number" then
+ if type(k) ~= "number" then -- not tonumber(k)
if type(v) == "table" then
- flattened(v,tt)
+ flattened_features(v,tt)
elseif tt[k] == nil then
tt[k] = v
end
@@ -113,11 +113,11 @@ local function flattened(t,tt)
return tt
end
-fonts.flattened_features = flattened
+fonts.flattened_features = flattened_features
function fonts.goodies.prepare_features(goodies,name,set)
if set then
- local ff = fonts.flattened_features(set)
+ local ff = flattened_features(set)
local fullname = goodies.name .. "::" .. name
local n, s = preset_context(fullname,"",ff)
goodies.featuresets[name] = s -- set
diff --git a/tex/context/base/font-ini.lua b/tex/context/base/font-ini.lua
index 94522130c..290d031f9 100644
--- a/tex/context/base/font-ini.lua
+++ b/tex/context/base/font-ini.lua
@@ -34,7 +34,6 @@ fonts.qua = fonts.qua or { } fonts.quads = fonts.qua -- aka quaddata
fonts.tfm = fonts.tfm or { }
-fonts.mode = 'base'
fonts.private = 0xF0000 -- 0x10FFFF
fonts.verbose = false -- more verbose cache tables
diff --git a/tex/context/base/font-ini.mkiv b/tex/context/base/font-ini.mkiv
index e08f5bdd9..abcfba8d8 100644
--- a/tex/context/base/font-ini.mkiv
+++ b/tex/context/base/font-ini.mkiv
@@ -2748,9 +2748,9 @@
% for the moment here, this will change but we need it for mk.tex
-\definefontfeature[math-text] [virtualmath][ssty=no]
-\definefontfeature[math-script] [virtualmath][ssty=1,mathsize=yes]
-\definefontfeature[math-scriptscript][virtualmath][ssty=2,mathsize=yes]
+\definefontfeature[math-text] [virtualmath][mathalternates=yes,ssty=no]
+\definefontfeature[math-script] [virtualmath][mathalternates=yes,ssty=1,mathsize=yes]
+\definefontfeature[math-scriptscript][virtualmath][mathalternates=yes,ssty=2,mathsize=yes]
\definefontfeature [math-nostack-text] [math-text] [nostackmath=yes]
\definefontfeature [math-nostack-script] [math-script] [nostackmath=yes]
diff --git a/tex/context/base/font-otd.lua b/tex/context/base/font-otd.lua
index 1eee45aaa..62522f916 100644
--- a/tex/context/base/font-otd.lua
+++ b/tex/context/base/font-otd.lua
@@ -58,6 +58,7 @@ function otf.set_dynamics(font,dynamics,attribute)
features = tfmdata.shared.features
}
tfmdata.mode = "node"
+ tfmdata.dynamics = true -- handy for tracing
tfmdata.language = language
tfmdata.script = script
tfmdata.shared.features = { }
diff --git a/tex/context/base/font-otf.lua b/tex/context/base/font-otf.lua
index 5749d8fd7..5e1117acb 100644
--- a/tex/context/base/font-otf.lua
+++ b/tex/context/base/font-otf.lua
@@ -1388,22 +1388,23 @@ end
-- for context this will become a task handler
+local lists = { -- why local
+ fonts.triggers,
+ fonts.processors,
+ fonts.manipulators,
+}
+
function otf.set_features(tfmdata,features)
local processes = { }
if features and next(features) then
- local lists = { -- why local
- fonts.triggers,
- fonts.processors,
- fonts.manipulators,
- }
- local mode = tfmdata.mode or fonts.mode -- or features.mode
+ local mode = tfmdata.mode or features.mode or "base"
local initializers = fonts.initializers
local fi = initializers[mode]
if fi then
local fiotf = fi.otf
if fiotf then
local done = { }
- for l=1,4 do
+ for l=1,#lists do
local list = lists[l]
if list then
for i=1,#list do
@@ -1415,7 +1416,7 @@ function otf.set_features(tfmdata,features)
report_otf("initializing feature %s to %s for mode %s for font %s",f,tostring(value),mode or 'unknown', tfmdata.fullname or 'unknown')
end
fiotf[f](tfmdata,value) -- can set mode (no need to pass otf)
- mode = tfmdata.mode or fonts.mode -- keep this, mode can be set local !
+ mode = tfmdata.mode or features.mode or "base"
local im = initializers[mode]
if im then
fiotf = initializers[mode].otf
@@ -1428,11 +1429,12 @@ function otf.set_features(tfmdata,features)
end
end
end
+tfmdata.mode = mode
local fm = fonts.methods[mode] -- todo: zonder node/mode otf/...
if fm then
local fmotf = fm.otf
if fmotf then
- for l=1,4 do
+ for l=1,#lists do
local list = lists[l]
if list then
for i=1,#list do
@@ -1535,7 +1537,8 @@ function otf.copy_to_tfm(data,cache_id) -- we can save a copy when we reorder th
local glyphs, pfminfo, metadata = data.glyphs or { }, data.pfminfo or { }, data.metadata or { }
local luatex = data.luatex
local unicodes = luatex.unicodes -- names to unicodes
- local indices = luatex.indices
+ local indices = luatex.indices local mode = data.mode or "base"
+
local characters, parameters, math_parameters, descriptions = { }, { }, { }, { }
local designsize = metadata.designsize or metadata.design_size or 100
if designsize == 0 then
@@ -1677,6 +1680,7 @@ function otf.copy_to_tfm(data,cache_id) -- we can save a copy when we reorder th
designsize = (designsize/10)*65536,
spacer = "500 units",
encodingbytes = 2,
+ mode = mode,
filename = filename,
fontname = fontname,
fullname = fullname,
diff --git a/tex/context/base/font-ott.lua b/tex/context/base/font-ott.lua
index c56e98498..638fd8efc 100644
--- a/tex/context/base/font-ott.lua
+++ b/tex/context/base/font-ott.lua
@@ -691,38 +691,40 @@ otf.meanings.checkers = {
local checkers = otf.meanings.checkers
function otf.meanings.normalize(features)
- local h = { }
- for k,v in next, features do
- k = lower(k)
- if k == "language" or k == "lang" then
- v = gsub(lower(v),"[^a-z0-9%-]","")
- if not languages[v] then
- h.language = to_languages[v] or "dflt"
- else
- h.language = v
- end
- elseif k == "script" then
- v = gsub(lower(v),"[^a-z0-9%-]","")
- if not scripts[v] then
- h.script = to_scripts[v] or "dflt"
- else
- h.script = v
- end
- else
- if type(v) == "string" then
- local b = v:is_boolean()
- if type(b) == "nil" then
- v = tonumber(v) or lower(v)
+ if features then
+ local h = { }
+ for k,v in next, features do
+ k = lower(k)
+ if k == "language" or k == "lang" then
+ v = gsub(lower(v),"[^a-z0-9%-]","")
+ if not languages[v] then
+ h.language = to_languages[v] or "dflt"
else
- v = b
+ h.language = v
+ end
+ elseif k == "script" then
+ v = gsub(lower(v),"[^a-z0-9%-]","")
+ if not scripts[v] then
+ h.script = to_scripts[v] or "dflt"
+ else
+ h.script = v
+ end
+ else
+ if type(v) == "string" then
+ local b = v:is_boolean()
+ if type(b) == "nil" then
+ v = tonumber(v) or lower(v)
+ else
+ v = b
+ end
end
+ k = to_features[k] or k
+ local c = checkers[k]
+ h[k] = c and c(v) or v
end
- k = to_features[k] or k
- local c = checkers[k]
- h[k] = c and c(v) or v
end
+ return h
end
- return h
end
-- When I feel the need ...
diff --git a/tex/context/base/font-syn.lua b/tex/context/base/font-syn.lua
index b698fe27f..23030588e 100644
--- a/tex/context/base/font-syn.lua
+++ b/tex/context/base/font-syn.lua
@@ -1466,32 +1466,3 @@ function names.getlookups(pattern,name,reload)
end
return lastlookups
end
-
-function table.formatcolumns(result)
- if result and #result > 0 then
- local widths = { }
- local first = result[1]
- local n = #first
- for i=1,n do
- widths[i] = 0
- end
- for i=1,#result do
- local r = result[i]
- for j=1,n do
- local w = #r[j]
- if w > widths[j] then
- widths[j] = w
- end
- end
- end
- for i=1,n do
- widths[i] = "%-" .. widths[i] .. "s"
- end
- local template = concat(widths," ")
- for i=1,#result do
- local str = format(template,unpack(result[i]))
- result[i] = string.strip(str)
- end
- end
- return result
-end
diff --git a/tex/context/base/font-tfm.lua b/tex/context/base/font-tfm.lua
index 83f07e9f4..57e10f3b1 100644
--- a/tex/context/base/font-tfm.lua
+++ b/tex/context/base/font-tfm.lua
@@ -253,6 +253,10 @@ function tfm.do_scale(tfmtable, scaledpoints, relativeid)
local hasitalic = tfmtable.has_italic
local descriptions = tfmtable.descriptions or { }
--
+ if hasmath then
+ t.has_math = true -- this will move to elsewhere
+ end
+ --
t.parameters = { }
t.characters = { }
t.MathConstants = { }
diff --git a/tex/context/base/grph-inc.lua b/tex/context/base/grph-inc.lua
index 6fa611694..8b81099a5 100644
--- a/tex/context/base/grph-inc.lua
+++ b/tex/context/base/grph-inc.lua
@@ -988,7 +988,8 @@ local gifconverter = { }
figures.converters.gif = gifconverter
figures.programs.convert = {
- command = "convert" -- imagemagick
+ command = "convert" -- imagemagick
+ -- command = "gm convert" -- graphicmagick
}
function gifconverter.pdf(oldname,newname)
diff --git a/tex/context/base/java-ini.lua b/tex/context/base/java-ini.lua
index f64a8a18f..61b57cbc5 100644
--- a/tex/context/base/java-ini.lua
+++ b/tex/context/base/java-ini.lua
@@ -7,7 +7,8 @@ if not modules then modules = { } end modules ['java-ini'] = {
}
local format = string.format
-local lpegmatch = lpeg.match
+local concat = table.concat
+local lpegmatch, lpegP, lpegR, lpegS, lpegC = lpeg.match, lpeg.P, lpeg.R, lpeg.S, lpeg.C
javascripts = javascripts or { }
javascripts.codes = javascripts.codes or { }
@@ -22,20 +23,20 @@ local function storefunction(s)
functions[s] = true
end
-local uses = lpeg.P("uses")
-local used = lpeg.P("used")
-local left = lpeg.P("{")
-local right = lpeg.P("}")
-local space = lpeg.S(" \r\n")
+local uses = lpegP("uses")
+local used = lpegP("used")
+local left = lpegP("{")
+local right = lpegP("}")
+local space = lpegS(" \r\n")
local spaces = space^0
-local braced = left * lpeg.C((1-right-space)^1) * right
-local unbraced = lpeg.C((1-space)^1)
+local braced = left * lpegC((1-right-space)^1) * right
+local unbraced = lpegC((1-space)^1)
local name = spaces * (braced + unbraced) * spaces
-local any = lpeg.P(1)
-local script = lpeg.C(any^1)
-local funct = lpeg.P("function")
-local leftp = lpeg.P("(")
-local rightp = lpeg.P(")")
+local any = lpegP(1)
+local script = lpegC(any^1)
+local funct = lpegP("function")
+local leftp = lpegP("(")
+local rightp = lpegP(")")
local fname = spaces * funct * spaces * (((1-space-left)^1)/storefunction) * spaces * leftp
local parsecode = name * ((uses * name) + lpeg.Cc("")) * spaces * script
@@ -85,6 +86,8 @@ function javascripts.usepreamblenow(name) -- now later
end
end
+local splitter = lpeg.Ct(lpeg.splitat(lpeg.patterns.commaspacer))
+
function javascripts.code(name,arguments)
local c = codes[name]
if c then
@@ -99,9 +102,12 @@ function javascripts.code(name,arguments)
end
local f = functions[name]
if f then
- -- temporary hack, i need a more clever approach
if arguments then
- return format("%s(%s)",name,'"' .. arguments.gsub(arguments,'%s*,%s*','"%1",') .. '"')
+ local args = lpegmatch(splitter,arguments)
+ for i=1,#args do -- can be a helper
+ args[i] = format("%q",args[i])
+ end
+ return format("%s(%s)",name,concat(args,","))
else
return format("%s()",name)
end
diff --git a/tex/context/base/l-aux.lua b/tex/context/base/l-aux.lua
index aeea79173..28d4f88b2 100644
--- a/tex/context/base/l-aux.lua
+++ b/tex/context/base/l-aux.lua
@@ -163,14 +163,24 @@ function aux.array_to_string(a,separator)
end
end
-function aux.settings_to_set(str,t)
+function aux.settings_to_set(str,t) -- tohash?
t = t or { }
- for s in gmatch(str,"%s*([^,]+)") do
+ for s in gmatch(str,"%s*([^, ]+)") do -- space added
t[s] = true
end
return t
end
+function aux.simple_hash_to_string(h, separator)
+ local t = { }
+ for k, v in table.sortedhash(h) do
+ if v then
+ t[#t+1] = k
+ end
+ end
+ return concat(t,separator or ",")
+end
+
local value = lbrace * lpeg.C((nobrace + nested)^0) * rbrace
local pattern = lpeg.Ct((space + value)^0)
@@ -255,3 +265,57 @@ end
--~ end
--~ return reminder, cache
--~ end
+
+function aux.formatcolumns(result,between)
+ if result and #result > 0 then
+ between = between or " "
+ local widths, numbers = { }, { }
+ local first = result[1]
+ local n = #first
+ for i=1,n do
+ widths[i] = 0
+ end
+ for i=1,#result do
+ local r = result[i]
+ for j=1,n do
+ local rj = r[j]
+ local tj = type(rj)
+ if tj == "number" then
+ numbers[j] = true
+ end
+ if tj ~= "string" then
+ rj = tostring(rj)
+ r[j] = rj
+ end
+ local w = #rj
+ if w > widths[j] then
+ widths[j] = w
+ end
+ end
+ end
+ for i=1,n do
+ local w = widths[i]
+ if numbers[i] then
+ if w > 80 then
+ widths[i] = "%s" .. between
+ else
+ widths[i] = "%0" .. w .. "i" .. between
+ end
+ else
+ if w > 80 then
+ widths[i] = "%s" .. between
+ elseif w > 0 then
+ widths[i] = "%-" .. w .. "s" .. between
+ else
+ widths[i] = "%s"
+ end
+ end
+ end
+ local template = string.strip(concat(widths))
+ for i=1,#result do
+ local str = format(template,unpack(result[i]))
+ result[i] = string.strip(str)
+ end
+ end
+ return result
+end
diff --git a/tex/context/base/l-io.lua b/tex/context/base/l-io.lua
index 66e279309..89227a63f 100644
--- a/tex/context/base/l-io.lua
+++ b/tex/context/base/l-io.lua
@@ -185,3 +185,36 @@ function io.ask(question,default,options)
end
end
end
+
+function io.readnumber(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ if n == 1 then
+ return byte(f:read(1))
+ elseif n == 2 then
+ local a, b = byte(f:read(2),1,2)
+ return 256*a + b
+ elseif n == 4 then
+ local a, b, c, d = byte(f:read(4),1,4)
+ return 256^3 * a + 256^2 * b + 256*c + d
+ elseif n == 8 then
+ local a, b = readnumber(f,4), readnumber(f,4)
+ return 256 * b + c
+ elseif n == 12 then
+ local a, b, c = readnumber(f,4), readnumber(f,4), readnumber(f,4)
+ return 256^2 * a + 256 * b + c
+ else
+ return 0
+ end
+end
+
+function io.readstring(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ local str = gsub(f:read(n),"%z","")
+ return str
+end
diff --git a/tex/context/base/l-lpeg.lua b/tex/context/base/l-lpeg.lua
index 05bbebab9..cffcc86e1 100644
--- a/tex/context/base/l-lpeg.lua
+++ b/tex/context/base/l-lpeg.lua
@@ -38,7 +38,8 @@ patterns.hexadecimal = P("0x") * R("09","AF","af")^1
patterns.lowercase = R("az")
patterns.uppercase = R("AZ")
patterns.letter = patterns.lowercase + patterns.uppercase
-patterns.space = S(" ")
+patterns.space = P(" ")
+patterns.tab = P("\t")
patterns.eol = S("\n\r")
patterns.spacer = S(" \t\f\v") -- + string.char(0xc2, 0xa0) if we want utf (cf mail roberto)
patterns.newline = crlf + cr + lf
@@ -49,6 +50,9 @@ patterns.nonwhitespace = 1 - patterns.whitespace
patterns.utf8 = patterns.utf8one + patterns.utf8two + patterns.utf8three + patterns.utf8four
patterns.utfbom = P('\000\000\254\255') + P('\255\254\000\000') + P('\255\254') + P('\254\255') + P('\239\187\191')
patterns.validutf8 = patterns.utf8^0 * P(-1) * Cc(true) + Cc(false)
+patterns.comma = P(",")
+patterns.commaspacer = P(",") * patterns.spacer^0
+patterns.period = P(".")
patterns.undouble = P('"')/"" * (1-P('"'))^0 * P('"')/""
patterns.unsingle = P("'")/"" * (1-P("'"))^0 * P("'")/""
@@ -169,15 +173,41 @@ local function f4(s) local c1, c2, c3, c4 = f1(s,1,4) return ((c1 * 64 + c2) * 6
patterns.utf8byte = patterns.utf8one/f1 + patterns.utf8two/f2 + patterns.utf8three/f3 + patterns.utf8four/f4
+--~ local str = " a b c d "
+
+--~ local s = lpeg.stripper(lpeg.R("az")) print("["..lpeg.match(s,str).."]")
+--~ local s = lpeg.keeper(lpeg.R("az")) print("["..lpeg.match(s,str).."]")
+--~ local s = lpeg.stripper("ab") print("["..lpeg.match(s,str).."]")
+--~ local s = lpeg.keeper("ab") print("["..lpeg.match(s,str).."]")
+
local cache = { }
function lpeg.stripper(str)
- local s = cache[str]
- if not s then
- s = Cs(((S(str)^1)/"" + 1)^0)
- cache[str] = s
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs(((S(str)^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs(((str^1)/"" + 1)^0)
+ end
+end
+
+local cache = { }
+
+function lpeg.keeper(str)
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs((((1-S(str))^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs((((1-str)^1)/"" + 1)^0)
end
- return s
end
function lpeg.replacer(t)
diff --git a/tex/context/base/l-number.lua b/tex/context/base/l-number.lua
index a1249f055..7a59e1b2a 100644
--- a/tex/context/base/l-number.lua
+++ b/tex/context/base/l-number.lua
@@ -56,3 +56,21 @@ function number.bits(n,zero)
end
return t
end
+
+--~ http://ricilake.blogspot.com/2007/10/iterating-bits-in-lua.html
+
+function number.bit(p)
+ return 2 ^ (p - 1) -- 1-based indexing
+end
+
+function number.hasbit(x, p) -- typical call: if hasbit(x, bit(3)) then ...
+ return x % (p + p) >= p
+end
+
+function number.setbit(x, p)
+ return hasbit(x, p) and x or x + p
+end
+
+function number.clearbit(x, p)
+ return hasbit(x, p) and x - p or x
+end
diff --git a/tex/context/base/l-table.lua b/tex/context/base/l-table.lua
index 23477c655..c3ef364a5 100644
--- a/tex/context/base/l-table.lua
+++ b/tex/context/base/l-table.lua
@@ -126,7 +126,7 @@ end
table.sortedkeys = sortedkeys
table.sortedhashkeys = sortedhashkeys
-function table.sortedhash(t)
+local function sortedhash(t)
local s = sortedhashkeys(t) -- maybe just sortedkeys
local n = 0
local function kv(s)
@@ -137,7 +137,8 @@ function table.sortedhash(t)
return kv, s
end
-table.sortedpairs = table.sortedhash
+table.sortedhash = sortedhash
+table.sortedpairs = sortedhash
function table.append(t, list)
for _,v in next, list do
@@ -832,12 +833,26 @@ function table.count(t)
return n
end
-function table.swapped(t)
- local s = { }
+function table.swapped(t,s)
+ local n = { }
+ if s then
+--~ for i=1,#s do
+--~ n[i] = s[i]
+--~ end
+ for k, v in next, s do
+ n[k] = v
+ end
+ end
+--~ for i=1,#t do
+--~ local ti = t[i] -- don't ask but t[i] can be nil
+--~ if ti then
+--~ n[ti] = i
+--~ end
+--~ end
for k, v in next, t do
- s[v] = k
+ n[v] = k
end
- return s
+ return n
end
--~ function table.are_equal(a,b)
@@ -860,7 +875,7 @@ function table.hexed(t,seperator)
return concat(tt,seperator or " ")
end
-function table.reverse_hash(h)
+function table.reverse_hash(h) -- needs another name
local r = { }
for k,v in next, h do
r[v] = lower(gsub(k," ",""))
@@ -908,10 +923,18 @@ function table.insert_after_value(t,value,extra)
insert(t,#t+1,extra)
end
-function table.sequenced(t,sep)
+function table.sequenced(t,sep,simple) -- hash only
local s = { }
- for k, v in next, t do -- indexed?
- s[#s+1] = k .. "=" .. tostring(v)
+ for k, v in sortedhash(t) do
+ if simple then
+ if v == true then
+ s[#s+1] = k
+ elseif v and v~= "" then
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
+ else
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
end
return concat(s, sep or " | ")
end
diff --git a/tex/context/base/l-unicode.lua b/tex/context/base/l-unicode.lua
index 0c5a60142..dc78f7325 100644
--- a/tex/context/base/l-unicode.lua
+++ b/tex/context/base/l-unicode.lua
@@ -32,7 +32,7 @@ end
utf = utf or unicode.utf8
local concat, utfchar, utfgsub = table.concat, utf.char, utf.gsub
-local char, byte, find, bytepairs = string.char, string.byte, string.find, string.bytepairs
+local char, byte, find, bytepairs, utfvalues, format = string.char, string.byte, string.find, string.bytepairs, string.utfvalues, string.format
-- 0 EF BB BF UTF-8
-- 1 FF FE UTF-16-little-endian
@@ -197,3 +197,13 @@ function unicode.utf8_to_utf16(str,littleendian)
return char(254,255) .. utfgsub(str,".",big)
end
end
+
+function unicode.utfcodes(str)
+ local t = { }
+ for k,v in string.utfvalues(str) do
+ t[#t+1] = format("0x%04X",k)
+ end
+ return concat(t,separator or " ")
+end
+
+--~ print(unicode.utfcodes(str))
diff --git a/tex/context/base/lang-wrd.lua b/tex/context/base/lang-wrd.lua
index c2b5ff6ac..6e3caed12 100644
--- a/tex/context/base/lang-wrd.lua
+++ b/tex/context/base/lang-wrd.lua
@@ -23,13 +23,14 @@ words.threshold = 4
local set_attribute = node.set_attribute
local unset_attribute = node.unset_attribute
local traverse_nodes = node.traverse
-local node_id = node.id
local wordsdata = words.data
local chardata = characters.data
-local glyph_node = node_id('glyph')
-local disc_node = node_id('disc')
-local kern_node = node_id('kern')
+local nodecodes = nodes.nodecodes
+
+local glyph_node = nodecodes.glyph
+local disc_node = nodecodes.disc
+local kern_node = nodecodes.kern
words.colors = {
["known"] = "green",
diff --git a/tex/context/base/lpdf-col.lua b/tex/context/base/lpdf-col.lua
index 18aa848ff..fc2b9cabc 100644
--- a/tex/context/base/lpdf-col.lua
+++ b/tex/context/base/lpdf-col.lua
@@ -16,37 +16,43 @@ local registercolor = colors.register
local registertransparancy = transparencies.register
local colorsvalue = colors.value
local transparenciesvalue = transparencies.value
+local forcedmodel = colors.forcedmodel
-- Literals needed to inject code in the mp stream, we cannot use attributes there
-- since literals may have qQ's, much may go away once we have mplib code in place.
--
-- This module assumes that some functions are defined in the colors namespace
--- which mostlikely will be loaded later.
+-- which most likely will be loaded later.
function lpdf.color(model,ca,default) -- todo: use gray when no color
- local cv = colorsvalue(ca)
- if cv then
- if model == 1 then
- model = cv[1]
- end
- if model == 2 then
- local s = cv[2]
- return format("%s g %s G",s,s)
- elseif model == 3 then
- local r, g, b = cv[3], cv[4], cv[5]
- return format("%s %s %s rg %s %s %s RG",r,g,b,r,g,b)
- elseif model == 4 then
- local c, m, y, k = cv[6],cv[7],cv[8],cv[9]
- return format("%s %s %s %s k %s %s %s %s K",c,m,y,k,c,m,y,k)
- else
- local n,f,d,p = cv[10],cv[11],cv[12],cv[13]
- if type(p) == "string" then
- p = gsub(p,","," ") -- brr misuse of spot
+ if colors.supported then
+ local cv = colorsvalue(ca)
+ if cv then
+ if model == 1 then
+ model = cv[1]
end
- return format("/%s cs /%s CS %s SCN %s scn",n,n,p,p)
+ model = forcedmodel(model)
+ if model == 2 then
+ local s = cv[2]
+ return format("%s g %s G",s,s)
+ elseif model == 3 then
+ local r, g, b = cv[3], cv[4], cv[5]
+ return format("%s %s %s rg %s %s %s RG",r,g,b,r,g,b)
+ elseif model == 4 then
+ local c, m, y, k = cv[6],cv[7],cv[8],cv[9]
+ return format("%s %s %s %s k %s %s %s %s K",c,m,y,k,c,m,y,k)
+ else
+ local n,f,d,p = cv[10],cv[11],cv[12],cv[13]
+ if type(p) == "string" then
+ p = gsub(p,","," ") -- brr misuse of spot
+ end
+ return format("/%s cs /%s CS %s SCN %s scn",n,n,p,p)
+ end
+ else
+ return format("%s g %s G",default or 0,default or 0)
end
else
- return format("%s g %s G",default or 0,default or 0)
+ return ""
end
end
@@ -54,11 +60,15 @@ function lpdf.transparency(ct,default) -- kind of overlaps with transparencycode
-- beware, we need this hack because normally transparencies are not
-- yet registered and therefore the number is not not known ... we
-- might use the attribute number itself in the future
- local ct = transparenciesvalue(ct)
- if ct then
- return format("/Tr%s gs",registertransparancy(nil,ct[1],ct[2],true))
+ if transparencies.supported then
+ local ct = transparenciesvalue(ct)
+ if ct then
+ return format("/Tr%s gs",registertransparancy(nil,ct[1],ct[2],true))
+ else
+ return "/Tr0 gs"
+ end
else
- return "/Tr0 gs"
+ return ""
end
end
@@ -68,6 +78,7 @@ function lpdf.colorvalue(model,ca,default)
if model == 1 then
model = cv[1]
end
+ model = forcedmodel(model)
if model == 2 then
return format("%s",cv[2])
elseif model == 3 then
@@ -88,6 +99,7 @@ function lpdf.fdfcolor(model,ca,default)
if model == 1 then
model = cv[1]
end
+ model = forcedmodel(model)
if model == 2 then
return format("[%s]",cv[2])
elseif model == 3 then
@@ -108,6 +120,7 @@ function lpdf.colorspace(model,ca)
if model == 1 then
model = cv[1]
end
+ model = forcedmodel(model)
if model == 2 then
return "DeviceGray"
elseif model == 3 then
@@ -125,23 +138,47 @@ local intransparency = false
local pdfcolor = lpdf.color
function lpdf.rgbcode(model,r,g,b)
- return pdfcolor(model,registercolor(nil,'rgb',r,g,b))
+ if colors.supported then
+ return pdfcolor(model,registercolor(nil,'rgb',r,g,b))
+ else
+ return ""
+ end
end
+
function lpdf.cmykcode(model,c,m,y,k)
- return pdfcolor(model,registercolor(nil,'cmyk',c,m,y,k))
+ if colors.supported then
+ return pdfcolor(model,registercolor(nil,'cmyk',c,m,y,k))
+ else
+ return ""
+ end
end
+
function lpdf.graycode(model,s)
- return pdfcolor(model,registercolor(nil,'gray',s))
+ if colors.supported then
+ return pdfcolor(model,registercolor(nil,'gray',s))
+ else
+ return ""
+ end
end
+
function lpdf.spotcode(model,n,f,d,p)
- return pdfcolor(model,registercolor(nil,'spot',n,f,d,p)) -- incorrect
+ if colors.supported then
+ return pdfcolor(model,registercolor(nil,'spot',n,f,d,p)) -- incorrect
+ else
+ return ""
+ end
end
+
function lpdf.transparencycode(a,t)
- intransparency = true
- return format("/Tr%s gs",registertransparancy(nil,a,t,true)) -- true forces resource
+ if transparencies.supported then
+ intransparency = true
+ return format("/Tr%s gs",registertransparancy(nil,a,t,true)) -- true forces resource
+ else
+ return ""
+ end
end
function lpdf.finishtransparencycode()
- if intransparency then
+ if transparencies.supported and intransparency then
intransparency = false
return "/Tr0 gs" -- we happen to know this -)
else
diff --git a/tex/context/base/lpdf-epd.lua b/tex/context/base/lpdf-epd.lua
index 23ab0674c..680c39e18 100644
--- a/tex/context/base/lpdf-epd.lua
+++ b/tex/context/base/lpdf-epd.lua
@@ -20,6 +20,13 @@ local setmetatable, rawset = setmetatable, rawset
-- getNum getString getBool getName getRef
-- getResourceDict getMediaBox getCropBox getBleedBox getTrimBox getArtBox
-- getPageRef getKindName findDestgetNumPages getDests getPage getCatalog getAnnots
+--
+-- needed:
+--
+-- add accessor methods to the resource dict
+-- a function to mark objects as to be included
+
+lpdf = lpdf or { }
-- -- -- helpers -- -- --
@@ -100,17 +107,17 @@ local basic_resources_access = { -- == dictionary_access
end
}
-local basic_box_access = {
+local basic_box_access = { -- here it makes sense to do the rawset
__index = function(t,k)
local d = t.__data__
- if k == "all" then return { d.x1, d.y1, d.x2, d.y2 }
- elseif k == "width" then return d.x2 - d.x1
- elseif k == "height" then return d.y2 - d.y1
- elseif k == 1 then return d.x1
- elseif k == 2 then return d.y1
- elseif k == 3 then return d.x2
- elseif k == 4 then return d.y2
- else return 0 end
+ if k == "all" then return { d.x1, d.y1, d.x2, d.y2 }
+ elseif k == "width" then return d.x2 - d.x1
+ elseif k == "height" then return d.y2 - d.y1
+ elseif k == 1 or k == "llx" then return d.x1
+ elseif k == 2 or k == "lly" then return d.y1
+ elseif k == 3 or k == "urx" then return d.x2
+ elseif k == 4 or k == "lly" then return d.y2
+ else return 0 end
end
}
diff --git a/tex/context/base/lpdf-pdx.lua b/tex/context/base/lpdf-pdx.lua
index db1217c53..dbf8eadf2 100644
--- a/tex/context/base/lpdf-pdx.lua
+++ b/tex/context/base/lpdf-pdx.lua
@@ -6,7 +6,10 @@ if not modules then modules = { } end modules ['lpdf-pdx'] = {
license = "see context related readme files",
}
-local trace_colorprofiles = false trackers.register("backend.colorprofiles", function(v) trace_colorprofiles = v end)
+-- context --directives="backend.format=PDF/X-1a:2001" --trackers=backend.format yourfile
+
+local trace_pdfx = false trackers.register("backend.pdfx", function(v) trace_pdfx = v end)
+local trace_format = false trackers.register("backend.format", function(v) trace_format = v end)
local report_backends = logs.new("backends")
@@ -22,7 +25,10 @@ local pdfstring = lpdf.string
local pdfverbose = lpdf.verbose
local pdfobject = lpdf.object
-local lower, gmatch = string.lower, string.gmatch
+local addtoinfo, injectxmpinfo, insertxmpinfo = lpdf.addtoinfo, lpdf.injectxmpinfo, lpdf.insertxmpinfo
+
+local lower, gmatch, format, find = string.lower, string.gmatch, string.format, string.find
+local concat, serialize = table.concat, table.serialize
local channels = {
gray = 1,
@@ -38,90 +44,587 @@ local prefixes = {
cmyk = "DefaultCMYK",
}
-local profiles = { }
-local defaults = { }
-local intents = pdfarray()
-local lastprofile = nil
-
-function codeinjections.useinternalICCprofile(colorspace,filename)
- local name = lower(file.basename(filename))
- local profile = profiles[name]
- if not profile then
- local colorspace = lower(colorspace)
- local filename = resolvers.findctxfile(filename) or ""
- local channel = channels[colorspace]
- if channel and filename ~= "" then
- local a = pdfdictionary { N = channel }
- profile = pdfobject {
- compresslevel = 0,
- immediate = true, -- !
- type = "stream",
- file = filename,
- attr = a(),
- }
- profiles[name] = profile
+local pdfxspecification, pdfxformat = nil, nil
+
+-- * correspondent document wide flags (write once) needed for permission tests
+
+local pdfx = {
+ ["version"] = {
+ external_icc_profiles = 1.4, -- 'p' in name; URL reference of output intent
+ jbig2_compression = 1.4,
+ jpeg2000_compression = 1.5, -- not supported yet
+ nchannel_colorspace = 1.6, -- 'n' in name; n-channel colorspace support
+ open_prepress_interface = 1.3, -- 'g' in name; reference to external graphics
+ opentype_fonts = 1.6,
+ optional_content = 1.5,
+ transparency = 1.4,
+ object_compression = 1.5,
+ },
+ ["default"] = {
+ pdf_version = 1.7, -- todo: block tex primitive
+ format_name = "default",
+ gray_scale = true,
+ cmyk_colors = true,
+ rgb_colors = true,
+ spot_colors = true,
+ calibrated_rgb_colors = true, -- unknown
+ cielab_colors = true, -- unknown
+ nchannel_colorspace = true, -- unknown
+ internal_icc_profiles = true, -- controls profile inclusion
+ external_icc_profiles = true, -- controls profile inclusion
+ include_intents = true,
+ open_prepress_interface = true, -- unknown
+ opentype_fonts = true, -- out of our control
+ optional_content = true, -- todo: block at lua level
+ transparency = true, -- todo: block at lua level
+ jbig2_compression = true, -- todo: block at lua level
+ jpeg2000_compression = true, -- todo: block at lua level
+ inject_metadata = function()
+ -- nothing
+ end
+ },
+ ["pdf/x-1a:2001"] = {
+ pdf_version = 1.3,
+ format_name = "PDF/X-1a:2001",
+ gray_scale = true,
+ cmyk_colors = true,
+ spot_colors = true,
+ internal_icc_profiles = true,
+ inject_metadata = function()
+ addtoinfo("GTS_PDFXVersion","PDF/X-1a:2001")
+ injectxmpinfo("xml://rdf:RDF","<rdf:Description rdf:about='' xmlns:pdfxid='http://www.npes.org/pdfx/ns/id/'><pdfxid:GTS_PDFXVersion>PDF/X-1a:2001</pdfxid:GTS_PDFXVersion></rdf:Description>",false)
+ end
+ },
+ ["pdf/x-1a:2003"] = {
+ pdf_version = 1.4,
+ format_name = "PDF/X-1a:2003",
+ gray_scale = true,
+ cmyk_colors = true,
+ spot_colors = true,
+ internal_icc_profiles = true,
+ inject_metadata = function()
+ addtoinfo("GTS_PDFXVersion","PDF/X-1a:2003")
+ injectxmpinfo("xml://rdf:RDF","<rdf:Description rdf:about='' xmlns:pdfxid='http://www.npes.org/pdfx/ns/id/'><pdfxid:GTS_PDFXVersion>PDF/X-1a:2003</pdfxid:GTS_PDFXVersion></rdf:Description>",false)
+ end
+ },
+ ["pdf/x-3:2002"] = {
+ pdf_version = 1.3,
+ format_name = "PDF/X-3:2002",
+ gray_scale = true,
+ cmyk_colors = true,
+ rgb_colors = true,
+ calibrated_rgb_colors = true,
+ spot_colors = true,
+ cielab_colors = true,
+ internal_icc_profiles = true,
+ include_intents = true,
+ inject_metadata = function()
+ addtoinfo("GTS_PDFXVersion","PDF/X-3:2002")
+ end
+ },
+ ["pdf/x-3:2003"] = {
+ pdf_version = 1.4,
+ format_name = "PDF/X-3:2003",
+ gray_scale = true,
+ cmyk_colors = true,
+ rgb_colors = true,
+ calibrated_rgb_colors = true,
+ spot_colors = true,
+ cielab_colors = true,
+ internal_icc_profiles = true,
+ include_intents = true,
+ jbig2_compression = true,
+ inject_metadata = function()
+ addtoinfo("GTS_PDFXVersion","PDF/X-3:2003")
+ end
+ },
+ ["pdf/x-4"] = {
+ pdf_version = 1.6,
+ format_name = "PDF/X-4",
+ gray_scale = true,
+ cmyk_colors = true,
+ rgb_colors = true,
+ calibrated_rgb_colors = true,
+ spot_colors = true,
+ cielab_colors = true,
+ internal_icc_profiles = true,
+ include_intents = true,
+ opentype_fonts = true,
+ optional_content = true,
+ transparency = true,
+ jbig2_compression = true,
+ jpeg2000_compression = true,
+ inject_metadata = function()
+ injectxmpinfo("xml://rdf:RDF","<rdf:Description rdf:about='' xmlns:pdfxid='http://www.npes.org/pdfx/ns/id/'><pdfxid:GTS_PDFXVersion>PDF/X-4</pdfxid:GTS_PDFXVersion></rdf:Description>",false)
+ insertxmpinfo("xml://rdf:Description/xmpMM:InstanceID","<xmpMM:VersionID>1</xmpMM:VersionID>",false)
+ insertxmpinfo("xml://rdf:Description/xmpMM:InstanceID","<xmpMM:RenditionClass>default</xmpMM:RenditonClass>",false)
+ end
+ },
+ ["pdf/x-4p"] = {
+ pdf_version = 1.6,
+ format_name = "PDF/X-4p",
+ gray_scale = true,
+ cmyk_colors = true,
+ rgb_colors = true,
+ calibrated_rgb_colors = true,
+ spot_colors = true,
+ cielab_colors = true,
+ internal_icc_profiles = true,
+ external_icc_profiles = true,
+ include_intents = true,
+ opentype_fonts = true,
+ optional_content = true,
+ transparency = true,
+ jbig2_compression = true,
+ jpeg2000_compression = true,
+ nchannel_colorspace = false,
+ inject_metadata = function()
+ injectxmpinfo("xml://rdf:RDF","<rdf:Description rdf:about='' xmlns:pdfxid='http://www.npes.org/pdfx/ns/id/'><pdfxid:GTS_PDFXVersion>PDF/X-4p</pdfxid:GTS_PDFXVersion></rdf:Description>",false)
+ insertxmpinfo("xml://rdf:Description/xmpMM:InstanceID","<xmpMM:VersionID>1</xmpMM:VersionID>",false)
+ insertxmpinfo("xml://rdf:Description/xmpMM:InstanceID","<xmpMM:RenditionClass>default</xmpMM:RenditonClass>",false)
+ end
+ },
+ ["pdf/x-5g"] = {
+ pdf_version = 1.6,
+ format_name = "PDF/X-5g",
+ gray_scale = true,
+ cmyk_colors = true,
+ rgb_colors = true,
+ calibrated_rgb_colors = true,
+ spot_colors = true,
+ cielab_colors = true,
+ internal_icc_profiles = true,
+ include_intents = true,
+ open_prepress_interface = true,
+ opentype_fonts = true,
+ optional_content = true,
+ transparency = true,
+ jbig2_compression = true,
+ jpeg2000_compression = true,
+ inject_metadata = function()
+ -- todo
+ end
+ },
+ ["pdf/x-5pg"] = {
+ pdf_version = 1.6,
+ format_name = "PDF/X-5pg",
+ gray_scale = true,
+ cmyk_colors = true,
+ rgb_colors = true,
+ calibrated_rgb_colors = true,
+ spot_colors = true,
+ cielab_colors = true,
+ internal_icc_profiles = true,
+ external_icc_profiles = true,
+ include_intents = true,
+ open_prepress_interface = true,
+ opentype_fonts = true,
+ optional_content = true,
+ transparency = true,
+ jbig2_compression = true,
+ jpeg2000_compression = true,
+ inject_metadata = function()
+ -- todo
+ end
+ },
+ ["pdf/x-5n"] = {
+ pdf_version = 1.6,
+ format_name = "PDF/X-5n",
+ gray_scale = true,
+ cmyk_colors = true,
+ rgb_colors = true,
+ calibrated_rgb_colors = true,
+ spot_colors = true,
+ cielab_colors = true,
+ internal_icc_profiles = true,
+ include_intents = true,
+ opentype_fonts = true,
+ optional_content = true,
+ transparency = true,
+ jbig2_compression = true,
+ jpeg2000_compression = true,
+ nchannel_colorspace = true,
+ inject_metadata = function()
+ -- todo
+ end
+ }
+}
+
+lpdf.pdfx = pdfx -- it does not hurt to have this one visible
+
+local filenames = {
+ "colorprofiles.xml",
+ "colorprofiles.lua",
+}
+
+local function locatefile(filename)
+ local fullname = resolvers.find_file(filename,"icc")
+ if not fullname or fullname == "" then
+ fullname = resolvers.finders.loc(filename) -- could be specific to the project
+ end
+ return fullname or ""
+end
+
+local function loadprofile(name,filename)
+ local profile = false
+ local databases = filename and filename ~= "" and aux.settings_to_array(filename) or filenames
+ for i=1,#databases do
+ local filename = locatefile(databases[i])
+ if filename and filename ~= "" then
+ local suffix = file.extname(filename)
+ local lname = lower(name)
+ if suffix == "xml" then
+ local xmldata = xml.load(filename) -- no need for caching it
+ if xmldata then
+ profile = xml.filter(xmldata,format('xml://profiles/profile/(info|filename)[lower(text())=="%s"]/../table()',lname))
+ end
+ elseif suffix == "lua" then
+ local luadata = loadfile(filename)
+ luadata = ludata and luadata()
+ if luadata then
+ profile = luadata[name] or luadata[lname] -- hashed
+ if not profile then
+ for i=1,#luadata do
+ local li = luadata[i]
+ if lower(li.info) == lname then -- indexed
+ profile = li
+ break
+ end
+ end
+ end
+ end
+ end
+ if profile then
+ if next(profile) then
+ report_backends("profile specification '%s' loaded from '%s'",name,filename)
+ return profile
+ elseif trace_pdfx then
+ report_backends("profile specification '%s' loaded from '%s' but empty",name,filename)
+ end
+ return false
+ end
end
end
- lastprofile = profile
- return profile
+ report_backends("profile specification '%s' not found in '%s'",name,concat(filenames, ", "))
end
-function codeinjections.useexternalICCprofile(colorspace,name,urls,checksum,version)
- local profile = profiles[name]
- if not profile then
+local function urls(url)
+ if not url or url == "" then
+ return nil
+ else
local u = pdfarray()
- for url in gmatch(urls,"([^, ]+)") do
- u[#u+1] = pdfdictionary {
- FS = pdfconstant("URL"),
- F = pdfstring(url),
+ for url in gmatch(url,"([^, ]+)") do
+ if find(url,"^http") then
+ u[#u+1] = pdfdictionary {
+ FS = pdfconstant("URL"),
+ F = pdfstring(url),
+ }
+ end
+ end
+ return u
+ end
+end
+
+local function profilename(filename)
+ return lower(file.basename(filename))
+end
+
+local internalprofiles = { }
+
+local function handleinternalprofile(s,include)
+ local filename, colorspace = s.filename or "", s.colorspace or ""
+ if filename == "" or colorspace == "" then
+ report_backends("error in internal profile specification: %s",serialize(s,false))
+ else
+ local tag = profilename(filename)
+ local profile = internalprofiles[tag]
+ if not profile then
+ local colorspace = lower(colorspace)
+ if include then
+ -- local fullname = resolvers.findctxfile(filename) or ""
+ local fullname = locatefile(filename)
+ local channel = channels[colorspace] or nil
+ if fullname == "" then
+ report_backends("error, couldn't locate profile '%s'",filename)
+ elseif not channel then
+ report_backends("error, couldn't resolve channel entry for colorspace '%s'",colorspace)
+ else
+ local a = pdfdictionary { N = channel }
+ profile = pdfobject { -- does a flush too
+ compresslevel = 0,
+ immediate = true, -- !
+ type = "stream",
+ file = fullname,
+ attr = a(),
+ }
+ internalprofiles[tag] = profile
+ if trace_pdfx then
+ report_backends("including '%s' color profile from '%s'",colorspace,fullname)
+ end
+ end
+ else
+ internalprofiles[tag] = true
+ if trace_pdfx then
+ report_backends("not including '%s' color profile '%s'",colorspace,filename)
+ end
+ end
+ end
+ return profile
+ end
+end
+
+local externalprofiles = { }
+
+local function handleexternalprofile(s,include) -- specification (include ignored here)
+ local name, url, filename, checksum, version, colorspace =
+ s.info or s.filename or "", s.url or "", s.filename or "", s.checksum or "", s.version or "", s.colorspace or ""
+ if false then -- somehow leads to invalid pdf
+ local iccprofile = colors.iccprofile(filename)
+ if iccprofile then
+ name = name ~= "" and name or iccprofile.tags.desc.cleaned or ""
+ url = url ~= "" and url or iccprofile.tags.dmnd.cleaned or ""
+ checksum = checksum ~= "" and checksum or file.checksum(iccprofile.fullname) or ""
+ version = version ~= "" and version or iccprofile.header.version or ""
+ colorspace = colorspace ~= "" and colorspace or iccprofile.header.colorspace or ""
+ end
+ -- table.print(iccprofile)
+ end
+ if name == "" or url == "" or checksum == "" or version == "" or colorspace == "" or filename == "" then
+ local profile = handleinternalprofile(s)
+ if profile then
+ report_backends("incomplete external profile specification, falling back to internal")
+ else
+ report_backends("error in external profile specification: %s",serialize(s,false))
+ end
+ else
+ local tag = profilename(filename)
+ local profile = externalprofiles[tag]
+ if not profile then
+ local d = pdfdictionary {
+ ProfileName = name, -- not file name!
+ ProfileCS = colorspace,
+ URLs = urls(url), -- array containing at least one URL
+ CheckSum = pdfverbose { "<", lower(checksum), ">" }, -- 16byte MD5 hash
+ ICCVersion = pdfverbose { "<", version, ">" }, -- bytes 8..11 from the header of the ICC profile, as a hex string
}
+ profile = pdfflushobject(d)
+ externalprofiles[tag] = profile
end
- local d = pdfdictionary {
- ProfileName = name, -- not file name!
- ProfileCS = colorspace,
- URLs = u, -- array containing at least one URL
- CheckSum = pdfverbose { "<", checksum, ">" }, -- 16byte MD5 hash
- ICCVersion = pdfverbose { "<", version, ">" }, -- bytes 8..11 from the header of the ICC profile, as a hex string
- }
- local n = pdfflushobject(d)
- profiles[name] = n
- lastprofile = n
- return n
+ return profile
end
end
-local loaded = { }
+local loadeddefaults = { }
-function codeinjections.useICCdefaultprofile(colorspace,filename)
- local colorspace = lower(colorspace)
- if not loaded[colorspace] then
- local n = codeinjections.useinternalICCprofile(colorspace,filename)
- if n then
+local function handledefaultprofile(s) -- specification
+ local filename, colorspace = s.filename or "", lower(s.colorspace or "")
+ if filename == "" or colorspace == "" then
+ report_backends("error in default profile specification: %s",serialize(s,false))
+ elseif not loadeddefaults[colorspace] then
+ local tag = profilename(filename)
+ local n = internalprofiles[tag] -- or externalprofiles[tag]
+ if n == true then -- not internalized
+ report_backends("no default profile '%s' for colorspace '%s'",filename,colorspace)
+ elseif n then
local a = pdfarray {
pdfconstant("ICCBased"),
pdfreference(n),
}
-- used in page /Resources, so this must be inserted at runtime
lpdf.adddocumentcolorspace(prefixes[colorspace],pdfreference(pdfflushobject(a)))
- if trace_colorprofiles then
- report_backends("including color profile '%s' from '%s'",colorspace,filename)
+ loadeddefaults[colorspace] = true
+ report_backends("setting '%s' as default '%s' color space",filename,colorspace)
+ else
+ report_backends("no default profile '%s' for colorspace '%s'",filename,colorspace)
+ end
+ elseif trace_pdfx then
+ report_backends("a default '%s' colorspace is already in use",colorspace)
+ end
+end
+
+local loadedintents, intents = { }, pdfarray()
+
+local function handleoutputintent(s)
+ local name, url, filename, id, outputcondition, info = s.info or s.filename or "", s.url or "", s.filename or "", s.id or "", s.outputcondition or "", s.info or ""
+ if name == "" or id == "" then
+ report_backends("error in output intent specification: %s",serialize(s,false))
+ elseif not loadedintents[name] then
+ local tag = profilename(filename)
+ local internal, external = internalprofiles[tag], externalprofiles[tag]
+ if internal or external then
+ local d = {
+ Type = pdfconstant("OutputIntent"),
+ S = pdfconstant("GTS_PDFX"),
+ OutputConditionIdentifier = id,
+ RegistryName = url,
+ OutputCondition = outputcondition,
+ Info = info,
+ }
+ if internal and internal ~= true then
+ d.DestOutputProfile = pdfreference(internal)
+ elseif external and external ~= true then
+ d.DestOutputProfileRef = pdfreference(external)
+ else
+ report_backends("omitting reference to profile for intent '%s'",name)
+ end
+ intents[#intents+1] = pdfreference(pdfflushobject(pdfdictionary(d)))
+ if trace_pdfx then
+ report_backends("setting output intent to '%s' with id '%s' (entry %s)",name,id,#intents)
+ end
+ else
+ report_backends("invalid output intent '%s'",name)
+ end
+ loadedintents[name] = true
+ elseif trace_pdfx then
+ report_backends("an output intent with name '%s' is already in use",name)
+ end
+end
+
+local function handleiccprofile(message,name,filename,how,options,alwaysinclude)
+ if name and name ~= "" then
+ local list = aux.settings_to_array(name)
+ for i=1,#list do
+ local name = list[i]
+ local profile = loadprofile(name,filename)
+ if trace_pdfx then
+ report_backends("handling %s '%s'",message,name)
+ end
+ if profile then
+ if pdfxspecification.cmyk_colors then
+ profile.colorspace = profile.colorspace or "CMYK"
+ else
+ profile.colorspace = profile.colorspace or "RGB"
+ end
+ local external = pdfxspecification.external_icc_profiles
+ local internal = pdfxspecification.internal_icc_profiles
+ local include = pdfxspecification.include_intents
+ local always, never = options[variables.always], options[variables.never]
+ if always or alwaysinclude then
+ if trace_pdfx then
+ report_backends("forcing internal profiles") -- can make preflight unhappy
+ end
+ -- internal, external = true, false
+ internal, external = not never, false
+ elseif never then
+ if trace_pdfx then
+ report_backends("forcing external profiles") -- can make preflight unhappy
+ end
+ internal, external = false, true
+ end
+ if external then
+ if trace_pdfx then
+ report_backends("handling external profiles cf. '%s'",name)
+ end
+ handleexternalprofile(profile,false)
+ else
+ if trace_pdfx then
+ report_backends("handling internal profiles cf. '%s'",name)
+ end
+ if internal then
+ handleinternalprofile(profile,always or include)
+ else
+ report_backends("no profile inclusion for '%s'",pdfxformat)
+ end
+ end
+ how(profile)
+ elseif trace_pdfx then
+ report_backends("unknown profile '%s'",name)
+ end
+ end
+ end
+end
+
+local function flushoutputintents()
+ if #intents > 0 then
+ lpdf.addtocatalog("OutputIntents",pdfreference(pdfflushobject(intents)))
+ end
+end
+
+lpdf.registerdocumentfinalizer(flushoutputintents,2,"output intents")
+
+directives.register("backend.format", function(v)
+ codeinjections.setformat(v)
+end)
+
+function codeinjections.setformat(s)
+ local format, level, profile, intent, option, filename =
+ s.format or "", s.level or "", s.profile or "", s.intent or "", s.option or "", s.file or ""
+ if format == "" then
+ -- we ignore this as we hook it in \everysetupbackend
+ else
+ local spec = pdfx[lower(format)]
+ if spec then
+ pdfxspecification, pdfxformat = spec, spec.format_name
+ report_backends("setting format to '%s'",pdfxformat)
+ local pdf_version, inject_metadata = spec.pdf_version * 10, spec.inject_metadata
+ local majorversion, minorversion = math.div(pdf_version,10), math.mod(pdf_version,10)
+ local objectcompression = pdf_version >= 15
+ tex.pdfcompresslevel = level and tonumber(level) or tex.pdfobjcompresslevel -- keep default
+ tex.pdfobjcompresslevel = objectcompression and tex.pdfobjcompresslevel or 0 -- keep default
+ tex.pdfmajorversion = majorversion
+ tex.pdfminorversion = minorversion
+ report_backends("forcing pdf version %s.%s, compression level %s, object compression %sabled",
+ majorversion,minorversion,tex.pdfcompresslevel,compression and "en" or "dis")
+ --
+ -- context.setupcolors { -- not this way
+ -- cmyk = spec.cmyk_colors and variables.yes or variables.no,
+ -- rgb = spec.rgb_colors and variables.yes or variables.no,
+ -- }
+ --
+ colors.forcesupport(
+ spec.gray_scale or false,
+ spec.rgb_colors or false,
+ spec.cmyk_colors or false,
+ spec.spot_colors or false,
+ spec.nchannel_colorspace or false
+ )
+ transparencies.forcesupport(
+ spec.transparency or false
+ )
+ viewerlayers.forcesupport(
+ spec.optional_content or false
+ )
+ viewerlayers.setfeatures(
+ spec.has_order or false -- new
+ )
+ --
+ -- spec.jbig2_compression : todo, block in image inclusion
+ -- spec.jpeg2000_compression : todo, block in image inclusion
+ --
+ if type(inject_metadata) == "function" then
+ inject_metadata()
+ end
+ local options = aux.settings_to_hash(option)
+ handleiccprofile("color profile",profile,filename,handledefaultprofile,options,true)
+ handleiccprofile("output intent",intent,filename,handleoutputintent,options,false)
+ if trace_format then
+ for k, v in table.sortedhash(pdfx.default) do
+ local v = pdfxspecification[k]
+ if type(v) ~= "function" then
+ report_backends("%s = %s",k,tostring(v or false))
+ end
+ end
end
- elseif trace_colorprofiles then
- report_backends("no color profile '%s' in '%s'",colorspace,filename)
+ function codeinjections.setformat(noname)
+ report_backends("error, format is already set to '%s', ignoring '%s'",pdfxformat,noname)
+ end
+ else
+ report_backends("error, format '%s' is not supported",format)
end
- loaded = true
- elseif trace_colorprofiles then
- report_backends("color profile '%s' is already included",colorspace)
end
end
+function codeinjections.getformatoption(key)
+ return pdfxspecification and pdfxspecification[key]
+end
+
--~ The following is somewhat cleaner but then we need to flag that there are
--~ color spaces set so that the page flusher does not optimize the (at that
--~ moment) still empty array away. So, next(d_colorspaces) should then become
--~ a different test, i.e. also on flag. I'll add that when we need more forward
--~ referencing.
--~
---~ local function embedprofile = codeinjections.useICCdefaultprofile
+--~ local function embedprofile = handledefaultprofile
--~
--~ local function flushembeddedprofiles()
--~ for colorspace, filename in next, defaults do
@@ -129,37 +632,8 @@ end
--~ end
--~ end
--~
---~ function codeinjections.useICCdefaultprofile(colorspace,filename)
---~ defaults[lower(colorspace)] = filename
+--~ local function handledefaultprofile(s)
+--~ defaults[lower(s.colorspace)] = s.filename
--~ end
--~
--~ lpdf.registerdocumentfinalizer(flushembeddedprofiles,1,"embedded color profiles")
-
-function codeinjections.usePDFXoutputintent(id,name,reference,outputcondition,info)
- local d = {
- Type = pdfconstant("OutputIntent"),
- S = pdfconstant("GTS_PDFX"),
- OutputConditionIdentifier = id,
- RegistryName = name,
- OutputCondition = outputcondition,
- Info = info,
- }
- local icc = lastprofile
- if reference == variables.yes then
- d["DestOutputProfileRef"] = pdfreference(icc)
- else
- d["DestOutputProfile"] = pdfreference(icc)
- end
- intents[#intents+1] = pdfreference(pdfflushobject(pdfdictionary(d)))
- if trace_colorprofiles then
- report_backends("adding output intent '%s' with id '%s' (entry %s)",name,id,#intents)
- end
-end
-
-local function flushoutputintents()
- if #intents > 0 then
- lpdf.addtocatalog("OutputIntents",pdfreference(pdfflushobject(intents)))
- end
-end
-
-lpdf.registerdocumentfinalizer(flushoutputintents,2,"output intents")
diff --git a/tex/context/base/lpdf-pdx.mkiv b/tex/context/base/lpdf-pdx.mkiv
index 738cb3f58..cd13ba24c 100644
--- a/tex/context/base/lpdf-pdx.mkiv
+++ b/tex/context/base/lpdf-pdx.mkiv
@@ -13,55 +13,19 @@
\writestatus{loading}{ConTeXt Backend Macros / PDF-X}
-\unprotect
-
-% declare default color space
-% all device based entries of the same CS are mapped to the defined ICCprofile then;
-% i.e. /DeviceRGB --> /ICCBased RGB profile
-% TODO: allow multiple default profiles (one per CS)
-%
-% external ICC profile dictionary (PDF/X-4p and PDF/X-5p)
-%
-% - ProfileName (not file name!)
-% - URLs (array containing at least one URL); the keyword FSA is wrong!
-% - CheckSum (16byte MD5 hash)
-% - ProfileCS (GRAY,RGB,CMYK)
-% - ICCVersion (bytes 8..11 from the header of the ICC profile, as a hex string)
-
\registerctxluafile{lpdf-pdx}{1.001}
-\def\douseinternalICCprofile[#1]%
- {\getparameters[\??ic][colorspace=,filename=,#1]%
- \ctxlua{backends.codeinjections.useinternalICCprofile(
- "\@@iccolorspace","\@@icfilename")}}
-
-% create a dictionary for an external ICC profile (PDF/X-4p and PDF/X-5pg only)
-% the referenced ICC profile is not embedded
-
-\def\douseexternalICCprofile[#1]%
- {\getparameters[\??ic][colorspace=,name=,url=,checksum=,version=,#1]%
- \ctxlua{backends.codeinjections.useexternalICCprofile(
- "\@@iccolorspace","\@@icname","\@@icurl","\@@icchecksum","\@@icversion")}}
-
-% use an ICC profile as default colorspace for all device dependend colors;
-% all device based entries of the same CS are mapped to the defined ICCprofile then;
-% i.e. /DeviceRGB --> /ICCBased RGB profile; always embed the profile!
-
-\def\douseICCdefaultprofile[#1]%
- {\getparameters[\??ic][colorspace=,filename=,#1]%
- \ctxlua{backends.codeinjections.useICCdefaultprofile(
- "\@@iccolorspace","\@@icfilename")}}
-
-% embedding rules for output intent profile differ for the PDF/X versions
-
-\def\dousePDFXoutputintent[#1]%
- {\getparameters[\??ic][reference=\v!yes,outputcondition=,info=,id=,name=,#1]%
- \ctxlua{backends.codeinjections.usePDFXoutputintent(
- "\@@icid","\@@icname","\@@icreference","\@@icoutputcondition","\@@icinfo")}}
+\unprotect
-\def\useinternalICCprofile{\dosingleempty\douseinternalICCprofile}
-\def\useexternalICCprofile{\dosingleempty\douseexternalICCprofile}
-\def\useICCdefaultprofile {\dosingleempty\douseICCdefaultprofile }
-\def\usePDFXoutputintent {\dosingleempty\dousePDFXoutputintent }
+\appendtoks
+ \doifsomething{\backendparameter\c!format}
+ {\ctxlua{backends.codeinjections.setformat {
+ format = "\backendparameter\c!format",
+ level = "\backendparameter\c!level",
+ option = "\backendparameter\c!option",
+ profile = "\backendparameter\c!profile",
+ intent = "\backendparameter\c!intent",
+ }}}%
+\to \everysetupbackend
\protect \endinput
diff --git a/tex/context/base/lpdf-ren.lua b/tex/context/base/lpdf-ren.lua
index 0e4e34c2a..f942ec2c9 100644
--- a/tex/context/base/lpdf-ren.lua
+++ b/tex/context/base/lpdf-ren.lua
@@ -29,11 +29,12 @@ local executers = jobreferences.executers
local variables = interfaces.variables
-local pdfconstant = lpdf.constant
-local pdfdictionary = lpdf.dictionary
-local pdfarray = lpdf.array
-local pdfreference = lpdf.reference
-local pdfflushobject = lpdf.flushobject
+local pdfconstant = lpdf.constant
+local pdfdictionary = lpdf.dictionary
+local pdfarray = lpdf.array
+local pdfreference = lpdf.reference
+local pdfflushobject = lpdf.flushobject
+local pdfreserveobject = lpdf.reserveobject
local pdf_ocg = pdfconstant("OCG")
local pdf_ocmd = pdfconstant("OCMD")
@@ -54,23 +55,84 @@ function backends.pdf.layerreference(name)
return pdfln[name]
end
+-- only flush layers that are used
+
+--~ function codeinjections.defineviewerlayer(specification)
+--~ if textlayers then
+--~ local tag = specification.tag
+--~ -- todo: reserve
+--~ local n = pdfdictionary {
+--~ Type = pdf_ocg,
+--~ Name = specification.title or "unknown",
+--~ Intent = ((specification.kind > 0) and pdf_design) or nil, -- disable layer hiding by user
+--~ Usage = ((specification.printable == variables.no) and lpdf_usage) or nil , -- printable or not
+--~ }
+--~ local nr = pdfreference(pdfflushobject(n))
+--~ pdfln[tag] = nr -- was n
+--~ local d = pdfdictionary {
+--~ Type = pdf_ocmd,
+--~ OCGs = pdfarray { nr },
+--~ }
+--~ local dr = pdfreference(pdfflushobject(d))
+--~ pdfld[tag] = dr
+--~ textlayers[#textlayers+1] = nr
+--~ if specification.visible == variables.start then
+--~ videlayers[#videlayers+1] = nr
+--~ else
+--~ hidelayers[#hidelayers+1] = nr
+--~ end
+--~ pagelayers[tag] = dr -- check
+--~ end
+--~ end
+
+--~ local function flushtextlayers()
+--~ if textlayers and #textlayers > 0 then
+--~ local d = pdfdictionary {
+--~ OCGs = textlayers,
+--~ D = pdfdictionary {
+--~ Order = textlayers,
+--~ ON = videlayers,
+--~ OFF = hidelayers,
+--~ },
+--~ }
+--~ lpdf.addtocatalog("OCProperties",d)
+--~ textlayers = nil
+--~ end
+--~ end
+
+--~ local function flushpagelayers() -- we can share these
+--~ if next(pagelayers) then
+--~ lpdf.addtopageresources("Properties",pagelayers)
+--~ end
+--~ end
+
+local pagelayers, pagelayersreference, cache = nil, nil, { }
+
function codeinjections.defineviewerlayer(specification)
- if textlayers then
+ if viewerlayers.supported and textlayers then
+ if not pagelayers then
+ pagelayers = pdfdictionary()
+ pagelayersreference = pdfreserveobject()
+ end
local tag = specification.tag
-- todo: reserve
- local n = pdfdictionary {
+ local nn = pdfreserveobject()
+ local nr = pdfreference(nn)
+ local nd = pdfdictionary {
Type = pdf_ocg,
Name = specification.title or "unknown",
Intent = ((specification.kind > 0) and pdf_design) or nil, -- disable layer hiding by user
Usage = ((specification.printable == variables.no) and lpdf_usage) or nil , -- printable or not
}
- local nr = pdfreference(pdfflushobject(n))
+ cache[#cache+1] = { nn, nd }
pdfln[tag] = nr -- was n
- local d = pdfdictionary {
+ local dn = pdfreserveobject()
+ local dr = pdfreference(dn)
+ local dd = pdfdictionary {
Type = pdf_ocmd,
OCGs = pdfarray { nr },
}
- local dr = pdfreference(pdfflushobject(d))
+ cache[#cache+1] = { dn, dd }
pdfld[tag] = dr
textlayers[#textlayers+1] = nr
if specification.visible == variables.start then
@@ -83,23 +145,34 @@ function codeinjections.defineviewerlayer(specification)
end
local function flushtextlayers()
- if textlayers and #textlayers > 0 then
- local d = pdfdictionary {
- OCGs = textlayers,
- D = pdfdictionary {
- Order = textlayers,
- ON = videlayers,
- OFF = hidelayers,
- },
- }
- lpdf.addtocatalog("OCProperties",d)
- textlayers = nil
+ if viewerlayers.supported then
+ if pagelayers then
+ pdfflushobject(pagelayersreference,pagelayers)
+ end
+ for i=1,#cache do
+ local ci = cache[i]
+ pdfflushobject(ci[1],ci[2])
+ end
+ if textlayers and #textlayers > 0 then -- we can group them if needed, like: layout
+ local d = pdfdictionary {
+ OCGs = textlayers,
+ D = pdfdictionary {
+ Name = "Document",
+ Order = (viewerlayers.hasorder and textlayers) or nil,
+ ON = videlayers,
+ OFF = hidelayers,
+ BaseState = pdfconstant("On"),
+ },
+ }
+ lpdf.addtocatalog("OCProperties",d)
+ textlayers = nil
+ end
end
end
-local function flushpagelayers()
- if next(pagelayers) then
- lpdf.addtopageresources("Properties",pagelayers)
+local function flushpagelayers() -- we can share these
+ if pagelayers then
+ lpdf.addtopageresources("Properties",pdfreference(pagelayersreference)) -- we could cache this
end
end
diff --git a/tex/context/base/lpdf-tag.lua b/tex/context/base/lpdf-tag.lua
index 591def8b1..c5c480458 100644
--- a/tex/context/base/lpdf-tag.lua
+++ b/tex/context/base/lpdf-tag.lua
@@ -27,12 +27,14 @@ local pdfpagereference = lpdf.pagereference
local new_pdfliteral = nodes.pdfliteral
-local hlist = node.id("hlist")
-local vlist = node.id("vlist")
-local glyph = node.id("glyph")
-local glue = node.id("glue")
-local disc = node.id("disc")
-local whatsit = node.id("whatsit")
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local glyph = nodecodes.glyph
+local glue = nodecodes.glue
+local disc = nodecodes.disc
+local whatsit = nodecodes.whatsit
local a_tagged = attributes.private('tagged')
local a_image = attributes.private('image')
diff --git a/tex/context/base/luat-bwc.lua b/tex/context/base/luat-bwc.lua
new file mode 100644
index 000000000..e41f241dc
--- /dev/null
+++ b/tex/context/base/luat-bwc.lua
@@ -0,0 +1,27 @@
+if not modules then modules = { } end modules ['luat-bwc'] = {
+ version = 1.001,
+ comment = "companion to luat-lib.mkiv",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+ copyright = "PRAGMA ADE / ConTeXt Development Team",
+ license = "see context related readme files"
+}
+
+-- backward compatibility
+
+local box = tex.box
+
+tex.wd = { } setmetatable(tex.wd, {
+ __index = function(t,k) local bk = box[k] return bk and bk.width or 0 end,
+ __newindex = function(t,k,v) local bk = box[k] if bk then bk.width = v end end,
+}
+
+tex.ht = { } setmetatable(tex.ht, {
+ __index = function(t,k) local bk = box[k] return bk and bk.height or 0 end,
+ __newindex = function(t,k,v) local bk = box[k] if bk then bk.height = v end end,
+}
+
+tex.dp = { } setmetatable(tex.dp, {
+ __index = function(t,k) local bk = box[k] return bk and bk.depth or 0 end,
+ __newindex = function(t,k,v) local bk = box[k] if bk then bk.depth = v end end,
+}
+
diff --git a/tex/context/base/luat-cod.lua b/tex/context/base/luat-cod.lua
index a5239e7ae..8d61c269a 100644
--- a/tex/context/base/luat-cod.lua
+++ b/tex/context/base/luat-cod.lua
@@ -95,6 +95,20 @@ if not environment.luafilechunk then
end
+if not environment.engineflags then
+ local engineflags = { }
+ for i=-10,#arg do
+ local a = arg[i]
+ if a then
+ local flag, content = match(a,"^%-%-([^=]+)=?(.-)$")
+ if flag then
+ engineflags[flag] = content or ""
+ end
+ end
+ end
+ environment.engineflags = engineflags
+end
+
-- We need a few premature callbacks in the format generator. We
-- also do this when the format is loaded as otherwise we get
-- a kpse error when disabled. Thi sis en angine issue that will
diff --git a/tex/context/base/luat-fmt.lua b/tex/context/base/luat-fmt.lua
index d9c0e38c8..07a7a1490 100644
--- a/tex/context/base/luat-fmt.lua
+++ b/tex/context/base/luat-fmt.lua
@@ -8,6 +8,21 @@ if not modules then modules = { } end modules ['luat-fmt'] = {
-- helper for mtxrun
+local quote = string.quote
+
+local function primaryflags()
+ local trackers = environment.argument("trackers")
+ local directives = environment.argument("directives")
+ local flags = ""
+ if trackers and trackers ~= "" then
+ flags = flags .. "--trackers=" .. quote(trackers)
+ end
+ if directives and directives ~= "" then
+ flags = flags .. "--directives=" .. quote(directives)
+ end
+ return flags
+end
+
function environment.make_format(name)
-- change to format path (early as we need expanded paths)
local olddir = lfs.currentdir()
@@ -68,8 +83,7 @@ function environment.make_format(name)
return
end
-- generate format
- local q = string.quote
- local command = string.format("luatex --ini --lua=%s %s %sdump",q(usedluastub),q(fulltexsourcename),os.platform == "unix" and "\\\\" or "\\")
+ local command = string.format("luatex --ini %s --lua=%s %s %sdump",primaryflags(),quote(usedluastub),quote(fulltexsourcename),os.platform == "unix" and "\\\\" or "\\")
logs.simple("running command: %s\n",command)
os.spawn(command)
-- remove related mem files
@@ -108,7 +122,7 @@ function environment.run_format(name,data,more)
logs.simple("no luc/lua with name: %s",barename)
else
local q = string.quote
- local command = string.format("luatex --fmt=%s --lua=%s %s %s",q(barename),q(luaname),q(data),more ~= "" and q(more) or "")
+ local command = string.format("luatex %s --fmt=%s --lua=%s %s %s",primaryflags(),quote(barename),quote(luaname),quote(data),more ~= "" and quote(more) or "")
logs.simple("running command: %s",command)
os.spawn(command)
end
diff --git a/tex/context/base/luat-lib.mkiv b/tex/context/base/luat-lib.mkiv
index 2a9d5ecd3..3018d32e2 100644
--- a/tex/context/base/luat-lib.mkiv
+++ b/tex/context/base/luat-lib.mkiv
@@ -51,6 +51,7 @@
\registerctxluafile{luat-env}{1.001}
\registerctxluafile{luat-exe}{1.001}
\registerctxluafile{luat-iop}{1.001}
+\registerctxluafile{luat-bwc}{1.001}
\registerctxluafile{lxml-tab}{1.001}
\registerctxluafile{lxml-lpt}{1.001}
diff --git a/tex/context/base/lxml-lpt.lua b/tex/context/base/lxml-lpt.lua
index c3ec2370a..983d631e9 100644
--- a/tex/context/base/lxml-lpt.lua
+++ b/tex/context/base/lxml-lpt.lua
@@ -145,17 +145,19 @@ apply_axis['child'] = function(list)
for l=1,#list do
local ll = list[l]
local dt = ll.dt
- local en = 0
- for k=1,#dt do
- local dk = dt[k]
- if dk.tg then
- collected[#collected+1] = dk
- dk.ni = k -- refresh
- en = en + 1
- dk.ei = en
+ if dt then -- weird that this is needed
+ local en = 0
+ for k=1,#dt do
+ local dk = dt[k]
+ if dk.tg then
+ collected[#collected+1] = dk
+ dk.ni = k -- refresh
+ en = en + 1
+ dk.ei = en
+ end
end
+ ll.en = en
end
- ll.en = en
end
return collected
end
diff --git a/tex/context/base/lxml-xml.lua b/tex/context/base/lxml-xml.lua
index f791ec0f8..6080e4207 100644
--- a/tex/context/base/lxml-xml.lua
+++ b/tex/context/base/lxml-xml.lua
@@ -10,6 +10,7 @@ local finalizers = xml.finalizers.xml
local xmlfilter = xml.filter -- we could inline this one for speed
local xmltostring = xml.tostring
local xmlserialize = xml.serialize
+local xmlcollected = xml.collected
local function first(collected) -- wrong ?
return collected and collected[1]
@@ -286,3 +287,16 @@ end
xml.all = xml.filter
xml.index = xml.position
xml.found = xml.filter
+
+-- a nice one:
+
+local function totable(x)
+ local t = { }
+ for e in xmlcollected(x[1] or x,"/*") do
+ t[e.tg] = xmltostring(e.dt) or ""
+ end
+ return next(t) and t or nil
+end
+
+xml.table = totable
+finalizers.table = totable
diff --git a/tex/context/base/m-punk.mkiv b/tex/context/base/m-punk.mkiv
index 6099ee6f4..3ea738003 100644
--- a/tex/context/base/m-punk.mkiv
+++ b/tex/context/base/m-punk.mkiv
@@ -17,190 +17,195 @@
% ConTeXt MkIV kernel.
\startluacode
-do
- local concat = table.concat
- local chardata = characters.data
- local fontdata = fonts.ids
+local concat = table.concat
+local chardata = characters.data
+local fontdata = fonts.ids
- fonts.mp = fonts.mp or { }
+fonts.mp = fonts.mp or { }
- fonts.mp.version = fonts.mp.version or 1.11
- fonts.mp.inline = true
- fonts.mp.cache = containers.define("fonts", "mp", fonts.mp.version, true)
+fonts.mp.version = fonts.mp.version or 1.15
+fonts.mp.inline = true
+fonts.mp.cache = containers.define("fonts", "mp", fonts.mp.version, true)
- metapost.characters = metapost.characters or { }
+metapost.characters = metapost.characters or { }
-- todo: use table share as in otf
- local characters, descriptions = { }, { }
- local factor, l, n, w, h, d, total, variants = 100, { }, 0, 0, 0, 0, 0, 0, true
-
- -- A next version of mplib will provide the tfm font information which
- -- gives better glyph dimensions, plus additional kerning information.
-
- local flusher = {
- startfigure = function(chrnum,llx,lly,urx,ury)
- l, n = { }, chrnum
- w, h, d = urx - llx, ury, -lly
- total = total + 1
- inline = fonts.mp.inline
- end,
- flushfigure = function(t)
- for i=1, #t do
- l[#l+1] = t[i]
- end
- end,
- stopfigure = function()
- local cd = chardata[n]
- if inline then
- descriptions[n] = {
- -- unicode = n,
- name = cd and cd.adobename,
- width = w*100,
- height = h*100,
- depth = d*100,
- boundingbox = { 0, -d, w, h },
- }
- characters[n] = {
- commands = { -- todo: xforms, should happen in backend
- { "special", "pdf: " .. concat(l," ") },
- }
- }
- else
- descriptions[n] = {
- -- unicode = n,
- name = cd and cd.adobename,
- width = w*100,
- height = h*100,
- depth = d*100,
- boundingbox = { 0, -d, w, h },
- }
- characters[n] = {
- commands = {
- { "image", { stream = concat(l," "), bbox = { 0, -d*65536, w*65536, h*65536 } } },
- }
- }
- end
+local characters, descriptions = { }, { }
+local factor, l, n, w, h, d, total, variants = 100, { }, 0, 0, 0, 0, 0, 0, true
+
+-- A next version of mplib will provide the tfm font information which
+-- gives better glyph dimensions, plus additional kerning information.
+
+local flusher = {
+ startfigure = function(chrnum,llx,lly,urx,ury)
+ l, n = { }, chrnum
+ w, h, d = urx - llx, ury, -lly
+ total = total + 1
+ inline = fonts.mp.inline
+ end,
+ flushfigure = function(t)
+ for i=1, #t do
+ l[#l+1] = t[i]
end
- }
-
- metapost.characters.instances = metapost.characters.instances or 10
-
- function metapost.characters.process(mpxformat, name, instances, scalefactor)
- statistics.starttiming(metapost.characters)
- scalefactor = scalefactor or 1
- instances = instances or metapost.characters.instances or 10
- local fontname = file.removesuffix(file.basename(name))
- local hash = file.robustname(string.format("%s %05i %03i", fontname, scalefactor*1000, instances))
- local lists = containers.read(fonts.mp.cache, hash)
- if not lists then
- statistics.starttiming(flusher)
- -- we can use a format per font
- local data = io.loaddata(resolvers.find_file(name))
- metapost.reset(mpxformat)
- metapost.set_outer_color(2) -- no outer color and no reset either
- lists = { }
- for i=1,instances do
- list = { }
- characters, descriptions = { }, { }
- metapost.process(
- mpxformat,
- {
- "randomseed := " .. i*10 .. ";",
- "scale_factor := " .. scalefactor .. " ;",
- data
- },
- false,
- flusher
- )
- lists[i] = {
- designsize = 655360,
- name = string.format("%s-%03i",hash,i),
- parameters = {
- slant = 0,
- space = 333 * scalefactor,
- space_stretch = 166.5 * scalefactor,
- space_shrink = 111 * scalefactor,
- x_height = 431 * scalefactor,
- quad =1000 * scalefactor,
- extra_space = 0
- },
- ["type"] = "virtual",
- characters = characters,
- descriptions = descriptions,
- -- embedding = "subset",
- -- mkiv:
- spacer = "space",
- unit = 1000,
- shared = { },
- unique = { },
+ end,
+ stopfigure = function()
+ local cd = chardata[n]
+ if inline then
+ descriptions[n] = {
+ -- unicode = n,
+ name = cd and cd.adobename,
+ width = w*100,
+ height = h*100,
+ depth = d*100,
+ boundingbox = { 0, -d, w, h },
+ }
+ characters[n] = {
+ commands = { -- todo: xforms, should happen in backend
+ { "special", "pdf: " .. concat(l," ") },
}
- end
- metapost.reset(mpxformat) -- saves memory
- lists = containers.write(fonts.mp.cache, hash, lists)
- statistics.stoptiming(flusher)
+ }
+ else
+ descriptions[n] = {
+ -- unicode = n,
+ name = cd and cd.adobename,
+ width = w*100,
+ height = h*100,
+ depth = d*100,
+ boundingbox = { 0, -d, w, h },
+ }
+ characters[n] = {
+ commands = {
+ { "image", { stream = concat(l," "), bbox = { 0, -d*65536, w*65536, h*65536 } } },
+ }
+ }
end
- variants = variants + #lists
- statistics.stoptiming(metapost.characters)
- return lists
end
-
- function fonts.vf.aux.combine.commands.metafont(g,v)
- local size = g.specification.size
- local data = metapost.characters.process(v[2],v[3],v[4],size/655360)
- local list, t = { }, { }
- for d=1,#data do
- t = data[d]
- t = fonts.tfm.scale(t, -1000)
- local id = font.nextid()
- t.fonts = { { id = id } }
- fontdata[id] = t
- fonts.vf.aux.compose_characters(t)
- list[d] = font.define(t)
+}
+
+metapost.characters.instances = metapost.characters.instances or 10
+
+function metapost.characters.process(mpxformat, name, instances, scalefactor)
+ statistics.starttiming(metapost.characters)
+ scalefactor = scalefactor or 1
+ instances = instances or metapost.characters.instances or 10
+ local fontname = file.removesuffix(file.basename(name))
+ local hash = file.robustname(string.format("%s %05i %03i", fontname, scalefactor*1000, instances))
+ local lists = containers.read(fonts.mp.cache, hash)
+ if not lists then
+ statistics.starttiming(flusher)
+ -- we can use a format per font
+ local data = io.loaddata(resolvers.find_file(name))
+ metapost.reset(mpxformat)
+ metapost.set_outer_color(2) -- no outer color and no reset either
+ lists = { }
+ for i=1,instances do
+ characters, descriptions = { }, { }
+ metapost.process(
+ mpxformat,
+ {
+ "randomseed := " .. i*10 .. ";",
+ "scale_factor := " .. scalefactor .. " ;",
+ data
+ },
+ false,
+ flusher
+ )
+ lists[i] = {
+ designsize = 655360,
+ name = string.format("%s-%03i",hash,i),
+ parameters = {
+ slant = 0,
+ space = 333 * scalefactor,
+ space_stretch = 166.5 * scalefactor,
+ space_shrink = 111 * scalefactor,
+ x_height = 431 * scalefactor,
+ quad =1000 * scalefactor,
+ extra_space = 0
+ },
+ ["type"] = "virtual",
+ characters = characters,
+ descriptions = descriptions,
+ -- embedding = "subset",
+ -- mkiv:
+ spacer = "space",
+ unit = 1000,
+ shared = { },
+ unique = { },
+ }
end
- for k=1,#t do
- g[k] = t[k] -- kind of replace, when not present, make nil
- end
- g.virtualized = true
- g.variants = list
+ metapost.reset(mpxformat) -- saves memory
+ lists = containers.write(fonts.mp.cache, hash, lists)
+ statistics.stoptiming(flusher)
end
+ variants = variants + #lists
+ statistics.stoptiming(metapost.characters)
+ return lists
+end
- fonts.define.methods.install( "punk", {
- { "metafont", "mfplain", "punkfont.mp", 10 },
- } )
-
- typesetting.cases.actions[99] = function(current)
- local used = fontdata[current.font].variants
- if used then
- local f = math.random(1,#used)
- current.font = used[f]
- return current, true
- else
- return current, false
- end
+function fonts.vf.aux.combine.commands.metafont(g,v)
+ local size = g.specification.size
+ local data = metapost.characters.process(v[2],v[3],v[4],size/655360)
+ local list, t = { }, { }
+ for d=1,#data do
+ t = data[d]
+ t = fonts.tfm.scale(t, -1000)
+ local id = font.nextid()
+ t.fonts = { { id = id } }
+ fontdata[id] = t
+ fonts.vf.aux.compose_characters(t)
+ list[d] = font.define(t)
end
+ for k, v in next, t do
+ g[k] = v -- kind of replace, when not present, make nil
+ end
+ g.virtualized = true
+ g.variants = list
+end
- metapost.characters.flusher = flusher
-
- statistics.register("metapost font generation", function()
- local time = statistics.elapsedtime(flusher)
- if total > 0 then
- return string.format("%i glyphs, %.3f seconds runtime, %i glyphs/second", total, time, total/time)
- else
- return string.format("%i glyphs, %.3f seconds runtime", total, time)
- end
- end)
+fonts.define.methods.install( "punk", {
+ { "metafont", "mfplain", "punkfont.mp", 10 },
+} )
+fonts.define.methods.install( "punkbold", {
+ { "metafont", "mfplain", "punkfont-bold.mp", 10 },
+} )
+fonts.define.methods.install( "punkslanted", {
+ { "metafont", "mfplain", "punkfont-slanted.mp", 10 },
+} )
+fonts.define.methods.install( "punkboldslanted", {
+ { "metafont", "mfplain", "punkfont-boldslanted.mp", 10 },
+} )
+
+typesetting.cases.actions[99] = function(current)
+ local used = fontdata[current.font].variants
+ if used then
+ local f = math.random(1,#used)
+ current.font = used[f]
+ return current, true
+ else
+ return current, false
+ end
+end
- statistics.register("metapost font loading",function()
- local time = statistics.elapsedtime(metapost.characters)
- if variants > 0 then
- return string.format("%.3f seconds, %i instances, %0.3f instances/second", time, variants, variants/time)
- else
- return string.format("%.3f seconds, %i instances", time, variants)
- end
- end)
+metapost.characters.flusher = flusher
-end
+statistics.register("metapost font generation", function()
+ local time = statistics.elapsedtime(flusher)
+ if total > 0 then
+ return string.format("%i glyphs, %.3f seconds runtime, %i glyphs/second", total, time, total/time)
+ else
+ return string.format("%i glyphs, %.3f seconds runtime", total, time)
+ end
+end)
+
+statistics.register("metapost font loading",function()
+ local time = statistics.elapsedtime(metapost.characters)
+ if variants > 0 then
+ return string.format("%.3f seconds, %i instances, %0.3f instances/second", time, variants, variants/time)
+ else
+ return string.format("%.3f seconds, %i instances", time, variants)
+ end
+end)
\stopluacode
\unexpanded\def\EnableRandomPunk {\setcharactercasing[99]}
@@ -209,25 +214,18 @@ end
\unexpanded\def\StopRandomPunk {\endgroup}
\starttypescript [serif] [punk] [default]
- \setups[font:fallback:serif] % no style variants yet
- \definefontsynonym [Serif] [demo@punk]
+ \definefontsynonym [Serif] [demo@punk]
+ \definefontsynonym [SerifBold] [demobold@punkbold]
+ \definefontsynonym [SerifSlanted] [demoslanted@punkslanted]
+ \definefontsynonym [SerifBoldSlanted] [demoboldslanted@punkboldslanted]
+ \definefontsynonym [SerifItalic] [SerifSlanted]
+ \definefontsynonym [SerifBoldItalic] [SerifBoldSlanted]
\stoptypescript
\starttypescript [punk]
\definetypeface [punk] [rm] [serif] [punk] [default]
\stoptypescript
-% \definefontfeature[punknova][mode=node,script=latn,rand=yes,kern=yes,liga=yes,tlig=yes]
-
-% \starttypescript [serif] [punknova]
-% \setups[font:fallback:serif] % no style variants yet, actually it's a sans
-% \definefontsynonym [Serif] [file:punknova] [features=punknova]
-% \stoptypescript
-
-% \starttypescript [punknova]
-% \definetypeface [punknova] [rm] [serif] [punknova] [default]
-% \stoptypescript
-
\endinput
\usetypescript[punk]
diff --git a/tex/context/base/m-units.tex b/tex/context/base/m-units.tex
index d186c542b..36fa45d84 100644
--- a/tex/context/base/m-units.tex
+++ b/tex/context/base/m-units.tex
@@ -377,6 +377,17 @@
\def\Peta {\dimensionprefix{P}}
\def\Exa {\dimensionprefix{E}}
+%D and binary prefixes:
+
+\def\Kibi {\dimensionprefix{Ki}}
+\def\Mebi {\dimensionprefix{Mi}}
+\def\Gibi {\dimensionprefix{Gi}}
+\def\Tebi {\dimensionprefix{Ti}}
+\def\Pebi {\dimensionprefix{Pi}}
+\def\Exbi {\dimensionprefix{Ei}}
+\def\Zebi {\dimensionprefix{Zi}}
+\def\Yobi {\dimensionprefix{Yi}}
+
%D and operators:
\def\Times {\dimensionnopfix{\iftextdimensions.\else\cdot\fi}}
@@ -384,7 +395,7 @@
\def\Per {\dimensionmidfix{/}}
\def\OutOf {\dimensionnopfix{:}}
-%D and suffixes:
+%D and suffixes:
\def\Linear {\dimensionpower{1}}
\def\Square {\dimensionpower{2}}
@@ -665,10 +676,10 @@
%D Computer memory is specified in Bytes:
-\getvalue{\v!unit} [Baud] {Baud} {Baud (Bit/s)}
-\getvalue{\v!unit} [Bit] {Bit} {Bit}
+\getvalue{\v!unit} [Bit] {bit} {Bit}
+\getvalue{\v!unit} [Baud] {Bd} {Baud (Bit/s)}
-\getvalue{\v!unit} [Byte] {Byte} {Byte}
+\getvalue{\v!unit} [Byte] {B} {Byte}
\getvalue{\v!unit} [kByte] {\Kilo \Byte} {kilo Byte}
\getvalue{\v!unit} [MByte] {\Mega \Byte} {mega Byte}
\getvalue{\v!unit} [GByte] {\Giga \Byte} {giga Byte}
diff --git a/tex/context/base/math-noa.lua b/tex/context/base/math-noa.lua
index 2b4f9b6fa..19cc94ea7 100644
--- a/tex/context/base/math-noa.lua
+++ b/tex/context/base/math-noa.lua
@@ -19,6 +19,7 @@ local has_attribute = node.has_attribute
local mlist_to_hlist = node.mlist_to_hlist
local font_of_family = node.family_font
local fontdata = fonts.identifiers
+local nodecodes = nodes.nodecodes
local format, rep = string.format, string.rep
local utfchar, utfbyte = utf.char, utf.byte
@@ -31,6 +32,8 @@ local trace_analyzing = false trackers.register("math.analyzing", function(v)
local report_noads = logs.new("mathematics")
+-- todo: nodes.noadcodes
+
local noad_ord = 0
local noad_op_displaylimits = 1
local noad_op_limits = 2
@@ -47,34 +50,34 @@ local noad_vcenter = 12
-- obsolete:
--
--- math_ord = node.id("ord") -- attr nucleus sub sup
--- math_op = node.id("op") -- attr nucleus sub sup subtype
--- math_bin = node.id("bin") -- attr nucleus sub sup
--- math_rel = node.id("rel") -- attr nucleus sub sup
--- math_punct = node.id("punct") -- attr nucleus sub sup
---
--- math_open = node.id("open") -- attr nucleus sub sup
--- math_close = node.id("close") -- attr nucleus sub sup
---
--- math_inner = node.id("inner") -- attr nucleus sub sup
--- math_vcenter = node.id("vcenter") -- attr nucleus sub sup
--- math_under = node.id("under") -- attr nucleus sub sup
--- math_over = node.id("over") -- attr nucleus sub sup
-
-local math_noad = node.id("noad") -- attr nucleus sub sup
-
-local math_accent = node.id("accent") -- attr nucleus sub sup accent
-local math_radical = node.id("radical") -- attr nucleus sub sup left degree
-local math_fraction = node.id("fraction") -- attr nucleus sub sup left right
-
-local math_box = node.id("sub_box") -- attr list
-local math_sub = node.id("sub_mlist") -- attr list
-local math_char = node.id("math_char") -- attr fam char
-local math_text_char = node.id("math_text_char") -- attr fam char
-local math_delim = node.id("delim") -- attr small_fam small_char large_fam large_char
-local math_style = node.id("style") -- attr style
-local math_choice = node.id("choice") -- attr display text script scriptscript
-local math_fence = node.id("fence") -- attr subtype
+-- math_ord = nodecodes.ord") -- attr nucleus sub sup
+-- math_op = nodecodes.op") -- attr nucleus sub sup subtype
+-- math_bin = nodecodes.bin") -- attr nucleus sub sup
+-- math_rel = nodecodes.rel") -- attr nucleus sub sup
+-- math_punct = nodecodes.punct") -- attr nucleus sub sup
+--_
+-- math_open = nodecodes.open") -- attr nucleus sub sup
+-- math_close = nodecodes.close") -- attr nucleus sub sup
+--_
+-- math_inner = nodecodes.inner") -- attr nucleus sub sup
+-- math_vcenter = nodecodes.vcenter") -- attr nucleus sub sup
+-- math_under = nodecodes.under") -- attr nucleus sub sup
+-- math_over = nodecodes.over") -- attr nucleus sub sup
+
+local math_noad = nodecodes.noad -- attr nucleus sub sup
+
+local math_accent = nodecodes.accent -- attr nucleus sub sup accent
+local math_radical = nodecodes.radical -- attr nucleus sub sup left degree
+local math_fraction = nodecodes.fraction -- attr nucleus sub sup left right
+
+local math_box = nodecodes.sub_box -- attr list
+local math_sub = nodecodes.sub_mlist -- attr list
+local math_char = nodecodes.math_char -- attr fam char
+local math_text_char = nodecodes.math_text_char -- attr fam char
+local math_delim = nodecodes.delim -- attr small_fam small_char large_fam large_char
+local math_style = nodecodes.style -- attr style
+local math_choice = nodecodes.choice -- attr display text script scriptscript
+local math_fence = nodecodes.fence -- attr subtype
local simple_noads = table.tohash {
math_noad,
@@ -366,7 +369,7 @@ end
fonts.otf.tables.features['mathalternates'] = 'Additional math alternative shapes'
-fonts.otf.features.register('mathalternates',true)
+fonts.otf.features.register('mathalternates') -- true
table.insert(fonts.triggers,"mathalternates")
fonts.initializers.base.otf.mathalternates = fonts.initializers.common.mathalternates
diff --git a/tex/context/base/math-tag.lua b/tex/context/base/math-tag.lua
index 7180435f5..7960c014f 100644
--- a/tex/context/base/math-tag.lua
+++ b/tex/context/base/math-tag.lua
@@ -9,26 +9,27 @@ if not modules then modules = { } end modules ['math-tag'] = {
local has_attribute = nodes.has_attribute
local set_attribute = nodes.set_attribute
local set_attributes = nodes.set_attributes
-
local traverse_nodes = node.traverse
-local math_noad = node.id("noad") -- attr nucleus sub sup
-local math_noad = node.id("noad") -- attr nucleus sub sup
-local math_accent = node.id("accent") -- attr nucleus sub sup accent
-local math_radical = node.id("radical") -- attr nucleus sub sup left degree
-local math_fraction = node.id("fraction") -- attr nucleus sub sup left right
-local math_box = node.id("sub_box") -- attr list
-local math_sub = node.id("sub_mlist") -- attr list
-local math_char = node.id("math_char") -- attr fam char
-local math_text_char = node.id("math_text_char") -- attr fam char
-local math_delim = node.id("delim") -- attr small_fam small_char large_fam large_char
-local math_style = node.id("style") -- attr style
-local math_choice = node.id("choice") -- attr display text script scriptscript
-local math_fence = node.id("fence") -- attr subtype
+local nodecodes = nodes.nodecodes
+
+local math_noad = nodecodes.noad -- attr nucleus sub sup
+local math_noad = nodecodes.noad -- attr nucleus sub sup
+local math_accent = nodecodes.accent -- attr nucleus sub sup accent
+local math_radical = nodecodes.radical -- attr nucleus sub sup left degree
+local math_fraction = nodecodes.fraction -- attr nucleus sub sup left right
+local math_box = nodecodes.sub_box -- attr list
+local math_sub = nodecodes.sub_mlist -- attr list
+local math_char = nodecodes.math_char -- attr fam char
+local math_text_char = nodecodes.math_text_char -- attr fam char
+local math_delim = nodecodes.delim -- attr small_fam small_char large_fam large_char
+local math_style = nodecodes.style -- attr style
+local math_choice = nodecodes.choice -- attr display text script scriptscript
+local math_fence = nodecodes.fence -- attr subtype
-local hlist = node.id("hlist")
-local vlist = node.id("vlist")
-local glyph = node.id("glyph")
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local glyph = nodecodes.glyph
local a_tagged = attributes.private('tagged')
diff --git a/tex/context/base/meta-ini.mkiv b/tex/context/base/meta-ini.mkiv
index 1072cb8f2..c44be4282 100644
--- a/tex/context/base/meta-ini.mkiv
+++ b/tex/context/base/meta-ini.mkiv
@@ -199,36 +199,10 @@
{\let\handleuseMPgraphic \thirdofthreearguments
\let\handlereusableMPgraphic\thirdofthreearguments}
-\let\MPdrawingdata\empty
-
\newif\ifMPdrawingdone \MPdrawingdonefalse
-\def\resetMPdrawing
- {\globallet\MPdrawingdata\empty
- \global\MPdrawingdonefalse}
-
-\def\pushMPdrawing
- {\globalpushmacro\MPdrawingdata
- \globallet\MPdrawingdata\empty}
-
-\def\popMPdrawing
- {\globalpopmacro\MPdrawingdata}
-
-\def\getMPdrawing{\dosinglegroupempty\dogetMPdrawing}
-
-\def\startMPdrawing
- {\dosingleempty\dostartMPdrawing}
-
-\long\def\dostartMPdrawing[#1]#2\stopMPdrawing
- {\relax
- \bgroup
- \enableincludeMPgraphics
- \presetMPdefinitions % in case #2 has measures
- \doifelse{#1}{-}{\convertargument#2\to\asciia}{\long\def\asciia{#2}}%
- \long\xdef\MPdrawingdata{\MPdrawingdata\asciia}%
- \egroup}
-
-\let\stopMPdrawing\relax
+\def\finalizeMPdrawing
+ {\MPdrawingdonetrue}
\let\MPdrawingdata\empty
@@ -264,6 +238,14 @@
\let\stopMPdrawing\relax
+\long\def\MPdrawing#1%
+ {\relax
+ \bgroup
+ \enableincludeMPgraphics
+ \presetMPdefinitions
+ \long\xdef\MPdrawingdata{\MPdrawingdata#1}%
+ \egroup}
+
\let\stopMPclip\relax
\long\def\startMPclip#1#2\stopMPclip % todo: store at the lua end or just store less
@@ -771,6 +753,23 @@
\let\stopMPcode\relax
+\def\MPcode{\dosinglegroupempty\doMPcode}
+
+\def\doMPcode
+ {\iffirstargument
+ \expandafter\dodoMPcode
+ \else
+ \expandafter\nodoMPcode
+ \fi}
+
+\def\dodoMPcode#1#2%
+ {\beginMPgraphicgroup{#1::\s!dummy}% name does not matter
+ \processMPgraphic{#2}%
+ \endMPgraphicgroup}
+
+\def\nodoMPcode#1#2%
+ {\processMPgraphic{#2}}
+
% a bit nasty (also needed for compatibility:
% \startMPrun input mp-www.mp ; \stopMPrun
diff --git a/tex/context/base/mlib-pps.lua b/tex/context/base/mlib-pps.lua
index f00c99cdb..9d6b4eb7a 100644
--- a/tex/context/base/mlib-pps.lua
+++ b/tex/context/base/mlib-pps.lua
@@ -278,23 +278,12 @@ end
--
-- normalize(ca,cb) fails for spotcolors
-function metapost.specials.cs(specification,object,result,flusher) -- spot colors?
- -- a mess, not dynamic anyway
- nofshades = nofshades + 1
- flusher.flushfigure(result)
- result = { }
- local t = lpegmatch(specificationsplitter,specification)
- -- we need a way to move/scale
- local ca = lpegmatch(colorsplitter,t[4])
- local cb = lpegmatch(colorsplitter,t[8])
+local function checkandconvert(ca,cb)
+ local name = format("MpSh%s",nofshades)
if round(ca[1]*10000) == 123 then ca = metapost.colorspec(ca) end
if round(cb[1]*10000) == 123 then cb = metapost.colorspec(cb) end
- local name = format("MplSh%s",nofshades)
- local domain = { tonumber(t[1]), tonumber(t[2]) }
- local coordinates = { tonumber(t[5]), tonumber(t[6]), tonumber(t[7]), tonumber(t[9]), tonumber(t[10]), tonumber(t[11]) }
if type(ca) == "string" then
- -- backend specific (will be renamed)
- lpdf.circularshade(name,domain,{ 0 },{ 1 },1,"DeviceGray",coordinates)
+ return { 0 }, { 1 }, "DeviceGray", name
else
if #ca > #cb then
normalize(ca,cb)
@@ -307,38 +296,43 @@ function metapost.specials.cs(specification,object,result,flusher) -- spot color
end
if model == "rgb" then
if #ca == 4 then
- ca[1], ca[2], ca[3] = cmyktorgb(ca[1],ca[2],ca[3],ca[4])
- cb[1], cb[2], cb[3] = cmyktorgb(cb[1],cb[2],cb[3],cb[4])
- ca[4], cb[4] = nil, nil
+ ca = { cmyktorgb(ca[1],ca[2],ca[3],ca[4]) }
+ cb = { cmyktorgb(cb[1],cb[2],cb[3],cb[4]) }
elseif #ca == 1 then
local a, b = 1-ca[1], 1-cb[1]
- ca[1], ca[2], ca[3] = a, a, a
- cb[1], cb[2], cb[3] = b, b, b
+ ca = { a, a, a }
+ cb = { b, b, b }
end
- -- backend specific (will be renamed)
- lpdf.circularshade(name,domain,ca,cb,1,"DeviceRGB",coordinates)
+ return ca, cb, "DeviceRGB", name
elseif model == "cmyk" then
if #ca == 3 then
- ca[1], ca[2], ca[3], ca[4] = rgbtocmyk(ca[1],ca[2],ca[3])
- cb[1], cb[2], cb[3], ca[4] = rgbtocmyk(cb[1],cb[2],cb[3])
+ ca = { rgbtocmyk(ca[1],ca[2],ca[3]) }
+ cb = { rgbtocmyk(cb[1],cb[2],cb[3]) }
elseif #ca == 1 then
- ca[1], ca[2], ca[3], ca[4] = 0, 0, 0, ca[1]
- cb[1], cb[2], cb[3], ca[4] = 0, 0, 0, ca[1]
+ ca = { 0, 0, 0, ca[1] }
+ cb = { 0, 0, 0, ca[1] }
end
- -- backend specific (will be renamed)
- lpdf.circularshade(name,domain,ca,cb,1,"DeviceCMYK",coordinates)
+ return ca, cb, "DeviceCMYK", name
else
if #ca == 4 then
- ca[1] = cmyktogray(ca[1],ca[2],ca[3],ca[4])
- cb[1] = cmyktogray(cb[1],cb[2],cb[3],cb[4])
+ ca = { cmyktogray(ca[1],ca[2],ca[3],ca[4]) }
+ cb = { cmyktogray(cb[1],cb[2],cb[3],cb[4]) }
elseif #ca == 3 then
- ca[1] = rgbtogray(ca[1],ca[2],ca[3])
- cb[1] = rgbtogray(cb[1],cb[2],cb[3])
+ ca = { rgbtogray(ca[1],ca[2],ca[3]) }
+ cb = { rgbtogray(cb[1],cb[2],cb[3]) }
end
-- backend specific (will be renamed)
- lpdf.circularshade(name,domain,ca,cb,1,"DeviceGRAY",coordinates)
+ return ca, cb, "DeviceGray", name
end
end
+end
+
+local function resources(object,name,flusher,result)
+ -- There is no real need for flushing in between, so:
+ --
+ -- flusher.flushfigure(result)
+ -- local result = { }
+ --
local before = function()
result[#result+1] = "q /Pattern cs"
return object, result
@@ -351,75 +345,30 @@ function metapost.specials.cs(specification,object,result,flusher) -- spot color
return object, before, nil, after
end
+-- todo: we need a way to move/scale
+
+function metapost.specials.cs(specification,object,result,flusher) -- spot colors?
+ nofshades = nofshades + 1
+ local t = lpegmatch(specificationsplitter,specification)
+ local ca = lpegmatch(colorsplitter,t[4])
+ local cb = lpegmatch(colorsplitter,t[8])
+ local domain = { tonumber(t[1]), tonumber(t[2]) }
+ local coordinates = { tonumber(t[5]), tonumber(t[6]), tonumber(t[7]), tonumber(t[9]), tonumber(t[10]), tonumber(t[11]) }
+ local ca, cb, colorspace, name = checkandconvert(ca,cb)
+ lpdf.circularshade(name,domain,ca,cb,1,colorspace,coordinates) -- backend specific (will be renamed)
+ return resources(object,name,flusher,result) -- object, before, nil, after
+end
+
function metapost.specials.ls(specification,object,result,flusher)
nofshades = nofshades + 1
- flusher.flushfigure(result)
- result = { }
local t = lpegmatch(specificationsplitter,specification)
- -- we need a way to move/scale
local ca = lpegmatch(colorsplitter,t[4])
local cb = lpegmatch(colorsplitter,t[7])
- if round(ca[1]*10000) == 123 then ca = metapost.colorspec(ca) end
- if round(cb[1]*10000) == 123 then cb = metapost.colorspec(cb) end
- local name = format("MpSh%s",nofshades)
local domain = { tonumber(t[1]), tonumber(t[2]) }
local coordinates = { tonumber(t[5]), tonumber(t[6]), tonumber(t[8]), tonumber(t[9]) }
- if type(ca) == "string" then
- -- backend specific (will be renamed)
- lpdf.linearshade(name,domain,{ 0 },{ 1 },1,"DeviceGray",coordinates)
- else
- if #ca > #cb then
- normalize(ca,cb)
- elseif #ca < #cb then
- normalize(cb,ca)
- end
- local model = colors.model
- if model == "all" then
- model= (#ca == 4 and "cmyk") or (#ca == 3 and "rgb") or "gray"
- end
- if model == "rgb" then
- if #ca == 4 then
- ca[1], ca[2], ca[3] = cmyktorgb(ca[1],ca[2],ca[3],ca[4])
- cb[1], cb[2], cb[3] = cmyktorgb(cb[1],cb[2],cb[3],cb[4])
- elseif #ca == 1 then
- local a, b = 1-ca[1], 1-cb[1]
- ca[1], ca[2], ca[3] = a, a, a
- cb[1], cb[2], cb[3] = b, b, b
- end
- -- backend specific (will be renamed)
- lpdf.linearshade(name,domain,ca,cb,1,"DeviceRGB",coordinates)
- elseif model == "cmyk" then
- if #ca == 3 then
- ca[1], ca[2], ca[3], ca[4] = rgbtocmyk(ca[1],ca[2],ca[3])
- cb[1], cb[2], cb[3], ca[4] = rgbtocmyk(cb[1],cb[2],cb[3])
- elseif #ca == 1 then
- ca[1], ca[2], ca[3], ca[4] = 0, 0, 0, ca[1]
- cb[1], cb[2], cb[3], ca[4] = 0, 0, 0, ca[1]
- end
- -- backend specific (will be renamed)
- lpdf.linearshade(name,domain,ca,cb,1,"DeviceCMYK",coordinates)
- else
- if #ca == 4 then
- ca[1] = cmyktogray(ca[1],ca[2],ca[3],ca[4])
- cb[1] = cmyktogray(cb[1],cb[2],cb[3],cb[4])
- elseif #ca == 3 then
- ca[1] = rgbtogray(ca[1],ca[2],ca[3])
- cb[1] = rgbtogray(cb[1],cb[2],cb[3])
- end
- -- backend specific (will be renamed)
- lpdf.linearshade(name,domain,ca,cb,1,"DeviceGRAY",coordinates)
- end
- end
- local before = function()
- result[#result+1] = "q /Pattern cs"
- return object, result
- end
- local after = function()
- result[#result+1] = format("W n /%s sh Q", name)
- return object, result
- end
- object.color, object.type = nil, nil
- return object, before, nil, after
+ local ca, cb, colorspace, name = checkandconvert(ca,cb)
+ lpdf.linearshade(name,domain,ca,cb,1,colorspace,coordinates) -- backend specific (will be renamed)
+ return resources(object,name,flusher,result) -- object, before, nil, after
end
-- no need for a before here
diff --git a/tex/context/base/mult-aux.mkiv b/tex/context/base/mult-aux.mkiv
new file mode 100644
index 000000000..c364c3507
--- /dev/null
+++ b/tex/context/base/mult-aux.mkiv
@@ -0,0 +1,165 @@
+%D \module
+%D [ file=mult-aux,
+%D version=2010.08.2,
+%D title=\CONTEXT\ Multilingual Macros,
+%D subtitle=Definitions,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright=PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D A generalization of \MKIV-like inheritance. Just something to play
+%D with (interface might change).
+
+\unprotect
+
+%D \starttyping
+%D \unprotect
+%D \def\????aa{@@@@aa}
+%D
+%D \installparameterhandler \????aa {whatever}
+%D \installsetuphandler \????aa {whatever}
+%D \installdefinehandler \????aa {whatever} \????aa % #3 == defaultroot
+%D \installattributehandler \????aa {whatever}
+%D
+%D % \installcommandhandler \????aa {whatever} \????aa
+%D \protect
+%D
+%D % \whateverparameter \c!test
+%D % \whateverparameterhash \c!test
+%D % \namedwhateverparameter \mycurrentwhatever \c!test
+%D % \dosetwhateverattributes \c!style \c!color
+%D % \everydefinewhatever (sets \currentwhatever)
+%D % \everypresetwhatever (can be used to reset parameters as we can redefine)
+%D % \everysetupwhatever (sets \currentwhatever)
+%D
+%D \starttext
+%D \definewhatever[first] \definewhatever[second][first]
+%D test: \def\currentwhatever{first} \whateverparameter{method} \par
+%D \setupwhatever [method=unset] test: \def\currentwhatever{first} \whateverparameter{method} \par
+%D \setupwhatever[first] [method=first] test: \def\currentwhatever{first} \whateverparameter{method} \par
+%D test: \def\currentwhatever{second} \whateverparameter{method} \par
+%D \setupwhatever[second][method=second] test: \def\currentwhatever{second} \whateverparameter{method} \par
+%D \stoptext
+%D \stoptyping
+
+% problem: every* could clash
+
+% faster but assumes \c!always
+%
+% \unexpanded\def\doinstallparameterhandler#1#2#3#4#5#6#7#8#9% \??aa {whatever} \current..
+% {\def#3##1{\csname#6{#1#2}##1\endcsname}%
+% \def#4##1{#7{#1#2}##1}%
+% \def#5##1##2{\csname#6{#1##2}##1\endcsname}%
+% \def#6##1##2{\ifcsname##1##2\endcsname##1##2\else\expandafter#8\csname##1\s!parent\endcsname##2\fi}%
+% \def#7##1##2{\ifcsname##1##2\endcsname ##1\else\expandafter#9\csname##1\s!parent\endcsname##2\fi}%
+% \def#8##1##2{\ifx##1\relax\s!empty\else#6{##1}##2\fi}%
+% \def#9##1##2{\ifx##1\relax \else#7{##1}##2\fi}}
+
+\unexpanded\def\doinstallparameterhandler#1#2#3#4#5#6#7#8#9% \??aa {whatever} \current..
+ {\def#3##1{\csname#6{#1#2}{##1}\endcsname}%
+ \def#4##1{#7{#1#2}{##1}}%
+ \def#5##1##2{\csname#6{#1##1}{##2}\endcsname}%
+ \def#6##1##2{\ifcsname##1##2\endcsname##1##2\else\expandafter#8\csname##1\s!parent\endcsname{##2}\fi}%
+ \def#7##1##2{\ifcsname##1##2\endcsname ##1\else\expandafter#9\csname##1\s!parent\endcsname{##2}\fi}%
+ \def#8##1##2{\ifx##1\relax\s!empty\else#6{##1}{##2}\fi}%
+ \def#9##1##2{\ifx##1\relax \else#7{##1}{##2}\fi}}
+
+% todo: \def\detokenized...parameter#1{\detokenize\expandafter\expandafter\expandafter{\csname#1#2\endcsname}} % always root
+
+\def\installparameterhandler#1#2%
+ {\normalexpanded
+ {\doinstallparameterhandler
+ {\noexpand#1}% \??aa
+ \expandafter\noexpand\csname current#2\endcsname
+ \expandafter\noexpand\csname #2parameter\endcsname % can move
+ \expandafter\noexpand\csname #2parameterhash\endcsname % can move
+ \expandafter\noexpand\csname named#2parameter\endcsname % can move
+ \expandafter\noexpand\csname do#2parameter\endcsname
+ \expandafter\noexpand\csname do#2parameterhash\endcsname
+ \expandafter\noexpand\csname do#2parentparameter\endcsname
+ \expandafter\noexpand\csname do#2parentparameterhash\endcsname}}
+
+% faster but assumes \c!always
+%
+% \unexpanded\def\doinstallattributehandler#1#2#3% #1 not used here
+% {\expandafter\def\csname doset#2attributes\endcsname##1##2% style color
+% {\edef\fontattributehash {#3##1}%
+% \edef\colorattributehash{#3##2}%
+% \ifx\fontattributehash \empty\else\dosetfontattribute \fontattributehash ##1\fi
+% \ifx\colorattributehash\empty\else\dosetcolorattribute\colorattributehash##2\fi}}
+
+\unexpanded\def\doinstallattributehandler#1#2#3% #1 not used here
+ {\expandafter\def\csname doset#2attributes\endcsname##1##2% style color
+ {\edef\fontattributehash {#3{##1}}%
+ \edef\colorattributehash{#3{##2}}%
+ \ifx\fontattributehash \empty\else\dosetfontattribute \fontattributehash {##1}\fi
+ \ifx\colorattributehash\empty\else\dosetcolorattribute\colorattributehash{##2}\fi}}
+
+\def\installattributehandler#1#2%
+ {\normalexpanded
+ {\doinstallattributehandler
+ {\noexpand#1}% \??aa
+ {\noexpand#2}% whatever
+ \expandafter\noexpand\csname #2parameterhash\endcsname}}
+
+\unexpanded\def\doinstalldefinehandler#1#2#3#4#5#6#7%
+ {\unexpanded\expandafter\def\csname define#2\endcsname{\dodoubleempty#5}%
+ \expandafter\newtoks\csname everydefine#2\endcsname
+ \def#5[##1][##2]%
+ {\edef#4{##1}%
+ \the#6% predefine
+ \ifsecondargument
+ \getparameters[#1#4][\s!parent=#1,##2]%
+ \else
+ \getparameters[#1#4][\s!parent=#3]%
+ \fi
+ \the#7}}
+
+\def\installdefinehandler#1#2#3%
+ {\normalexpanded
+ {\doinstalldefinehandler
+ {\noexpand#1}% \??aa
+ {#2}% whatever
+ {#3}% root
+ \expandafter\noexpand\csname current#2\endcsname
+ \expandafter\noexpand\csname dodefine#2\endcsname
+ \expandafter\noexpand\csname everypreset#2\endcsname
+ \expandafter\noexpand\csname everydefine#2\endcsname}}
+
+\unexpanded\def\doinstallsetuphandler#1#2#3#4#5%
+ {\unexpanded\expandafter\def\csname setup#2\endcsname{\dodoubleempty#4}%
+ \expandafter\newtoks\csname everysetup#2\endcsname
+ \def#4[##1][##2]%
+ {\ifsecondargument
+ \def\docommand####1% we will have a simple one as well
+ {\edef#3{##1#1}%
+ \getparameters[#1#3][##2]%
+ \the#5}%
+ \processcommalist[##1]\docommand
+ \else
+ \let#3\empty
+ \getparameters[#1][##1]%
+ \the#5%
+ \fi}}
+
+\def\installsetuphandler#1#2%
+ {\normalexpanded
+ {\doinstallsetuphandler
+ {\noexpand#1}% \??aa
+ {#2}% whatever
+ \expandafter\noexpand\csname current#2\endcsname
+ \expandafter\noexpand\csname dosetup#2\endcsname
+ \expandafter\noexpand\csname everysetup#2\endcsname}}
+
+\def\installcommandhandler#1#2#3% \??self name \??parent (can be \??self)
+ {\installparameterhandler{#1}{#2}%
+ \installdefinehandler {#1}{#2}#3%
+ \installsetuphandler {#1}{#2}%
+ \installattributehandler{#1}{#2}}
+
+\protect
+
diff --git a/tex/context/base/mult-cld.lua b/tex/context/base/mult-cld.lua
index a9fb1ff1c..9e7f94287 100644
--- a/tex/context/base/mult-cld.lua
+++ b/tex/context/base/mult-cld.lua
@@ -19,10 +19,10 @@ if not modules then modules = { } end modules ['mult-cld'] = {
context = context or { }
local format, concat = string.format, table.concat
-local next, type = next, type
+local next, type, tostring = next, type, tostring
local texsprint, texiowrite, ctxcatcodes = tex.sprint, texio.write, tex.ctxcatcodes
-local flush = texsprint or function(cct,...) print(table.concat{...}) end
+local flush = texsprint or function(cct,...) print(concat{...}) end
local _stack_, _n_ = { }, 0
@@ -64,7 +64,7 @@ trackers.register("context.intercept", function(v) if v then context.trace(true)
local trace_context = logs.new("context")
-local function writer(k,...)
+local function writer(k,...) -- we can optimize for 1 argument
if k then
flush(ctxcatcodes,k)
local t = { ... }
@@ -75,8 +75,6 @@ local function writer(k,...)
local typ = type(ti)
if ti == nil then
-- next
- elseif typ == "function" then
- flush(ctxcatcodes,"{\\mkivflush{" .. _store_(ti) .. "}}")
elseif typ == "string" or typ == "number" then
flush(ctxcatcodes,"{",ti,"}")
elseif typ == "table" then
@@ -102,6 +100,8 @@ local function writer(k,...)
end
flush(ctxcatcodes,"]")
end
+ elseif typ == "function" then
+ flush(ctxcatcodes,"{\\mkivflush{" .. _store_(ti) .. "}}")
-- elseif typ == "boolean" then
-- flush(ctxcatcodes,"\n")
elseif ti == true then
@@ -120,6 +120,77 @@ local function writer(k,...)
end
end
+local function newwriter(command,first,...) -- 5% faster than just ... and separate flush of command
+ if not command then
+ -- error
+ elseif not first then
+ flush(ctxcatcodes,command)
+ else
+ local t = { first, ... }
+ for i=1,#t do
+ if i == 2 then
+ command = ""
+ end
+ local ti = t[i]
+ local typ = type(ti)
+ if ti == nil then
+ flush(ctxcatcodes,command)
+ elseif typ == "string" or typ == "number" then
+ flush(ctxcatcodes,command,"{",ti,"}")
+ elseif typ == "table" then
+ local tn = #ti
+ if tn == 0 then
+ local done = false
+ for k, v in next, ti do
+ if done then
+ flush(ctxcatcodes,",",k,'=',v)
+ else
+ flush(ctxcatcodes,command,"[",k,'=',v)
+ done = true
+ end
+ end
+ flush(ctxcatcodes,"]")
+ elseif tn == 1 then -- some 20% faster than the next loop
+ local tj = ti[1]
+ if type(tj) == "function" then
+ flush(ctxcatcodes,command,"[\\mkivflush{",_store_(tj),"}]")
+ else
+ flush(ctxcatcodes,command,"[",tj,"]")
+ end
+ else -- is concat really faster than flushes here?
+ for j=1,tn do
+ local tj = ti[j]
+ if type(tj) == "function" then
+ ti[j] = "\\mkivflush{" .. _store_(tj) .. "}"
+ end
+ end
+ flush(ctxcatcodes,command,"[",concat(ti,","),"]")
+ end
+ elseif typ == "function" then
+ flush(ctxcatcodes,command,"{\\mkivflush{",_store_(ti),"}}")
+ -- elseif typ == "boolean" then
+ -- flush(ctxcatcodes,"\n")
+ elseif ti == true then
+ flush(ctxcatcodes,command,"\n")
+ elseif typ == false then
+ -- if force == "direct" then
+ flush(ctxcatcodes,command,tostring(ti))
+ -- end
+ elseif typ == "thread" then
+ flush(ctxcatcodes,command)
+ trace_context("coroutines not supported as we cannot yeild across boundaries")
+ else
+ flush(ctxcatcodes,command)
+ trace_context("error: %s gets a weird argument %s",command,tostring(ti))
+ end
+ end
+ end
+end
+
+experiments.register("context.writer",function()
+ writer = newwriter
+end)
+
-- -- --
local function indexer(t,k)
diff --git a/tex/context/base/mult-de.tex b/tex/context/base/mult-de.tex
index 608fdb1f8..a924c0bec 100644
--- a/tex/context/base/mult-de.tex
+++ b/tex/context/base/mult-de.tex
@@ -656,6 +656,7 @@
\setinterfaceconstant{footer}{fusszeile}
\setinterfaceconstant{footerdistance}{fusszeilenabstand}
\setinterfaceconstant{footerstate}{fusszeilenstatus}
+\setinterfaceconstant{force}{zwinge}
\setinterfaceconstant{foregroundcolor}{foregroundcolor}
\setinterfaceconstant{foregroundstyle}{foregroundstyle}
\setinterfaceconstant{format}{formatieren}
@@ -854,6 +855,7 @@
\setinterfaceconstant{previous}{vorige}
\setinterfaceconstant{previousnumber}{vorigenummer}
\setinterfaceconstant{process}{process}
+\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
\setinterfaceconstant{radius}{radius}
\setinterfaceconstant{random}{zufaellig}
diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua
index d877ad0f2..1614301ac 100644
--- a/tex/context/base/mult-def.lua
+++ b/tex/context/base/mult-def.lua
@@ -7783,6 +7783,16 @@ return {
["pe"]="رنگ‌پیش‌زمینه",
["ro"]="foregroundcolor",
},
+ ["force"]={
+ ["cs"]="sila",
+ ["de"]="zwinge",
+ ["en"]="force",
+ ["fr"]="force",
+ ["it"]="forza",
+ ["nl"]="forceer",
+ ["pe"]="اجبار",
+ ["ro"]="fortat",
+ },
["foregroundstyle"]={
["cs"]="foregroundstyle",
["de"]="foregroundstyle",
@@ -9412,6 +9422,9 @@ return {
["pe"]="پردازش",
["ro"]="process",
},
+ ["profile"]={
+ ["en"]="profile",
+ },
["radius"]={
["cs"]="polomer",
["de"]="radius",
diff --git a/tex/context/base/mult-en.tex b/tex/context/base/mult-en.tex
index cbaeb50d6..094678d1e 100644
--- a/tex/context/base/mult-en.tex
+++ b/tex/context/base/mult-en.tex
@@ -656,6 +656,7 @@
\setinterfaceconstant{footer}{footer}
\setinterfaceconstant{footerdistance}{footerdistance}
\setinterfaceconstant{footerstate}{footerstate}
+\setinterfaceconstant{force}{force}
\setinterfaceconstant{foregroundcolor}{foregroundcolor}
\setinterfaceconstant{foregroundstyle}{foregroundstyle}
\setinterfaceconstant{format}{format}
@@ -854,6 +855,7 @@
\setinterfaceconstant{previous}{previous}
\setinterfaceconstant{previousnumber}{previousnumber}
\setinterfaceconstant{process}{process}
+\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
\setinterfaceconstant{radius}{radius}
\setinterfaceconstant{random}{random}
diff --git a/tex/context/base/mult-fr.tex b/tex/context/base/mult-fr.tex
index 05b4ed1db..52dfab7e4 100644
--- a/tex/context/base/mult-fr.tex
+++ b/tex/context/base/mult-fr.tex
@@ -656,6 +656,7 @@
\setinterfaceconstant{footer}{pdp}
\setinterfaceconstant{footerdistance}{dsitancepdp}
\setinterfaceconstant{footerstate}{etatpdp}
+\setinterfaceconstant{force}{force}
\setinterfaceconstant{foregroundcolor}{couleurpremierplan}
\setinterfaceconstant{foregroundstyle}{stylepremierplan}
\setinterfaceconstant{format}{formatter}
@@ -854,6 +855,7 @@
\setinterfaceconstant{previous}{precedent}
\setinterfaceconstant{previousnumber}{numeroprecedent}
\setinterfaceconstant{process}{process}
+\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
\setinterfaceconstant{radius}{rayon}
\setinterfaceconstant{random}{aleatoire}
diff --git a/tex/context/base/mult-it.tex b/tex/context/base/mult-it.tex
index 5bac8d0b0..fe9534c08 100644
--- a/tex/context/base/mult-it.tex
+++ b/tex/context/base/mult-it.tex
@@ -656,6 +656,7 @@
\setinterfaceconstant{footer}{piedipagina}
\setinterfaceconstant{footerdistance}{distanzapdp}
\setinterfaceconstant{footerstate}{statopdp}
+\setinterfaceconstant{force}{forza}
\setinterfaceconstant{foregroundcolor}{coloreprimopiano}
\setinterfaceconstant{foregroundstyle}{foregroundstyle}
\setinterfaceconstant{format}{format}
@@ -854,6 +855,7 @@
\setinterfaceconstant{previous}{precedente}
\setinterfaceconstant{previousnumber}{numeroprecedente}
\setinterfaceconstant{process}{process}
+\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
\setinterfaceconstant{radius}{raggio}
\setinterfaceconstant{random}{casuale}
diff --git a/tex/context/base/mult-mcs.tex b/tex/context/base/mult-mcs.tex
index 98c392c9f..27fbd37dd 100644
--- a/tex/context/base/mult-mcs.tex
+++ b/tex/context/base/mult-mcs.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{neznama reference --}
+\setinterfacemessage{references}{30}{neznamy objekt --}
\setinterfacemessage{references}{3}{neznamy typ reference --}
\setinterfacemessage{references}{2}{duplicitni reference -- na strane --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{nedovolena reference --}
-\setinterfacemessage{references}{30}{neznamy objekt --}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{reference}
diff --git a/tex/context/base/mult-mde.tex b/tex/context/base/mult-mde.tex
index 4da89ba33..2819c1ed5 100644
--- a/tex/context/base/mult-mde.tex
+++ b/tex/context/base/mult-mde.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{unbekannte Referenz --}
+\setinterfacemessage{references}{30}{unbekanntes Object --}
\setinterfacemessage{references}{3}{unbekannte Referenz Typ --}
\setinterfacemessage{references}{2}{doppelte Referenz -- auf Seite --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{illegale Referenz --}
-\setinterfacemessage{references}{30}{unbekanntes Object --}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{referenzen}
diff --git a/tex/context/base/mult-men.tex b/tex/context/base/mult-men.tex
index 4c1bc9942..c9c56bcc5 100644
--- a/tex/context/base/mult-men.tex
+++ b/tex/context/base/mult-men.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{unknown reference --}
+\setinterfacemessage{references}{30}{unknown object --}
\setinterfacemessage{references}{3}{unknown reference type --}
\setinterfacemessage{references}{2}{duplicate reference -- on page --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{illegal reference --}
-\setinterfacemessage{references}{30}{unknown object --}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{references}
diff --git a/tex/context/base/mult-mes.lua b/tex/context/base/mult-mes.lua
index 5c8129711..50c764785 100644
--- a/tex/context/base/mult-mes.lua
+++ b/tex/context/base/mult-mes.lua
@@ -1363,6 +1363,12 @@ return {
["no"]="ulovlig referanse --",
["ro"]="referinta eronata --",
},
+ ["5"]={
+ ["en"]="number of unknown references: --",
+ },
+ ["6"]={
+ ["en"]="number of illegal references: --",
+ },
["files"]={ "core-obj.tex", "core-ref.tex", "strc-ref.tex" },
["title"]={
["cs"]="reference",
diff --git a/tex/context/base/mult-mfr.tex b/tex/context/base/mult-mfr.tex
index 78e4f9f17..7fee954c0 100644
--- a/tex/context/base/mult-mfr.tex
+++ b/tex/context/base/mult-mfr.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{réference -- inconnue}
+\setinterfacemessage{references}{30}{objet -- inconnu}
\setinterfacemessage{references}{3}{type -- de réference inconnu}
\setinterfacemessage{references}{2}{réference -- dupliquée à la page --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{réference -- inconnue}
-\setinterfacemessage{references}{30}{objet -- inconnu}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{réferences}
diff --git a/tex/context/base/mult-mit.tex b/tex/context/base/mult-mit.tex
index 6d2a8f516..9d09e2676 100644
--- a/tex/context/base/mult-mit.tex
+++ b/tex/context/base/mult-mit.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{riferimento sconosciuto --}
+\setinterfacemessage{references}{30}{oggetto sconosciuto --}
\setinterfacemessage{references}{3}{riferimento di tipo sconosciuto --}
\setinterfacemessage{references}{2}{riferimento duplicato -- a pagina --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{riferimento illecito --}
-\setinterfacemessage{references}{30}{oggetto sconosciuto --}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{riferimenti}
diff --git a/tex/context/base/mult-mnl.tex b/tex/context/base/mult-mnl.tex
index b8204a40b..fb527d4ad 100644
--- a/tex/context/base/mult-mnl.tex
+++ b/tex/context/base/mult-mnl.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{onbekende verwijzing --}
+\setinterfacemessage{references}{30}{onbekend object --}
\setinterfacemessage{references}{3}{type verwijzing -- onbekend}
\setinterfacemessage{references}{2}{dubbele verwijzing -- op pagina --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{verboden verwijzing --}
-\setinterfacemessage{references}{30}{onbekend object --}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{verwijzingen}
diff --git a/tex/context/base/mult-mno.tex b/tex/context/base/mult-mno.tex
index ee6fd3273..bbbc3a658 100644
--- a/tex/context/base/mult-mno.tex
+++ b/tex/context/base/mult-mno.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{ukjent referanse --}
+\setinterfacemessage{references}{30}{ukjent objekt --}
\setinterfacemessage{references}{3}{ukjent referansetype --}
\setinterfacemessage{references}{2}{duplikat referanse -- pø side --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{ulovlig referanse --}
-\setinterfacemessage{references}{30}{ukjent objekt --}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{referanser}
diff --git a/tex/context/base/mult-mpe.tex b/tex/context/base/mult-mpe.tex
index 4c1bc9942..c9c56bcc5 100644
--- a/tex/context/base/mult-mpe.tex
+++ b/tex/context/base/mult-mpe.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{unknown reference --}
+\setinterfacemessage{references}{30}{unknown object --}
\setinterfacemessage{references}{3}{unknown reference type --}
\setinterfacemessage{references}{2}{duplicate reference -- on page --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{illegal reference --}
-\setinterfacemessage{references}{30}{unknown object --}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{references}
diff --git a/tex/context/base/mult-mro.tex b/tex/context/base/mult-mro.tex
index da96a23a4..70673c317 100644
--- a/tex/context/base/mult-mro.tex
+++ b/tex/context/base/mult-mro.tex
@@ -1,8 +1,10 @@
\setinterfacemessage{references}{1}{referinta necunoscuta --}
+\setinterfacemessage{references}{30}{obiect necunoscut --}
\setinterfacemessage{references}{3}{tip necunoscut de referinta --}
\setinterfacemessage{references}{2}{referinta duplicat -- la pagina --}
+\setinterfacemessage{references}{5}{number of unknown references: --}
\setinterfacemessage{references}{4}{referinta eronata --}
-\setinterfacemessage{references}{30}{obiect necunoscut --}
+\setinterfacemessage{references}{6}{number of illegal references: --}
\setinterfacemessage{references}{25}{references from document '--' are not imported (export again)}
\setinterfacemessage{references}{24}{references from document '--' are not exported}
\setinterfacemessage{references}{title}{referinte}
diff --git a/tex/context/base/mult-nl.tex b/tex/context/base/mult-nl.tex
index 58c106a22..4b08fcdaa 100644
--- a/tex/context/base/mult-nl.tex
+++ b/tex/context/base/mult-nl.tex
@@ -656,6 +656,7 @@
\setinterfaceconstant{footer}{voet}
\setinterfaceconstant{footerdistance}{voetafstand}
\setinterfaceconstant{footerstate}{voetstatus}
+\setinterfaceconstant{force}{forceer}
\setinterfaceconstant{foregroundcolor}{voorgrondkleur}
\setinterfaceconstant{foregroundstyle}{voorgrondletter}
\setinterfaceconstant{format}{formatteer}
@@ -854,6 +855,7 @@
\setinterfaceconstant{previous}{vorige}
\setinterfaceconstant{previousnumber}{vorigenummer}
\setinterfaceconstant{process}{proces}
+\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
\setinterfaceconstant{radius}{straal}
\setinterfaceconstant{random}{willekeur}
diff --git a/tex/context/base/mult-ro.tex b/tex/context/base/mult-ro.tex
index 48993ae1f..8eae4e4b5 100644
--- a/tex/context/base/mult-ro.tex
+++ b/tex/context/base/mult-ro.tex
@@ -656,6 +656,7 @@
\setinterfaceconstant{footer}{subsol}
\setinterfaceconstant{footerdistance}{distantasubsol}
\setinterfaceconstant{footerstate}{staresubsol}
+\setinterfaceconstant{force}{fortat}
\setinterfaceconstant{foregroundcolor}{foregroundcolor}
\setinterfaceconstant{foregroundstyle}{foregroundstyle}
\setinterfaceconstant{format}{format}
@@ -854,6 +855,7 @@
\setinterfaceconstant{previous}{precendent}
\setinterfaceconstant{previousnumber}{numarprecedent}
\setinterfaceconstant{process}{process}
+\setinterfaceconstant{profile}{profile}
\setinterfaceconstant{pubsep}{pubsep}
\setinterfaceconstant{radius}{raza}
\setinterfaceconstant{random}{aleator}
diff --git a/tex/context/base/mult-sys.tex b/tex/context/base/mult-sys.tex
index 8b00b8d73..4f0f6c28b 100644
--- a/tex/context/base/mult-sys.tex
+++ b/tex/context/base/mult-sys.tex
@@ -450,11 +450,13 @@
\definesystemvariable {as} % AlignmentSwitch
\definesystemvariable {at} % ATtachments
\definesystemvariable {ba} % synchronisatieBAlk
+\definesystemvariable {bc} % BaCkend
\definesystemvariable {be} % startstop (BeginEnd)
\definesystemvariable {bj} % BlokJe
\definesystemvariable {bk} % Blokken (floats)
\definesystemvariable {bl} % BLanko
\definesystemvariable {bg} % BleedinG
+\definesystemvariable {bm} % BookMark
\definesystemvariable {bo} % BlankO (definitions)
\definesystemvariable {bp} % BreakPoint
\definesystemvariable {br} % sideBaR
diff --git a/tex/context/base/node-acc.lua b/tex/context/base/node-acc.lua
index f5c33a793..fc0c5fb0f 100644
--- a/tex/context/base/node-acc.lua
+++ b/tex/context/base/node-acc.lua
@@ -10,10 +10,12 @@ local traverse_nodes, traverse_id, has_attribute, copy_node = node.traverse, nod
nodes.accessibility = nodes.accessibility or { }
-local glue = node.id("glue")
-local glyph = node.id("glyph")
-local hlist = node.id("hlist")
-local vlist = node.id("vlist")
+local nodecodes = nodes.nodecodes
+
+local glue = nodecodes.glue
+local glyph = nodecodes.glyph
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
local function injectspaces(head)
local p
diff --git a/tex/context/base/node-aux.lua b/tex/context/base/node-aux.lua
index 5ddf31e25..4b57bf225 100644
--- a/tex/context/base/node-aux.lua
+++ b/tex/context/base/node-aux.lua
@@ -11,8 +11,10 @@ local gsub, format = string.gsub, string.format
local free_node, hpack_nodes, node_fields, traverse_nodes = node.free, node.hpack, node.fields, node.traverse
local has_attribute, set_attribute, unset_attribute, has_attribute = node.has_attribute, node.set_attribute, node.unset_attribute,node.has_attribute
-local hlist = node.id("hlist")
-local vlist = node.id("vlist")
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
function nodes.repack_hlist(list,...)
local temp, b = hpack_nodes(list,...)
diff --git a/tex/context/base/node-bck.lua b/tex/context/base/node-bck.lua
index 94fbac85f..593be8492 100644
--- a/tex/context/base/node-bck.lua
+++ b/tex/context/base/node-bck.lua
@@ -9,8 +9,10 @@ if not modules then modules = { } end modules ['node-bck'] = {
-- beware, this one takes quite some runtime, so we need a status flag
-- maybe some page related state
-local hlist = node.id("hlist")
-local vlist = node.id("vlist")
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
local has_attribute = node.has_attribute
local set_attribute = node.set_attribute
diff --git a/tex/context/base/node-dir.lua b/tex/context/base/node-dir.lua
index 05e4835e5..3f65c75b1 100644
--- a/tex/context/base/node-dir.lua
+++ b/tex/context/base/node-dir.lua
@@ -15,7 +15,6 @@ adapted and now has the mappings as comments. This lua file is
based on that file.
]]--
-
nodes = nodes or { }
nodes.is_mirrored = {
diff --git a/tex/context/base/node-fin.lua b/tex/context/base/node-fin.lua
index 74b8daf2a..004d72765 100644
--- a/tex/context/base/node-fin.lua
+++ b/tex/context/base/node-fin.lua
@@ -10,21 +10,19 @@ if not modules then modules = { } end modules ['node-fin'] = {
local next, type, format = next, type, string.format
local texsprint = tex.sprint
-
local ctxcatcodes = tex.ctxcatcodes
+local has_attribute, copy_node = node.has_attribute, node.copy
+local starttiming, stoptiming = statistics.starttiming, statistics.stoptiming
-local glyph = node.id('glyph')
-local disc = node.id('disc')
-local glue = node.id('glue')
-local rule = node.id('rule')
-local whatsit = node.id('whatsit')
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
-
-local has_attribute = node.has_attribute
-local copy_node = node.copy
+local nodecodes = nodes.nodecodes
-local starttiming, stoptiming = statistics.starttiming, statistics.stoptiming
+local glyph = nodecodes.glyph
+local disc = nodecodes.disc
+local glue = nodecodes.glue
+local rule = nodecodes.rule
+local whatsit = nodecodes.whatsit
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
states = states or { }
shipouts = shipouts or { }
diff --git a/tex/context/base/node-fnt.lua b/tex/context/base/node-fnt.lua
index 594cfc1a1..ad7af592f 100644
--- a/tex/context/base/node-fnt.lua
+++ b/tex/context/base/node-fnt.lua
@@ -12,12 +12,12 @@ local next, type = next, type
local trace_characters = false trackers.register("nodes.characters", function(v) trace_characters = v end)
-local glyph = node.id('glyph')
+local traverse_id, has_attribute = node.traverse_id, node.has_attribute
+local starttiming, stoptiming = statistics.starttiming, statistics.stoptiming
-local traverse_id = node.traverse_id
-local has_attribute = node.has_attribute
+local nodecodes = nodes.nodecodes
-local starttiming, stoptiming = statistics.starttiming, statistics.stoptiming
+local glyph = nodecodes.glyph
fonts = fonts or { }
fonts.tfm = fonts.tfm or { }
diff --git a/tex/context/base/node-ini.lua b/tex/context/base/node-ini.lua
index 8f507e9b1..836c43860 100644
--- a/tex/context/base/node-ini.lua
+++ b/tex/context/base/node-ini.lua
@@ -52,20 +52,71 @@ also ignore the empty nodes. [This is obsolete!]</p>
nodes = nodes or { }
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
-local glyph = node.id('glyph')
-local glue = node.id('glue')
-local penalty = node.id('penalty')
-local kern = node.id('kern')
-local whatsit = node.id('whatsit')
-
-local traverse_id = node.traverse_id
-local traverse = node.traverse
-local free_node = node.free
-local remove_node = node.remove
-local insert_node_before = node.insert_before
-local insert_node_after = node.insert_after
+local traverse, traverse_id = node.traverse, node.traverse_id
+local free_node, remove_node = node.free, node.remove
+local insert_node_before, insert_node_after = node.insert_before, node.insert_after
+
+-- there will be more of this:
+
+local skipcodes = {
+ [ 0] = "userskip",
+ [ 1] = "lineskip",
+ [ 2] = "baselineskip",
+ [ 3] = "parskip",
+ [ 4] = "abovedisplayskip",
+ [ 5] = "belowdisplayskip",
+ [ 6] = "abovedisplayshortskip",
+ [ 7] = "belowdisplayshortskip",
+ [ 8] = "leftskip",
+ [ 9] = "rightskip",
+ [10] = "topskip",
+ [11] = "splittopskip",
+ [12] = "tabskip",
+ [13] = "spaceskip",
+ [14] = "xspaceskip",
+ [15] = "parfillskip",
+ [16] = "thinmuskip",
+ [17] = "medmuskip",
+ [18] = "thickmuskip",
+}
+
+local noadcodes = {
+ [ 0] = "ord",
+ [ 1] = "op_displaylimits",
+ [ 2] = "op_limits",
+ [ 3] = "op_nolimits",
+ [ 4] = "bin",
+ [ 5] = "rel",
+ [ 6] = "open",
+ [ 7] = "close",
+ [ 8] = "punct",
+ [ 9] = "inner",
+ [10] = "under",
+ [11] = "over",
+ [12] = "vcenter",
+}
+
+local nodecodes = node.types()
+local whatsitcodes = node.whatsits()
+
+skipcodes = table.swapped(skipcodes,skipcodes)
+noadcodes = table.swapped(noadcodes,noadcodes)
+nodecodes = table.swapped(nodecodes,nodecodes)
+whatsitcodes = table.swapped(whatsitcodes,whatsitcodes)
+
+nodes.skipcodes = skipcodes
+nodes.gluecodes = skipcodes -- more official
+nodes.noadcodes = noadcodes
+nodes.nodecodes = nodecodes
+nodes.whatsitcodes = whatsitcodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local glyph = nodecodes.glyph
+local glue = nodecodes.glue
+local penalty = nodecodes.penalty
+local kern = nodecodes.kern
+local whatsit = nodecodes.whatsit
function nodes.remove(head, current, free_too)
local t = current
diff --git a/tex/context/base/node-mig.lua b/tex/context/base/node-mig.lua
index c014c8de4..c2d6e8eca 100644
--- a/tex/context/base/node-mig.lua
+++ b/tex/context/base/node-mig.lua
@@ -8,15 +8,17 @@ if not modules then modules = { } end modules ['node-mig'] = {
local format = string.format
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
-local insert = node.id('ins')
-local mark = node.id('mark')
-
local has_attribute = node.has_attribute
local set_attribute = node.set_attribute
local remove_nodes = nodes.remove
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local insert = nodecodes.ins
+local mark = nodecodes.mark
+
local migrated = attributes.private("migrated")
local trace_migrations = false trackers.register("nodes.migrations", function(v) trace_migrations = v end)
diff --git a/tex/context/base/node-pro.lua b/tex/context/base/node-pro.lua
index c7c02b414..d10d2ebe4 100644
--- a/tex/context/base/node-pro.lua
+++ b/tex/context/base/node-pro.lua
@@ -24,10 +24,6 @@ nodes.processors = nodes.processors or { }
-- vbox: grouptype: vbox vtop output split_off split_keep | box_type: exactly|aditional
-- hbox: grouptype: hbox adjusted_hbox(=hbox_in_vmode) | box_type: exactly|aditional
-lists = lists or { }
-chars = chars or { }
-words = words or { } -- not used yet
-
local actions = tasks.actions("processors",4)
local n = 0
diff --git a/tex/context/base/node-ref.lua b/tex/context/base/node-ref.lua
index a25cf1f4a..3c0d03f82 100644
--- a/tex/context/base/node-ref.lua
+++ b/tex/context/base/node-ref.lua
@@ -30,10 +30,12 @@ local trace_destinations = false trackers.register("nodes.destinations", functi
local report_backends = logs.new("backends")
-local hlist = node.id("hlist")
-local vlist = node.id("vlist")
-local glue = node.id("glue")
-local whatsit = node.id("whatsit")
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local glue = nodecodes.glue
+local whatsit = nodecodes.whatsit
local new_kern = nodes.kern
diff --git a/tex/context/base/node-res.lua b/tex/context/base/node-res.lua
index 546f56916..bafa5e159 100644
--- a/tex/context/base/node-res.lua
+++ b/tex/context/base/node-res.lua
@@ -19,14 +19,10 @@ for debugging <l n='luatex'/> node management.</p>
nodes = nodes or { }
-nodes.whatsits = { } -- table.swapped(node.whatsits())
+local whatsitcodes = nodes.whatsitcodes
+local skipcodes = nodes.skipcodes
local reserved = { }
-local whatsits = nodes.whatsits
-
-for k, v in next, node.whatsits() do
- whatsits[k], whatsits[v] = v, k -- two way
-end
local function register_node(n)
reserved[#reserved+1] = n
@@ -72,19 +68,19 @@ local penalty = register_node(new_node("penalty"))
local glue = register_node(new_node("glue")) -- glue.spec = nil
local glue_spec = register_node(new_node("glue_spec"))
local glyph = register_node(new_node("glyph",0))
-local textdir = register_node(new_node("whatsit",whatsits.dir)) -- 7 (6 is local par node)
+local textdir = register_node(new_node("whatsit",whatsitcodes.dir)) -- 7 (6 is local par node)
local rule = register_node(new_node("rule"))
-local latelua = register_node(new_node("whatsit",whatsits.late_lua)) -- 35
-local user_n = register_node(new_node("whatsit",whatsits.user_defined)) user_n.type = 100 -- 44
-local user_l = register_node(new_node("whatsit",whatsits.user_defined)) user_l.type = 110 -- 44
-local user_s = register_node(new_node("whatsit",whatsits.user_defined)) user_s.type = 115 -- 44
-local user_t = register_node(new_node("whatsit",whatsits.user_defined)) user_t.type = 116 -- 44
+local latelua = register_node(new_node("whatsit",whatsitcodes.late_lua)) -- 35
+local user_n = register_node(new_node("whatsit",whatsitcodes.user_defined)) user_n.type = 100 -- 44
+local user_l = register_node(new_node("whatsit",whatsitcodes.user_defined)) user_l.type = 110 -- 44
+local user_s = register_node(new_node("whatsit",whatsitcodes.user_defined)) user_s.type = 115 -- 44
+local user_t = register_node(new_node("whatsit",whatsitcodes.user_defined)) user_t.type = 116 -- 44
local left_margin_kern = register_node(new_node("margin_kern",0))
local right_margin_kern = register_node(new_node("margin_kern",1))
-local lineskip = register_node(new_node("glue",1))
-local baselineskip = register_node(new_node("glue",2))
-local leftskip = register_node(new_node("glue",8))
-local rightskip = register_node(new_node("glue",9))
+local lineskip = register_node(new_node("glue",skipcodes.lineskip))
+local baselineskip = register_node(new_node("glue",skipcodes.baselineskip))
+local leftskip = register_node(new_node("glue",skipcodes.leftskip))
+local rightskip = register_node(new_node("glue",skipcodes.rightskip))
local temp = register_node(new_node("temp",0))
local noad = register_node(new_node("noad"))
diff --git a/tex/context/base/node-rul.lua b/tex/context/base/node-rul.lua
index 5e1df2da4..e981b83b4 100644
--- a/tex/context/base/node-rul.lua
+++ b/tex/context/base/node-rul.lua
@@ -11,9 +11,11 @@ if not modules then modules = { } end modules ['node-rul'] = {
--
-- todo: make robust for layers ... order matters
-local glyph = node.id("glyph")
-local disc = node.id("disc")
-local rule = node.id("rule")
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local disc = nodecodes.disc
+local rule = nodecodes.rule
function nodes.strip_range(first,last) -- todo: dir
if first and last then -- just to be sure
@@ -62,29 +64,34 @@ local a_color = attributes.private('color')
local a_transparency = attributes.private('transparency')
local a_colorspace = attributes.private('colormodel')
-local glyph = node.id("glyph")
-local disc = node.id("disc")
-local glue = node.id("glue")
-local penalty = node.id("penalty")
-local kern = node.id("kern")
-local hlist = node.id("hlist")
-local vlist = node.id("vlist")
-local rule = node.id("rule")
-local whatsit = node.id("whatsit")
-
-local new_rule = nodes.rule
-local new_kern = nodes.kern
-local new_glue = nodes.glue
-
local insert_before, insert_after, strip_range = node.insert_before, node.insert_after, nodes.strip_range
local list_dimensions, has_attribute, set_attribute = node.dimensions, node.has_attribute, node.set_attribute
local hpack_nodes = node.hpack
+local skipcodes, nodecodes = nodes.skipcodes, nodes.nodecodes
local dimenfactor = fonts.dimenfactor
local texwrite = tex.write
local fontdata = fonts.ids
local variables = interfaces.variables
+local glyph = nodecodes.glyph
+local disc = nodecodes.disc
+local glue = nodecodes.glue
+local penalty = nodecodes.penalty
+local kern = nodecodes.kern
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local rule = nodecodes.rule
+local whatsit = nodecodes.whatsit
+
+local userskip = skipcodes.userskip
+local spaceskip = skipcodes.spaceskip
+local xspaceskip = skipcodes.xspaceskip
+
+local new_rule = nodes.rule
+local new_kern = nodes.kern
+local new_glue = nodes.glue
+
-- we can use this one elsewhere too
--
-- todo: functions: word, sentence
@@ -161,7 +168,9 @@ local function process_words(attribute,data,flush,head,parent) -- we have hlistd
l = n
elseif id == glue then
-- catch \underbar{a} \underbar{a} (subtype test is needed)
- if continue and has_attribute(n,attribute) and n.subtype == 0 then
+ local subtype = n.subtype
+ if continue and has_attribute(n,attribute) and
+ (subtype == userskip or subtype == spaceskip or subskip == xspaceskip) then
l = n
else
head, done = flush(head,f,l,d,level,parent,strip), true
diff --git a/tex/context/base/node-ser.lua b/tex/context/base/node-ser.lua
index e632e92da..b6e72f9fb 100644
--- a/tex/context/base/node-ser.lua
+++ b/tex/context/base/node-ser.lua
@@ -13,13 +13,15 @@ local type, format, concat = type, string.format, table.concat
local ctxcatcodes = tex.ctxcatcodes
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
-
local traverse = node.traverse
local node_fields = node.fields
local node_type = node.type
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+
local expand = table.tohash {
"list", -- list_ptr & ins_ptr & adjust_ptr
"pre", --
diff --git a/tex/context/base/node-shp.lua b/tex/context/base/node-shp.lua
index 50b16efa5..1066ab064 100644
--- a/tex/context/base/node-shp.lua
+++ b/tex/context/base/node-shp.lua
@@ -6,15 +6,16 @@ if not modules then modules = { } end modules ['node-shp'] = {
license = "see context related readme files"
}
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
-local disc = node.id('disc')
-local mark = node.id('mark')
-local kern = node.id('kern')
-local glue = node.id('glue')
-
-local free_node = node.free
-local remove_node = node.remove
+local free_node, remove_node = node.free, node.remove
+
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local disc = nodecodes.disc
+local mark = nodecodes.mark
+local kern = nodecodes.kern
+local glue = nodecodes.glue
local function cleanup_page(head) -- rough
local start = head
diff --git a/tex/context/base/node-spl.lua b/tex/context/base/node-spl.lua
index d6ecdfa13..de1935a03 100644
--- a/tex/context/base/node-spl.lua
+++ b/tex/context/base/node-spl.lua
@@ -33,13 +33,6 @@ local report_fonts = logs.new("fonts")
local report_splitter = logs.new("splitter")
local report_optimizer = logs.new("optimizer")
-local glyph = node.id("glyph")
-local glue = node.id("glue")
-local kern = node.id("kern")
-local disc = node.id("disc")
-local hlist = node.id("hlist")
-local whatsit = node.id("whatsit")
-
local find_node_tail = node.tail or node.slide
local free_node = node.free
local free_nodelist = node.flush_list
@@ -56,6 +49,15 @@ local insert_node_before = node.insert_before
local insert_node_after = node.insert_after
local repack_hlist = nodes.repack_hlist
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local glue = nodecodes.glue
+local kern = nodecodes.kern
+local disc = nodecodes.disc
+local hlist = nodecodes.hlist
+local whatsit = nodecodes.whatsit
+
local starttiming = statistics.starttiming
local stoptiming = statistics.stoptiming
diff --git a/tex/context/base/node-tra.lua b/tex/context/base/node-tra.lua
index d2d02c8df..5134611c4 100644
--- a/tex/context/base/node-tra.lua
+++ b/tex/context/base/node-tra.lua
@@ -11,8 +11,9 @@ if not modules then modules = { } end modules ['node-tra'] = {
might become a runtime module instead. This module will be cleaned up!</p>
--ldx]]--
-local utf = unicode.utf8
-local format, match, concat, rep, utfchar = string.format, string.match, table.concat, string.rep, utf.char
+local utfchar = utf.char
+local concat = table.concat
+local format, match, gmatch, concat, rep = string.format, string.match, string.gmatch, table.concat, string.rep
local ctxcatcodes = tex.ctxcatcodes
@@ -21,20 +22,14 @@ local report_nodes = logs.new("nodes")
fonts = fonts or { }
fonts.tfm = fonts.tfm or { }
fonts.ids = fonts.ids or { }
+fonts.chr = fonts.chr or { }
nodes = nodes or { }
nodes.tracers = nodes.tracers or { }
nodes.tracers.characters = nodes.tracers.characters or { }
nodes.tracers.steppers = nodes.tracers.steppers or { }
-local glyph = node.id('glyph')
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
-local disc = node.id('disc')
-local glue = node.id('glue')
-local kern = node.id('kern')
-local rule = node.id('rule')
-local whatsit = node.id('whatsit')
+local tracers = nodes.tracers
local copy_node_list = node.copy_list
local hpack_node_list = node.hpack
@@ -45,8 +40,19 @@ local traverse_nodes = node.traverse
local texsprint = tex.sprint
local fontdata = fonts.ids
-
-function nodes.tracers.characters.collect(head,list,tag,n)
+local fontchar = fonts.chr
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local disc = nodecodes.disc
+local glue = nodecodes.glue
+local kern = nodecodes.kern
+local rule = nodecodes.rule
+local whatsit = nodecodes.whatsit
+
+function tracers.characters.collect(head,list,tag,n)
n = n or 0
local ok, fn = false, nil
while head do
@@ -75,7 +81,7 @@ function nodes.tracers.characters.collect(head,list,tag,n)
end
end
-function nodes.tracers.characters.equal(ta, tb)
+function tracers.characters.equal(ta, tb)
if #ta ~= #tb then
return false
else
@@ -89,7 +95,7 @@ function nodes.tracers.characters.equal(ta, tb)
return true
end
-function nodes.tracers.characters.string(t)
+function tracers.characters.string(t)
local tt = { }
for i=1,#t do
tt[i] = utfchar(t[i][1])
@@ -97,7 +103,7 @@ function nodes.tracers.characters.string(t)
return concat(tt,"")
end
-function nodes.tracers.characters.unicodes(t,decimal)
+function tracers.characters.unicodes(t,decimal)
local tt = { }
for i=1,#t do
local n = t[i][1]
@@ -112,7 +118,7 @@ function nodes.tracers.characters.unicodes(t,decimal)
return concat(tt," ")
end
-function nodes.tracers.characters.indices(t,decimal)
+function tracers.characters.indices(t,decimal)
local tt = { }
for i=1,#t do
local n = t[i][3]
@@ -127,20 +133,20 @@ function nodes.tracers.characters.indices(t,decimal)
return concat(tt," ")
end
-function nodes.tracers.characters.start()
+function tracers.characters.start()
local npc = nodes.process_characters
local list = { }
function nodes.process_characters(head)
local n = #list
- nodes.tracers.characters.collect(head,list,'before',n)
+ tracers.characters.collect(head,list,'before',n)
local h, d = npc(head)
- nodes.tracers.characters.collect(head,list,'after',n)
+ tracers.characters.collect(head,list,'after',n)
if #list > n then
list[#list+1] = { }
end
return h, d
end
- function nodes.tracers.characters.stop()
+ function tracers.characters.stop()
tracers.list['characters'] = list
local variables = {
['title'] = 'ConTeXt Character Processing Information',
@@ -156,14 +162,14 @@ end
local stack = { }
-function nodes.tracers.start(tag)
+function tracers.start(tag)
stack[#stack+1] = tag
- local tracer = nodes.tracers[tag]
+ local tracer = tracers[tag]
if tracer and tracer.start then
tracer.start()
end
end
-function nodes.tracers.stop()
+function tracers.stop()
local tracer = stack[#stack]
if tracer and tracer.stop then
tracer.stop()
@@ -175,15 +181,15 @@ end
local collection, collecting, messages = { }, false, { }
-function nodes.tracers.steppers.start()
+function tracers.steppers.start()
collecting = true
end
-function nodes.tracers.steppers.stop()
+function tracers.steppers.stop()
collecting = false
end
-function nodes.tracers.steppers.reset()
+function tracers.steppers.reset()
for i=1,#collection do
local c = collection[i]
if c then
@@ -193,18 +199,18 @@ function nodes.tracers.steppers.reset()
collection, messages = { }, { }
end
-function nodes.tracers.steppers.nofsteps()
+function tracers.steppers.nofsteps()
return tex.write(#collection)
end
-function nodes.tracers.steppers.glyphs(n,i)
+function tracers.steppers.glyphs(n,i)
local c = collection[i]
if c then
tex.box[n] = hpack_node_list(copy_node_list(c))
end
end
-function nodes.tracers.steppers.features()
+function tracers.steppers.features()
-- local f = first_character(collection[1])
-- if f then -- something fishy with first_character
local f = collection[1]
@@ -235,13 +241,13 @@ function nodes.tracers.steppers.features()
end
end
-function nodes.tracers.fontchar(font,char)
+function tracers.fontchar(font,char)
local n = nodes.glyph()
n.font, n.char, n.subtype = font, char, 256
node.write(n)
end
-function nodes.tracers.steppers.codes(i,command)
+function tracers.steppers.codes(i,command)
local c = collection[i]
while c do
local id = c.id
@@ -260,7 +266,7 @@ function nodes.tracers.steppers.codes(i,command)
end
end
-function nodes.tracers.steppers.messages(i,command,split)
+function tracers.steppers.messages(i,command,split)
local list = messages[i] -- or { "no messages" }
if list then
for i=1,#list do
@@ -277,9 +283,9 @@ end
-- hooks into the node list processor (see otf)
-function nodes.tracers.steppers.check(head)
+function tracers.steppers.check(head)
if collecting then
- nodes.tracers.steppers.reset()
+ tracers.steppers.reset()
local n = copy_node_list(head)
nodes.inject_kerns(n,nil,"trace",true)
nodes.protect_glyphs(n) -- can be option
@@ -287,7 +293,7 @@ function nodes.tracers.steppers.check(head)
end
end
-function nodes.tracers.steppers.register(head)
+function tracers.steppers.register(head)
if collecting then
local nc = #collection+1
if messages[nc] then
@@ -299,7 +305,7 @@ function nodes.tracers.steppers.register(head)
end
end
-function nodes.tracers.steppers.message(str,...)
+function tracers.steppers.message(str,...)
str = format(str,...)
if collecting then
local n = #collection + 1
@@ -332,7 +338,7 @@ function nodes.check_glyphs(head,message)
return false
end
-function nodes.tosequence(start,stop,compact)
+local function tosequence(start,stop,compact)
if start then
local t = { }
while start do
@@ -341,7 +347,7 @@ function nodes.tosequence(start,stop,compact)
local c = start.char
if compact then
if start.components then
- t[#t+1] = nodes.tosequence(start.components,nil,compact)
+ t[#t+1] = tosequence(start.components,nil,compact)
else
t[#t+1] = utfchar(c)
end
@@ -379,6 +385,8 @@ function nodes.tosequence(start,stop,compact)
end
end
+nodes.tosequence = tosequence
+
function nodes.report(t,done)
if done then
if status.output_active then
@@ -474,3 +482,56 @@ function nodes.list_to_utf(h,joiner)
end
return concat(w)
end
+
+local what = { [0] = "unknown", "line", "box", "indent", "row", "cell" }
+
+local function show_boxes(n,symbol,depth)
+ depth, symbol = depth or 0, symbol or "."
+ for n in traverse_nodes(n) do
+ local id = n.id
+ if id == hlist or id == vlist then
+ local s = n.subtype
+ logs.simple(rep(symbol,depth) .. what[s] or s)
+ show_boxes(n.list,symbol,depth+1)
+ end
+ end
+end
+
+nodes.show_boxes = show_boxes
+
+local threshold = 65536
+
+function toutf(list,result)
+ for n in traverse_nodes(list) do
+ local id = n.id
+ if id == glyph then
+ local c = n.char
+ local fc = fontchar[n.font]
+ if fc then
+ local u = fc[c].tounicode
+ if u then
+ for s in gmatch(u,"..") do
+ result[#result+1] = utfchar(tonumber(s,16))
+ end
+ else
+ result[#result+1] = utfchar(c)
+ end
+ else
+ result[#result+1] = utfchar(c)
+ end
+ elseif id == disc then
+ toutf(n.replace,result)
+ elseif id == hlist or id == vlist then
+ toutf(n.list,result)
+ elseif id == glue and n.subtype == 0 and n.spec.width > threshold then
+ result[#result+1] = " "
+ elseif id == kern and n.kern > threshold then
+ result[#result+1] = " "
+ end
+ end
+ return result
+end
+
+function nodes.toutf(list)
+ return concat(toutf(list,{}))
+end
diff --git a/tex/context/base/node-tsk.lua b/tex/context/base/node-tsk.lua
index 66f691ec8..b47bceef1 100644
--- a/tex/context/base/node-tsk.lua
+++ b/tex/context/base/node-tsk.lua
@@ -115,8 +115,8 @@ function tasks.actions(name,n) -- we optimize for the number or arguments (no ..
if data then
if n == 0 then
return function(head)
- local runner = data.runner
total = total + 1 -- will go away
+ local runner = data.runner
if not runner then
created = created + 1
if trace_tasks then
diff --git a/tex/context/base/node-tst.lua b/tex/context/base/node-tst.lua
index d7ea96f26..c7e79c48f 100644
--- a/tex/context/base/node-tst.lua
+++ b/tex/context/base/node-tst.lua
@@ -6,16 +6,17 @@ if not modules then modules = { } end modules ['node-tst'] = {
license = "see context related readme files"
}
-local glue = node.id("glue")
-local penalty = node.id("penalty")
-local kern = node.id("kern")
-local glyph = node.id("glyph")
-local whatsit = node.id("whatsit")
-local hlist = node.id("hlist")
-
local find_node_tail = node.tail or node.slide
-local chardata = characters.data
+local chardata = characters.data
+local nodecodes = nodes.nodecodes
+
+local glue = nodecodes.glue
+local penalty = nodecodes.penalty
+local kern = nodecodes.kern
+local glyph = nodecodes.glyph
+local whatsit = nodecodes.whatsit
+local hlist = nodecodes.hlist
function nodes.the_left_margin(n) -- todo: three values
while n do
diff --git a/tex/context/base/node-typ.lua b/tex/context/base/node-typ.lua
index 5ab6b6975..b807e6aae 100644
--- a/tex/context/base/node-typ.lua
+++ b/tex/context/base/node-typ.lua
@@ -10,9 +10,7 @@ if not modules then modules = { } end modules ['node-typ'] = {
local utfvalues = string.utfvalues
-local newglyph = nodes.glyph
-local newglue = nodes.glue
-
+local newglyph, newglue = nodes.glyph, nodes.glue
local hpack, vpack = node.hpack, node.vpack
typesetting = typesetting or { }
@@ -21,7 +19,7 @@ local function tonodes(str,fontid,spacing) -- don't use this
local head, prev = nil, nil
for s in utfvalues(str) do
local next
- if spacing and s == 32 then
+ if spacing and s == 32 then
next = newglue(spacing or 64*1024*10)
else
next = newglyph(fontid or 1,s)
diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv
index 272ef0544..b0e9f858d 100644
--- a/tex/context/base/pack-rul.mkiv
+++ b/tex/context/base/pack-rul.mkiv
@@ -612,8 +612,6 @@
\def\inheritlocalframed[#1]#2[#3]{\letvalue{#1\s!parent}#3}
\def\copylocalframed [#1]#2[#3]{\setvalue{#1\s!parent}{#3}}
-\let\setuplocalframed\getparameters % obsolete
-
\presetlocalframed[\??ol]
\newcount\framednesting
@@ -627,23 +625,33 @@
\unexpanded\def\setupframed
{\dodoubleempty\dosetupframed}
-\def\dosetupframed
+% \def\dosetupframed
+% {\ifsecondargument
+% \@EA\dodoublesetupframed
+% \else
+% \@EA\dosinglesetupframed
+% \fi}
+
+% we can consider setting the parent of the regular framed to
+% something else in the otr so that we isolate it there
+
+\def\dosetupframed[#1][#2]%
{\ifsecondargument
- \@EA\dodoublesetupframed
+ \getparameters[\??ol#1][#2]%
\else
- \@EA\dosinglesetupframed
+ \getparameters[\??ol][#1]%
\fi}
-\def\dosinglesetupframed[#1][#2]%
- {\getparameters[\??ol][#1]}
+% \def\dosinglesetupframed[#1][#2]%
+% {\getparameters[\??ol][#1]}
-\def\dodoublesetupframed[#1][#2]%
- {\bgroup
- \let\dodoubleempty\empty
- \def\doframed[##1]{\gdef\globalredefinedframed{\dodoubleempty\doframed[##1,#2]}}%
- \getvalue{#1}%
- \egroup
- \letvalue{#1}\globalredefinedframed}
+% \def\dodoublesetupframed[#1][#2]%
+% {\bgroup
+% \let\dodoubleempty\empty
+% \def\doframed[##1]{\gdef\globalredefinedframed{\dodoubleempty\doframed[##1,#2]}}%
+% \getvalue{#1}%
+% \egroup
+% \letvalue{#1}\globalredefinedframed}
%D \startbuffer
%D \setupframed [framecolor=yellow] \framed{A}
@@ -655,7 +663,6 @@
%D
%D \startbuffer
%D \presetlocalframed[myframed]
-%D \setuplocalframed[myframed][width=4cm,height=2cm]
%D \localframed[myframed][framecolor=green]{oeps}
%D \stopbuffer
%D
@@ -884,7 +891,7 @@
% todo: protect local \framednames
-\unexpanded\def\startlocalframed[#1][#2]%
+\unexpanded\def\startlocalframed[#1][#2]% it should be possible to set \@@framed before calling this which saves a [] scan
{\bgroup
\inframedtrue
\edef\@@framed{#1}%
@@ -2829,17 +2836,49 @@
%D One can also define simple framed texts, using:
%D
%D \showsetup{defineframed}
+%D
+%D As suggested by Wolfgang we can now use the new \MKIV\ inheritance
+%D model instead of passing a combination of arguments. This also
+%D also simplified the \type {\setupframed} command. There are
+%D certainly more places where such improvements can be made.
+
+% \unexpanded\def\defineframed
+% {\dodoubleempty\dodefineframed}
+%
+% \def\dodefineframed[#1][#2]%
+% {\iffirstargument
+% \setuvalue{#1}{\dodoubleempty\doframed[#2]}%
+% \fi}
+%
+% \def\doframed[#1][#2]%
+% {\framed[#1,#2]}
-\unexpanded\def\defineframed
+\def\defineframed
{\dodoubleempty\dodefineframed}
\def\dodefineframed[#1][#2]%
- {\iffirstargument
- \setuvalue{#1}{\dodoubleempty\doframed[#2]}%
- \fi}
+ {\ifcsname\??ol:#1\endcsname
+ % already defined, keeps settings
+ \else
+ \expandafter\newcount\csname\??ol:#1\endcsname % \the\everypresetframed
+ \fi
+ \getparameters[\??ol#1][\s!parent=\??ol,#2]%
+ \setuvalue{#1}{\doframed[#1]}}% % \the\everydefineframed
+
+\def\doframed[#1]% we can speed up startlocalframed by using \currentlocalframed
+ {\bgroup
+ \expandafter\let\expandafter\tempframedcount\csname\??ol:#1\endcsname
+ \advance\tempframedcount\plusone
+ \expandafter\def\csname\??ol#1:\the\tempframedcount\s!parent\endcsname{\??ol#1}% \copylocalframed
+ \dodoubleempty\startlocalframed[\??ol#1:\the\tempframedcount]}
-\def\doframed[#1][#2]%
- {\framed[#1,#2]}
+%D We can do:
+%D
+%D \starttyping
+%D \defineframed[\v!framed]
+%D \stoptyping
+%D
+%D but the existing one is ok as well (less csname messy too).
%D \macros
%D {textrule, starttextrule, setuptextrules}
@@ -3521,6 +3560,9 @@
\setuplinewidth
[\v!medium]
+% We could omit the empty setings but that is some 10% slower due to
+% extra testing in the chain.
+
\setupframed
[\c!width=\v!fit,
\c!height=\v!broad,
@@ -3554,12 +3596,12 @@
\c!align=,
\c!bottom=\vss,
\c!top=,
- \c!strut=\v!yes,
\c!autostrut=\v!yes,
\c!location=\v!normal,
\c!orientation=,
\c!autowidth=\v!yes,
- \c!setups=]
+ \c!setups=,
+ \c!strut=\v!yes]
\setupscreens
[%\c!factor=1.0, % obsolete
diff --git a/tex/context/base/page-lin.lua b/tex/context/base/page-lin.lua
index e11730eae..f8daa84f4 100644
--- a/tex/context/base/page-lin.lua
+++ b/tex/context/base/page-lin.lua
@@ -27,11 +27,16 @@ storage.register("lines/data", nodes.lines.data, "nodes.lines.data")
-- if there is demand for it, we can support multiple numbering streams
-- and use more than one attibute
-local hlist, vlist, whatsit = node.id('hlist'), node.id('vlist'), node.id('whatsit')
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local whatsit = nodecodes.whatsit
local display_math = attributes.private('display-math')
local line_number = attributes.private('line-number')
local line_reference = attributes.private('line-reference')
+local verbatim_line = attributes.private('verbatim-line')
local current_list = { }
local cross_references = { }
@@ -45,8 +50,6 @@ local hpack_node = node.hpack
local insert_node_after = node.insert_after
local insert_node_before = node.insert_before
-local whatsit = node.id("whatsit")
-
local data = nodes.lines.data
local last = #data
@@ -147,21 +150,28 @@ end
local the_left_margin = nodes.the_left_margin
-local function check_number(n,a,skip) -- move inline
+local function check_number(n,a,skip,sameline)
local d = data[a]
if d then
- local s = d.start or 1
+ local tag, skipflag, s = d.tag or "", 0, d.start or 1
current_list[#current_list+1] = { n, s }
- if not skip and s % d.step == 0 then
- local tag = d.tag or ""
- texsprint(ctxcatcodes, format("\\makenumber{%s}{%s}{%s}{%s}{%s}{%s}\\endgraf",tag,s,n.shift,n.width,the_left_margin(n.list),n.dir))
+ if sameline then
+ skipflag = 0
+ if trace_numbers then
+ report_lines("skipping broken line number %s for setup %s: %s (%s)",#current_list,a,s,d.continue or "no")
+ end
+ elseif not skip and s % d.step == 0 then
+ skipflag, d.start = 1, s + 1 -- (d.step or 1)
if trace_numbers then
report_lines("making number %s for setup %s: %s (%s)",#current_list,a,s,d.continue or "no")
end
else
- texsprint(ctxcatcodes, "\\skipnumber\\endgraf")
+ skipflag, d.start = 0, s + 1 -- (d.step or 1)
+ if trace_numbers then
+ report_lines("skipping line number %s for setup %s: %s (%s)",#current_list,a,s,d.continue or "no")
+ end
end
- d.start = s + 1 -- (d.step or 1)
+ context.makelinenumber(tag,skipflag,s,n.shift,n.width,the_left_margin(n.list),n.dir)
end
end
@@ -170,12 +180,13 @@ function nodes.lines.boxed.stage_one(n)
local head = texbox[n]
if head then
local list = head.list
- local last_a, skip = nil, false
+ local last_a, last_v, skip = nil, -1, false
for n in traverse_id(hlist,list) do -- attr test here and quit as soon as zero found
if n.height == 0 and n.depth == 0 then
-- skip funny hlists
else
- local a = has_attribute(n.list,line_number)
+ local list = n.list
+ local a = has_attribute(list,line_number)
if a and a > 0 then
if last_a ~= a then
if data[a].method == variables.next then
@@ -188,10 +199,13 @@ function nodes.lines.boxed.stage_one(n)
check_number(n,a,skip)
end
else
- -- the following test fails somehow (change in luatex?)
- -- if node.first_character(n.list) then
+ local v = has_attribute(list,verbatim_line)
+ if not v or v ~= last_v then
+ last_v = v
check_number(n,a,skip)
- -- end
+ else
+ check_number(n,a,skip,true)
+ end
end
skip = false
end
diff --git a/tex/context/base/page-lin.mkiv b/tex/context/base/page-lin.mkiv
index 51f027639..e9df56aa6 100644
--- a/tex/context/base/page-lin.mkiv
+++ b/tex/context/base/page-lin.mkiv
@@ -42,11 +42,7 @@
% id nr shift width leftskip dir
-% \def\mkskiplinenumber #1#2#3#4#6#5{}
-% \def\mkleftlinenumber #1#2#3#4#5#6{\hbox{\llap{#2\quad\hskip#3\scaledpoint}}}
-% \def\mkrightlinenumber#1#2#3#4#5#6{\hbox{\rlap{\hskip#4\scaledpoint\hskip#3\scaledpoint\quad#2}}}
-
-\let\makenumber\gobblesixarguments
+\let\makelinenumber\gobblesevenarguments
\newconditional\boxcontentneedsprocessing
@@ -235,8 +231,6 @@
% number placement
-\let\mkskiplinenumber \gobblesixarguments
-
\def\mkdoinnerlinenumber{\doifoddpageelse\mkdoleftlinenumber\mkdorightlinenumber}
\def\mkdoouterlinenumber{\doifoddpageelse\mkdorightlinenumber\mkdoleftlinenumber}
@@ -278,47 +272,53 @@
\expandafter\mkdobeginlinenumber
\fi}
+\newconditional\faketextlinenumber
+
\def\mkaddtextlinenumbers#1#2#3% box col max
{\bgroup
\chardef\linenumberbox #1\relax
\chardef\linenumbercolumn #2\relax
\chardef\linenumberlastcolumn#3\relax
\fullrestoreglobalbodyfont
- \def\skipnumber{\hbox{}}%
- \let\makenumber\maketextlinenumber
+ \let\makelinenumber\maketextlinenumber
\mkprocesstextlinenumbers\linenumberbox
\egroup}
-\def\maketextlinenumber#1%
+\def\maketextlinenumber#1#2%
{\edef\currentlinenumbering{#1}%
+ \ifcase#2\relax
+ \settrue \faketextlinenumber
+ \else
+ \setfalse\faketextlinenumber
+ \fi
\chardef\linenumberlocation \executeifdefined{\??rn:l:\linenumberparameter\c!location}\plusone % left
\chardef\linenumberalignment\executeifdefined{\??rn:a:\linenumberparameter\c!align }\plusfive % auto
\ifcase\linenumberlastcolumn\relax
- \let\domakenumber\mkskiplinenumber
+ \settrue \faketextlinenumber
\or
% one column
\ifcase\linenumberlocation
- \let\domakenumber\mkskiplinenumber
+ \settrue \faketextlinenumber
% hm
\or
- \let\domakenumber\mkleftlinenumber
+ \let\domakelinenumber\mkleftlinenumber
\or
- \let\domakenumber\mkrightlinenumber
+ \let\domakelinenumber\mkrightlinenumber
\or % inner
- \let\domakenumber\mkdoinnerlinenumber
+ \let\domakelinenumber\mkdoinnerlinenumber
\or % outer
- \let\domakenumber\mkdoouterlinenumber
+ \let\domakelinenumber\mkdoouterlinenumber
\or % text
- \let\domakenumber\mkdotextlinenumber
+ \let\domakelinenumber\mkdotextlinenumber
\or
- \let\domakenumber\mkdobeginlinenumber
+ \let\domakelinenumber\mkdobeginlinenumber
\or
- \let\domakenumber\mkdoendlinenumber
+ \let\domakelinenumber\mkdoendlinenumber
\fi
\else\ifcase\linenumbercolumn\relax
- \let\domakenumber\mkskiplinenumber
+ \settrue \faketextlinenumber
\or
- \let\domakenumber\mkleftlinenumber
+ \let\domakelinenumber\mkleftlinenumber
\ifcase\linenumberlocation\or
\chardef\linenumberlocation\plusone
\or
@@ -335,7 +335,7 @@
\chardef\linenumberlocation\plusone % todo
\fi
\else
- \let\domakenumber\mkrightlinenumber
+ \let\domakelinenumber\mkrightlinenumber
\ifcase\linenumberlocation\or
\chardef\linenumberlocation\plustwo
\or
@@ -350,7 +350,7 @@
\chardef\linenumberlocation\plustwo % todo
\fi
\fi\fi
- \domakenumber{#1}}
+ \domakelinenumber{#1}}
\def\mkdotextlinenumber #1#2#3#4#5#6% beware, one needs so compensate for this in the width !
{\hbox{\dosomelinenumber{#1}{2}{#2}{#5}\hskip#3\scaledpoint}}
@@ -420,11 +420,15 @@
\or
\doifoddpageelse\hss\relax % outer
\fi
- \linenumberattributes\c!style\c!color
- {\linenumberparameter\c!command
- {\linenumberparameter\c!left
- \convertnumber{\linenumberparameter\c!conversion}{#3}%
- \linenumberparameter\c!right}}%
+ \ifconditional\faketextlinenumber
+ % we need to reserve space
+ \else
+ \linenumberattributes\c!style\c!color
+ {\linenumberparameter\c!command
+ {\linenumberparameter\c!left
+ \convertnumber{\linenumberparameter\c!conversion}{#3}%
+ \linenumberparameter\c!right}}%
+ \fi
\ifcase\linenumberlocation
\hss % middle
\or
diff --git a/tex/context/base/page-mul.mkii b/tex/context/base/page-mul.mkii
index c78af074a..801ae5d65 100644
--- a/tex/context/base/page-mul.mkii
+++ b/tex/context/base/page-mul.mkii
@@ -1179,11 +1179,11 @@
\egroup}
\def\multicolumnseject
- {\ifdim\pagetotal>\textheight
- \eject % new
- \else
+ {%\ifdim\pagetotal>\textheight
+ % \eject % new, but wrong as fails on mixed-001.tex (wrong pagetotal at this point)
+ %\else
\allowbreak
- \fi}
+ }%\fi}
%D The multicolumn mechanism is incorporated in a \CONTEXT\
%D interface, which acts like:
diff --git a/tex/context/base/page-mul.mkiv b/tex/context/base/page-mul.mkiv
index 791f328c5..ff0c9e502 100644
--- a/tex/context/base/page-mul.mkiv
+++ b/tex/context/base/page-mul.mkiv
@@ -1028,30 +1028,27 @@
\dontshowcomposition
\widowpenalty\zerocount
\setbox0\vbox{\unvbox\normalpagebox}%
-\ifdim\ht0>\openlineheight % at least one line
- \ifnum\minbalancetoplines<2 % balance anyway
- \donetrue
- \else % check criterium to available lines
- \getnoflines{\ht0}%
- \divide\noflines \nofcolumns \relax
- \ifnum\noflines<\minbalancetoplines \relax
- \dimen0\ht0
- \advance\dimen0 \ht\firsttopcolumnbox
- \advance\dimen0 \openlineheight \relax % let's play safe
- \ifdim\dimen0>\columntextheight % column exceeding text height
- \donetrue
- \else % it seems to fit
- \donefalse
- \fi
- \else % balance indeed
- \donetrue
- \fi
+ \ifdim\ht0>\openlineheight % at least one line
+ \ifnum\minbalancetoplines<2 % balance anyway
+ \donetrue
+ \else % check criterium to available lines
+ \getnoflines{\ht0}%
+ \divide\noflines \nofcolumns \relax
+ \ifnum\noflines<\minbalancetoplines \relax
+ % let's play safe
+ \ifdim\dimexpr\ht0+\ht\firsttopcolumnbox+\openlineheight\relax>\columntextheight
+ \donetrue % column exceeding text height
+ \else
+ \donefalse % it seems to fit
+ \fi
+ \else % balance indeed
+ \donetrue
+ \fi
+ \fi
+ \else % balancing does not make sense
+ \donefalse
\fi
-\else % balancing does not make sense
- \donefalse
-\fi
-\ifdone % start balancing
- %\ifdim\ht0>\openlineheight
+ \ifdone % start balancing, was: \ifdim\ht0>\openlineheight
\dimen0\ht0
\advance\dimen0 \topskip
\advance\dimen0 -\baselineskip
@@ -1174,11 +1171,11 @@
\egroup}
\def\multicolumnseject
- {\ifdim\pagetotal>\textheight
- \eject % new
- \else
+ {%\ifdim\pagetotal>\textheight
+ % \eject % new, but wrong as fails on mixed-001.tex (wrong pagetotal at this point)
+ %\else
\allowbreak
- \fi}
+ }%\fi}
%D The multicolumn mechanism is incorporated in a \CONTEXT\
%D interface, which acts like:
diff --git a/tex/context/base/scrn-nav.mkiv b/tex/context/base/scrn-nav.mkiv
index 264e3ded2..04b404a78 100644
--- a/tex/context/base/scrn-nav.mkiv
+++ b/tex/context/base/scrn-nav.mkiv
@@ -217,7 +217,6 @@
[\c!state=\v!stop,
\c!page=\v!no,
\c!click=\v!yes,
- \c!display=,
\c!openaction=,
\c!closeaction=,
\c!openpageaction=,
diff --git a/tex/context/base/spac-ver.lua b/tex/context/base/spac-ver.lua
index e06cb0ded..571e9f3ca 100644
--- a/tex/context/base/spac-ver.lua
+++ b/tex/context/base/spac-ver.lua
@@ -72,13 +72,15 @@ local hpack_node = node.hpack
local vpack_node = node.vpack
local writable_spec = nodes.writable_spec
-local glyph = node.id("glyph")
-local penalty = node.id("penalty")
-local kern = node.id("kern")
-local glue = node.id('glue')
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
-local adjust = node.id('adjust')
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local penalty = nodecodes.penalty
+local kern = nodecodes.kern
+local glue = nodecodes.glue
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
+local adjust = nodecodes.adjust
vspacing = vspacing or { }
vspacing.data = vspacing.data or { }
@@ -157,8 +159,8 @@ function vspacing.define_snap_method(name,method)
tex.write(n)
end
---~ local rule_id = node.id("rule")
---~ local vlist_id = node.id("vlist")
+--~ local rule_id = nodecodes.rule
+--~ local vlist_id = nodecodes.vlist
--~ function nodes.makevtop(n)
--~ if n.id == vlist_id then
--~ local list = n.list
@@ -530,47 +532,18 @@ end
-- alignment box begin_of_par vmode_par hmode_par insert penalty before_display after_display
-local user_skip = 0
-local line_skip = 1
-local baseline_skip = 2
-local par_skip = 3
-local above_display_skip = 4
-local below_display_skip = 5
-local above_display_short_skip = 6
-local below_display_short_skip = 7
-local left_skip_code = 8
-local right_skip_code = 9
-local top_skip_code = 10
-local split_top_skip_code = 11
-local tab_skip_code = 12
-local space_skip_code = 13
-local xspace_skip_code = 14
-local par_fill_skip_code = 15
-local thin_mu_skip_code = 16
-local med_mu_skip_code = 17
-local thick_mu_skip_code = 18
-
-local skips = {
- [ 0] = "user_skip",
- [ 1] = "line_skip",
- [ 2] = "baseline_skip",
- [ 3] = "par_skip",
- [ 4] = "above_display_skip",
- [ 5] = "below_display_skip",
- [ 6] = "above_display_short_skip",
- [ 7] = "below_display_short_skip",
- [ 8] = "left_skip_code",
- [ 9] = "right_skip_code",
- [10] = "top_skip_code",
- [11] = "split_top_skip_code",
- [12] = "tab_skip_code",
- [13] = "space_skip_code",
- [14] = "xspace_skip_code",
- [15] = "par_fill_skip_code",
- [16] = "thin_mu_skip_code",
- [17] = "med_mu_skip_code",
- [18] = "thick_mu_skip_code",
-}
+local skipcodes = nodes.skipcodes
+
+local userskip_code = skipcodes.userskip
+local lineskip_code = skipcodes.lineskip
+local baselineskip_code = skipcodes.baselineskip
+local parskip_code = skipcodes.parskip
+local abovedisplayskip_code = skipcodes.abovedisplayskip
+local belowdisplayskip_code = skipcodes.belowdisplayskip
+local abovedisplayshortskip_code = skipcodes.abovedisplayshortskip
+local belowdisplayshortskip_code = skipcodes.belowdisplayshortskip
+local topskip_code = skipcodes.topskip
+local splittopskip_code = skipcodes.splittopskip
local free_glue_node = free_node
local discard, largest, force, penalty, add, disable, nowhite, goback, together = 0, 1, 2, 3, 4, 5, 6, 7, 8
@@ -706,7 +679,7 @@ local function collapser(head,where,what,trace,snap) -- maybe also pass tail
elseif id ~= glue then
flush("something else")
current = current.next
- elseif subtype == user_skip then -- todo, other subtypes, like math
+ elseif subtype == userskip_code then -- todo, other subtypes, like math
local sc = has_attribute(current,skip_category) -- has no default, no unset (yet)
local so = has_attribute(current,skip_order ) or 1 -- has 1 default, no unset (yet)
local sp = has_attribute(current,skip_penalty ) -- has no default, no unset (yet)
@@ -832,7 +805,7 @@ local function collapser(head,where,what,trace,snap) -- maybe also pass tail
if sc == force then
force_glue = true
end
- elseif subtype == line_skip then
+ elseif subtype == lineskip_code then
if snap then
local s = has_attribute(current,snap_method)
if s and s ~= 0 then
@@ -853,7 +826,7 @@ local function collapser(head,where,what,trace,snap) -- maybe also pass tail
flush("lineskip")
end
current = current.next
- elseif subtype == baseline_skip then
+ elseif subtype == baselineskip_code then
if snap then
local s = has_attribute(current,snap_method)
if s and s ~= 0 then
@@ -874,7 +847,7 @@ local function collapser(head,where,what,trace,snap) -- maybe also pass tail
flush("baselineskip")
end
current = current.next
- elseif subtype == par_skip then
+ elseif subtype == parskip_code then
-- parskip always comes later
if ignore_whitespace then
if trace then trace_natural("ignored parskip",current) end
@@ -892,7 +865,7 @@ local function collapser(head,where,what,trace,snap) -- maybe also pass tail
if trace then trace_natural("honored parskip",current) end
head, current, glue_data = remove_node(head, current)
end
- elseif subtype == top_skip_code or subtype == split_top_skip_code then
+ elseif subtype == topskip_code or subtype == splittopskip_code then
if snap then
local s = has_attribute(current,snap_method)
if s and s ~= 0 then
@@ -911,25 +884,25 @@ local function collapser(head,where,what,trace,snap) -- maybe also pass tail
flush("topskip")
end
current = current.next
- elseif subtype == above_display_skip then
+ elseif subtype == abovedisplayskip_code then
--
if trace then trace_skip("above display skip (normal)",sc,so,sp,current) end
flush("above display skip (normal)")
current = current.next
--
- elseif subtype == below_display_skip then
+ elseif subtype == belowdisplayskip_code then
--
if trace then trace_skip("below display skip (normal)",sc,so,sp,current) end
flush("below display skip (normal)")
current = current.next
--
- elseif subtype == above_display_short_skip then
+ elseif subtype == abovedisplayshortskip_code then
--
if trace then trace_skip("above display skip (short)",sc,so,sp,current) end
flush("above display skip (short)")
current = current.next
--
- elseif subtype == below_display_short_skip then
+ elseif subtype == belowdisplayshortskip_code then
--
if trace then trace_skip("below display skip (short)",sc,so,sp,current) end
flush("below display skip (short)")
@@ -937,7 +910,7 @@ local function collapser(head,where,what,trace,snap) -- maybe also pass tail
--
else -- other glue
if snap and trace_vsnapping and current.spec.writable and current.spec.width ~= 0 then
- report_snapper("%s of %s (kept)",skips[subtype],current.spec.width)
+ report_snapper("%s of %s (kept)",skipcodes[subtype],current.spec.width)
--~ current.spec.width = 0
end
if trace then trace_skip(format("some glue (%s)",subtype),sc,so,sp,current) end
@@ -1083,8 +1056,10 @@ end
local attribute = attributes.private('graphicvadjust')
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
+local nodecodes = nodes.nodecodes
+
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
local remove_node = nodes.remove
local hpack_node = node.hpack
diff --git a/tex/context/base/strc-bkm.lua b/tex/context/base/strc-bkm.lua
index 79ed867de..5fe9325a6 100644
--- a/tex/context/base/strc-bkm.lua
+++ b/tex/context/base/strc-bkm.lua
@@ -16,8 +16,9 @@ local texsprint, utfvalues = tex.sprint, string.utfvalues
local ctxcatcodes = tex.ctxcatcodes
-local lists = structure.lists
-local levelmap = structure.sections.levelmap
+local lists = structure.lists
+local levelmap = structure.sections.levelmap
+local variables = interfaces.variables
structure.bookmarks = structure.bookmarks or { }
@@ -25,11 +26,29 @@ local bookmarks = structure.bookmarks
bookmarks.method = "internal" -- or "page"
-local names, opened = "", ""
-
-function bookmarks.register(n,o)
- if names == "" then names = n else names = names .. "," .. n end
- if opened == "" then opened = o else opened = opened .. "," .. o end
+local names, opened, forced, numbered = { }, { }, { }, { }
+
+function bookmarks.register(settings)
+ local force = settings.force == variables.yes
+ local number = settings.number == variables.yes
+ local allopen = settings.opened == variables.all
+ for k, v in next, aux.settings_to_hash(settings.names or "") do
+ names[k] = true
+ if force then
+ forced[k] = true
+ if allopen then
+ opened[k] = true
+ end
+ end
+ if number then
+ numbered[k] = true
+ end
+ end
+ if not allopen then
+ for k, v in next, aux.settings_to_hash(settings.opened or "") do
+ opened[k] = true
+ end
+ end
end
function bookmarks.overload(name,text)
@@ -63,23 +82,32 @@ end
-- todo: collect specs and collect later i.e. multiple places
+local numberspec = { }
+
+function structure.bookmarks.setup(spec)
+ -- table.merge(numberspec,spec)
+ for k, v in next, spec do
+ numberspec[k] = v
+ end
+end
+
function bookmarks.place()
- if names ~= "" then
- local list = lists.filter(names,"all",nil,lists.collected)
- local lastlevel = 1
+ if next(names) then
+ local list = lists.filter_collected(names,"all",nil,lists.collected,forced)
if #list > 0 then
- local opened, levels = aux.settings_to_set(opened), { }
+ local levels, lastlevel = { }, 1
for i=1,#list do
local li = list[i]
local metadata = li.metadata
local name = metadata.name
- if not metadata.nolist then -- and levelmap[name] then
+ if not metadata.nolist or forced[name] then -- and levelmap[name] then
local titledata = li.titledata
if titledata then
local structural = levelmap[name]
lastlevel = structural or lastlevel
local title = titledata.bookmark
if not title or title == "" then
+ -- We could typeset the title and then convert it.
if not structural then
-- placeholder, todo: bookmarklabel
title = name .. ": " .. (titledata.title or "?")
@@ -87,47 +115,34 @@ function bookmarks.place()
title = titledata.title or "?"
end
end
+ if numbered[name] then
+ local sectiondata = jobsections.collected[li.references.section]
+ local numberdata = li.numberdata
+ if sectiondata and numberdata and not numberdata.hidenumber then
+ -- we could typeset the number and convert it
+ title = concat(structure.sections.typesetnumber(sectiondata,"direct",numberspec,sectiondata)) .. " " .. title
+ end
+ end
levels[#levels+1] = {
lastlevel,
- stripped(title),
+ stripped(title), -- can be replaced by converter
li.references, -- has internal and realpage
allopen or opened[name]
}
end
end
end
- backends.codeinjections.addbookmarks(levels,bookmarks.method)
+ bookmarks.finalize(levels)
end
function bookmarks.place() end -- prevent second run
end
end
-lpdf.registerdocumentfinalizer(function() structure.bookmarks.place() end,1,"bookmarks")
+function bookmarks.finalize(levels)
+ -- This function can be overloaded by an optional converter
+ -- that uses nodes.toutf on a typeset stream. This is something
+ -- that we will support when the main loop has become a coroutine.
+ backends.codeinjections.addbookmarks(levels,bookmarks.method)
+end
--- bkm
---~ function nodes.toutf(list)
---~ local t= { }
---~ for n in node.traverse(list) do
---~ local id = n.id
---~ if id == node.id("glyph") then
---~ local c = n.char
---~ local f = fonts.ids[n.font]
---~ if f then
---~ local u = f.characters[c].tounicode
---~ if u then
---~ for s in string.gmatch(u,"..") do
---~ t[#t+1] = utf.char(tonumber(s,16))
---~ end
---~ else
---~ t[#t+1] = utf.char(c)
---~ end
---~ else
---~ t[#t+1] = utf.char(c)
---~ end
---~ elseif id == node.id("glue") then
---~ t[#t+1] = " "
---~ end
---~ end
---~ return table.concat(t,"")
---~ end
---~ print(nodes.toutf(tex.box[999].list))
+lpdf.registerdocumentfinalizer(function() structure.bookmarks.place() end,1,"bookmarks")
diff --git a/tex/context/base/strc-bkm.mkiv b/tex/context/base/strc-bkm.mkiv
index 77854738d..f0cfa2a2f 100644
--- a/tex/context/base/strc-bkm.mkiv
+++ b/tex/context/base/strc-bkm.mkiv
@@ -55,18 +55,56 @@
%D Placement \unknown\ look how simple compared to \MKII:
+\newtoks \everysetupbookmarks
+
+\def\bookmarkparameter#1{\ifcsname\??bm#1\endcsname\csname\??bm#1\endcsname\fi}
+
+\unexpanded\def\setupbookmarks[#1]%
+ {\getparameters[\??bm][#1]%
+ \the\everysetupbookmarks}
+
\unexpanded\def\placebookmarks
- {\dodoubleempty\doplacebookmarks}
+ {\dotripleempty\doplacebookmarks}
-\def\doplacebookmarks[#1][#2]%
+\def\doplacebookmarks[#1][#2][#3]%
{\iflocation
- \iffirstargument
- \ctxlua{structure.bookmarks.register("#1","#2")}%
- \else
- \normalexpanded{\noexpand\placebookmarks[\getvalue{\??ih\v!content\c!list}]}%
+ \begingroup
+ \edef\askednames{#1}%
+ \edef\askedopened{#2}%
+ \ifx\askednames\empty
+ \edef\askednames{\getvalue{\??ih\v!content\c!list}}%
\fi
+ \ifx\askednames\empty
+ \let\askednames\v!all
+ \fi
+ \ifthirdargument
+ \getparameters[\??bm][#3]%
+ \else\ifsecondargument
+ \doifassignmentelse{#2}{\let\askedopened\empty\getparameters[\??bm][#2]}\donothing
+ \fi\fi
+ \ctxlua{structure.bookmarks.register {
+ names = "\askednames",
+ opened = "\askedopened",
+ force = "\bookmarkparameter\c!force",
+ number = "\bookmarkparameter\c!number",
+ }}%
+ \endgroup
\fi}
+\setupbookmarks
+ [\c!force=\v!no, % it's easier to force that to inhibit
+ \c!number=\v!yes] % might become v!no
+
+\appendtoks
+ \ctxlua{structure.bookmarks.setup {
+ separatorset = "\bookmarkparameter\c!numberseparatorset",
+ conversionset = "\bookmarkparameter\c!numberconversionset",
+ starter = \!!bs\bookmarkparameter\c!numberstarter\!!es,
+ stopper = \!!bs\bookmarkparameter\c!numberstopper\!!es,
+ segments = "\bookmarkparameter\c!numbersegments",
+ }}%
+\to \everysetupbookmarks
+
% \prependtoks\ctxlua{structure.bookmarks.place()}\to\everystoptext % too late
% \prependtoks\ctxlua{structure.bookmarks.place()}\to\everylastbackendshipout % okay but not nice
diff --git a/tex/context/base/strc-blk.lua b/tex/context/base/strc-blk.lua
index 2589190eb..25c4f2cae 100644
--- a/tex/context/base/strc-blk.lua
+++ b/tex/context/base/strc-blk.lua
@@ -73,8 +73,6 @@ function blocks.setstate(state,name,tag)
end
end
---~ filter_collected(names, criterium, number, collected)
-
function blocks.select(state,name,tag,criterium)
criterium = criterium or "text"
if find(tag,"=") then tag = "" end
@@ -83,7 +81,7 @@ function blocks.select(state,name,tag,criterium)
local tags = not all and aux.settings_to_set(tag)
local hide = state == "process"
local n = structure.sections.number_at_depth(criterium)
- local result = structure.lists.filter_collected("all", criterium, n, collected)
+ local result = structure.lists.filter_collected("all", criterium, n, collected, { })
for i=1,#result do
local ri = result[i]
local metadata = ri.metadata
diff --git a/tex/context/base/strc-des.mkiv b/tex/context/base/strc-des.mkiv
index 42ea701f0..d528ffae9 100644
--- a/tex/context/base/strc-des.mkiv
+++ b/tex/context/base/strc-des.mkiv
@@ -374,13 +374,14 @@
\def\@@stopdescription
{\@@placedescriptionclosesymbol
- \par % else we loose
-\dostoptagged
-\dostoptagged
+ \doifnot{\descriptionparameter\c!display}\v!no\par
+ \dostoptagged
+ \dostoptagged
\endgroup
\descriptionparameter\c!after % which currentdescription is taken here?
- \egroup % temporary hack
- \checknextindentation[\descriptionparameter\c!indentnext]
+ \normalexpanded
+ {\egroup % temporary hack
+ \noexpand\checknextindentation[\descriptionparameter\c!indentnext]}%
\dorechecknextindentation}
\def\@@dodescription
@@ -422,12 +423,12 @@
\ifcsname @@description\currentdescriptionlocation\endcsname \else
\let\currentdescriptionlocation\v!left
\fi
-\dostarttagged\t!description\currentdescription
-\dostarttagged\t!descriptiontag\empty
+ \dostarttagged\t!description\currentdescription
+ \dostarttagged\t!descriptiontag\empty
\@@dostartdescription
\csname @@description\currentdescriptionlocation\endcsname
-\dostoptagged
-\dostarttagged\t!descriptioncontent\empty} % args not needed
+ \dostoptagged
+ \dostarttagged\t!descriptioncontent\empty} % args not needed
\def\@@makedescription[#1]#2%
{\postponenotes % new, assumes grouping
@@ -1048,6 +1049,7 @@
\c!titleright=),
\c!closesymbol=,
\c!closecommand=\wordright,
+ \c!display=\v!yes,
\c!command=,
\c!titlecommand=]
diff --git a/tex/context/base/strc-doc.lua b/tex/context/base/strc-doc.lua
index 0c5cea64f..3b696fbb0 100644
--- a/tex/context/base/strc-doc.lua
+++ b/tex/context/base/strc-doc.lua
@@ -39,6 +39,9 @@ local sections = structure.sections
local sets = structure.sets
local processors = structure.processors
+local sprintprocessor = processors.sprint
+local ignoreprocessor = processors.ignore
+
-- -- -- document -- -- --
local data
@@ -471,6 +474,51 @@ end
-- sign=positive => also zero
-- sign=hang => llap sign
+--~ todo: test this
+--~
+--~ local function process(index,numbers,ownnumbers,criterium,separatorset,conversion,conversionset,index,entry,preceding,done) -- todo: result
+--~ -- todo: too much (100 steps)
+--~ local number = numbers and (numbers[index] or 0)
+--~ local ownnumber = ownnumbers and ownnumbers[index] or ""
+--~ if number > criterium or (ownnumber ~= "") then
+--~ local block = (entry.block ~= "" and entry.block) or sections.currentblock() -- added
+--~ if preceding then
+--~ local separator = sets.get("structure:separators",block,separatorset,preceding,".")
+--~ if result then
+--~ result[#result+1] = ignoreprocessor(separator)
+--~ else
+--~ sprintprocessor(ctxcatcodes,separator)
+--~ end
+--~ preceding = false
+--~ end
+--~ if result then
+--~ if ownnumber ~= "" then
+--~ result[#result+1] = ownnumber
+--~ elseif conversion and conversion ~= "" then -- traditional (e.g. used in itemgroups)
+--~ result[#result+1] = converters.convert(conversion,number,true)
+--~ else
+--~ local theconversion = sets.get("structure:conversions",block,conversionset,index,"numbers")
+--~ result[#result+1] = converters.convert(theconversion,number,true)
+--~ end
+--~ else
+--~ if ownnumber ~= "" then
+--~ sprintprocessor(ctxcatcodes,ownnumber)
+--~ elseif conversion and conversion ~= "" then -- traditional (e.g. used in itemgroups)
+--~ texsprint(ctxcatcodes,format("\\convertnumber{%s}{%s}",conversion,number))
+--~ -- context.convertnumber(conversion,number)
+--~ else
+--~ local theconversion = sets.get("structure:conversions",block,conversionset,index,"numbers")
+--~ sprintprocessor(ctxcatcodes,theconversion,function(str)
+--~ return format("\\convertnumber{%s}{%s}",str or "numbers",number)
+--~ end)
+--~ end
+--~ end
+--~ return index, true -- preceding, done
+--~ else
+--~ return preceding or false, done
+--~ end
+--~ end
+
function sections.typesetnumber(entry,kind,...) -- kind='section','number','prefix'
if entry and entry.hidenumber ~= true then -- can be nil
local separatorset = ""
@@ -535,7 +583,7 @@ function sections.typesetnumber(entry,kind,...) -- kind='section','number','pref
local numbers, ownnumbers = entry.numbers, entry.ownnumbers
if numbers then
local done, preceding = false, false
- local function process(index) -- move to outer
+ local function process(index,result) -- move to outer
-- todo: too much (100 steps)
local number = numbers and (numbers[index] or 0)
local ownnumber = ownnumbers and ownnumbers[index] or ""
@@ -544,22 +592,35 @@ function sections.typesetnumber(entry,kind,...) -- kind='section','number','pref
if preceding then
local separator = sets.get("structure:separators",block,separatorset,preceding,".")
if separator then
- processors.sprint(ctxcatcodes,separator)
+ if result then
+ result[#result+1] = ignoreprocessor(separator)
+ else
+ sprintprocessor(ctxcatcodes,separator)
+ end
end
preceding = false
end
- if ownnumber ~= "" then
- processors.sprint(ctxcatcodes,ownnumber)
- -- elseif conversion and conversion ~= "" then
- -- texsprint(ctxcatcodes,format("\\convertnumber{%s}{%s}",conversion,number))
- elseif conversion and conversion ~= "" then
- -- traditional (e.g. used in itemgroups)
- texsprint(ctxcatcodes,format("\\convertnumber{%s}{%s}",conversion,number))
+ if result then
+ if ownnumber ~= "" then
+ result[#result+1] = ownnumber
+ elseif conversion and conversion ~= "" then -- traditional (e.g. used in itemgroups)
+ result[#result+1] = converters.convert(conversion,number,true)
+ else
+ local theconversion = sets.get("structure:conversions",block,conversionset,index,"numbers")
+ result[#result+1] = converters.convert(theconversion,number,true)
+ end
else
- local theconversion = sets.get("structure:conversions",block,conversionset,index,"numbers")
- processors.sprint(ctxcatcodes,theconversion,function(str)
- return format("\\convertnumber{%s}{%s}",str or "numbers",number)
- end)
+ if ownnumber ~= "" then
+ sprintprocessor(ctxcatcodes,ownnumber)
+ elseif conversion and conversion ~= "" then -- traditional (e.g. used in itemgroups)
+ texsprint(ctxcatcodes,format("\\convertnumber{%s}{%s}",conversion,number))
+ --~ context.convertnumber(conversion,number)
+ else
+ local theconversion = sets.get("structure:conversions",block,conversionset,index,"numbers")
+ sprintprocessor(ctxcatcodes,theconversion,function(str)
+ return format("\\convertnumber{%s}{%s}",str or "numbers",number)
+ end)
+ end
end
preceding, done = index, true
else
@@ -567,11 +628,20 @@ function sections.typesetnumber(entry,kind,...) -- kind='section','number','pref
end
end
--
+ local result = kind == "direct" and { }
+ if result then
+ connector = false
+ end
+ --
local prefixlist = set and sets.getall("structure:prefixes","",set) -- "" == block
if starter then
- processors.sprint(ctxcatcodes,starter)
+ if result then
+ result[#result+1] = ignoreprocessor(starter)
+ else
+ sprintprocessor(ctxcatcodes,starter)
+ end
end
- if prefixlist and (kind == 'section' or kind == 'prefix') then
+ if prefixlist and (kind == 'section' or kind == 'prefix' or kind == 'direct') then
-- find valid set (problem: for sectionnumber we should pass the level)
-- if kind == "section" then
-- no holes
@@ -616,7 +686,7 @@ function sections.typesetnumber(entry,kind,...) -- kind='section','number','pref
local prefix = prefixlist[k]
local index = sections.getlevel(prefix) or k
if index >= firstprefix and index <= lastprefix then
- process(index)
+ process(index,result)
end
end
-- else
@@ -631,15 +701,24 @@ function sections.typesetnumber(entry,kind,...) -- kind='section','number','pref
else
-- also holes check
for prefix=firstprefix,lastprefix do
- process(prefix)
+ process(prefix,result)
end
end
--
if done and connector and kind == 'prefix' then
- processors.sprint(ctxcatcodes,connector)
+ if result then
+ -- can't happen as we're in 'direct'
+ else
+ sprintprocessor(ctxcatcodes,connector)
+ end
elseif done and stopper then
- processors.sprint(ctxcatcodes,stopper)
+ if result then
+ result[#result+1] = ignoreprocessor(stopper)
+ else
+ sprintprocessor(ctxcatcodes,stopper)
+ end
end
+ return result -- a table !
else
-- report_structure("error: no numbers")
end
@@ -686,13 +765,18 @@ function sections.findnumber(depth,what)
end
end
-function sections.fullnumber(depth,what,raw)
+function sections.fullnumber(depth,what)
local sectiondata = sections.findnumber(depth,what)
if sectiondata then
sections.typesetnumber(sectiondata,'section',sectiondata)
end
end
+--~ function sections.directnumber(depth,what)
+--~ local sectiondata = sections.findnumber(depth,what)
+--~ return sectiondata and sections.typesetnumber(sectiondata,'direct',sectiondata) or ""
+--~ end
+
function sections.getnumber(depth,what) -- redefined here
local sectiondata = sections.findnumber(depth,what)
texwrite((sectiondata and sectiondata.numbers[depth]) or 0)
diff --git a/tex/context/base/strc-ini.lua b/tex/context/base/strc-ini.lua
index 36650cd54..f36f79672 100644
--- a/tex/context/base/strc-ini.lua
+++ b/tex/context/base/strc-ini.lua
@@ -232,6 +232,11 @@ function processors.apply(str)
end
end
+function processors.ignore(str)
+ local p, s = lpegmatch(splitter,str)
+ return s or str
+end
+
-- -- -- sets -- -- --
structure.sets = structure.sets or { }
diff --git a/tex/context/base/strc-itm.mkiv b/tex/context/base/strc-itm.mkiv
index e012ce447..40a515a34 100644
--- a/tex/context/base/strc-itm.mkiv
+++ b/tex/context/base/strc-itm.mkiv
@@ -104,7 +104,7 @@
})
}%
\xdef\currentitemattribute{\number\lastdestinationattribute}%
- \begingroup\attribute\destinationattribute\currentitemattribute\kern\zeropoint\endgroup % todo
+ \begingroup\attribute\destinationattribute\currentitemattribute\kern\zeropoint\endgroup % todo, apply attribute to symbol
\fi}
@@ -1258,19 +1258,23 @@
% \item {test} is this okay?
% \stopitemize
-\def\complexitem[#1]#2\par % todo: no two pass data
- {\startitemgroup[#1]%
- \complexdoitemgroupitem[]\begstrut#2\endstrut\par
+% \def\complexitem[#1]#2\par % todo: no two pass data
+% {\startitemgroup[#1]%
+% \complexdoitemgroupitem[]\begstrut#2\endstrut\par
+% \stopitemgroup}
+
+\def\complexitem[#1]#2\par
+ {\doifsomethingelse{#1}{\startitemgroup[#1]}{\startitemgroup[\v!itemize]}%
+ \startitem#2\stopitem
\stopitemgroup}
+\setvalue{\e!start\v!item}%
+ {\startitemgroup[\v!itemize]\startitem
+ \setvalue{\e!stop \v!item}{\endgraf\stopitemgroup}} % inside, else overloaded
+
\definecomplexorsimpleempty\item
\definecomplexorsimpleempty\doitemgroupitem
-\def\complexhead[#1]#2\par#3\par
- {\startitemgroup[#1]%
- \complexdoitemgrouphead[]\begstrut#2\endstrut\par\begstrut#3\endstrut\par
- \stopitemgroup}
-
% the next solution accepts \head test \type{x{x}x} test ...
\let\doenditemhead\relax
diff --git a/tex/context/base/strc-lst.lua b/tex/context/base/strc-lst.lua
index 6af062134..c2c3c41b8 100644
--- a/tex/context/base/strc-lst.lua
+++ b/tex/context/base/strc-lst.lua
@@ -124,25 +124,25 @@ function lists.enhance(n)
end
end
-function lists.enforce(n)
- -- todo: symbolic names for counters
- local l = cached[n]
- if l then
- --
- l.directives = nil -- might change
- -- save in the right order (happens at shipout)
- lists.tobesaved[#lists.tobesaved+1] = l
- -- default enhancer (cross referencing)
- l.references.realpage = texcount.realpageno
- -- specific enhancer (kind of obsolete)
- local kind = l.metadata.kind
- local enhancer = kind and lists.enhancers[kind]
- if enhancer then
- enhancer(l)
- end
- return l
- end
-end
+--~ function lists.enforce(n)
+--~ -- todo: symbolic names for counters
+--~ local l = cached[n]
+--~ if l then
+--~ --
+--~ l.directives = nil -- might change
+--~ -- save in the right order (happens at shipout)
+--~ lists.tobesaved[#lists.tobesaved+1] = l
+--~ -- default enhancer (cross referencing)
+--~ l.references.realpage = texcount.realpageno
+--~ -- specific enhancer (kind of obsolete)
+--~ local kind = l.metadata.kind
+--~ local enhancer = kind and lists.enhancers[kind]
+--~ if enhancer then
+--~ enhancer(l)
+--~ end
+--~ return l
+--~ end
+--~ end
-- we can use level instead but we can also decide to remove level from the metadata
@@ -163,17 +163,17 @@ end
-- will be split
-local function filter_collected(names, criterium, number, collected, nested)
+local function filter_collected(names, criterium, number, collected, forced, nested) -- names is hash or string
local numbers, depth = documents.data.numbers, documents.data.depth
- local hash, result, all, detail = { }, { }, not names or names == "" or names == variables.all, nil
- names, criterium = gsub(names," ",""), gsub(criterium," ","")
- if trace_lists then
- report_lists("filtering names: %s, criterium: %s, number: %s",names,criterium,number or "-")
+ local result, detail = { }, nil
+ criterium = gsub(criterium," ","") -- not needed
+ forced = forced or { } -- todo: also on other branched, for the moment only needed for bookmarks
+ if type(names) == "string" then
+ names = aux.settings_to_hash(names)
end
- if not all then
- for s in gmatch(names,"[^, ]+") do -- sort of settings to hash
- hash[s] = true
- end
+ local all = not next(names) or names[variables.all] or false
+ if trace_lists then
+ report_lists("filtering names: %s, criterium: %s, number: %s",aux.simple_hash_to_string(names),criterium,number or "-")
end
if criterium == variables.intro then
-- special case, no structure yet
@@ -184,15 +184,16 @@ local function filter_collected(names, criterium, number, collected, nested)
result[#result+1] = v
end
end
- elseif criterium == variables.all or criterium == variables.text then
+ elseif all or criterium == variables.all or criterium == variables.text then
for i=1,#collected do
local v = collected[i]
local r = v.references
if r then
- local sectionnumber = (r.section == 0) or jobsections.collected[r.section]
- if sectionnumber then -- and not sectionnumber.hidenumber then
- local metadata = v.metadata
- if metadata and not metadata.nolist and (all or hash[metadata.name or false]) then
+ local metadata = v.metadata
+ if metadata then
+ local name = metadata.name or false
+ local sectionnumber = (r.section == 0) or jobsections.collected[r.section]
+ if forced[name] or (sectionnumber and not metadata.nolist and (all or names[name])) then -- and not sectionnumber.hidenumber then
result[#result+1] = v
end
end
@@ -200,7 +201,7 @@ local function filter_collected(names, criterium, number, collected, nested)
end
elseif criterium == variables.current then
if depth == 0 then
- return filter_collected(names,variables.intro,number,collected)
+ return filter_collected(names,variables.intro,number,collected,forced)
else
for i=1,#collected do
local v = collected[i]
@@ -211,7 +212,7 @@ local function filter_collected(names, criterium, number, collected, nested)
local cnumbers = sectionnumber.numbers
local metadata = v.metadata
if cnumbers then
- if metadata and not metadata.nolist and (all or hash[metadata.name or false]) and #cnumbers > depth then
+ if metadata and not metadata.nolist and (all or names[metadata.name or false]) and #cnumbers > depth then
local ok = true
for d=1,depth do
local cnd = cnumbers[d]
@@ -232,7 +233,7 @@ local function filter_collected(names, criterium, number, collected, nested)
elseif criterium == variables.here then
-- this is quite dirty ... as cnumbers is not sparse we can misuse #cnumbers
if depth == 0 then
- return filter_collected(names,variables.intro,number,collected)
+ return filter_collected(names,variables.intro,number,collected,forced)
else
for i=1,#collected do
local v = collected[i]
@@ -244,7 +245,7 @@ local function filter_collected(names, criterium, number, collected, nested)
local metadata = v.metadata
if cnumbers then
--~ print(#cnumbers, depth, table.concat(cnumbers))
- if metadata and not metadata.nolist and (all or hash[metadata.name or false]) and #cnumbers >= depth then
+ if metadata and not metadata.nolist and (all or names[metadata.name or false]) and #cnumbers >= depth then
local ok = true
for d=1,depth do
local cnd = cnumbers[d]
@@ -264,7 +265,7 @@ local function filter_collected(names, criterium, number, collected, nested)
end
elseif criterium == variables.previous then
if depth == 0 then
- return filter_collected(names,variables.intro,number,collected)
+ return filter_collected(names,variables.intro,number,collected,forced)
else
for i=1,#collected do
local v = collected[i]
@@ -275,7 +276,7 @@ local function filter_collected(names, criterium, number, collected, nested)
local cnumbers = sectionnumber.numbers
local metadata = v.metadata
if cnumbers then
- if metadata and not metadata.nolist and (all or hash[metadata.name or false]) and #cnumbers >= depth then
+ if metadata and not metadata.nolist and (all or names[metadata.name or false]) and #cnumbers >= depth then
local ok = true
for d=1,depth-1 do
local cnd = cnumbers[d]
@@ -296,11 +297,11 @@ local function filter_collected(names, criterium, number, collected, nested)
elseif criterium == variables["local"] then -- not yet ok
local nested = nesting[#nesting]
if nested then
- return filter_collected(names,nested.name,nested.number,collected,nested)
+ return filter_collected(names,nested.name,nested.number,collected,forced,nested)
elseif sections.autodepth(documents.data.numbers) == 0 then
- return filter_collected(names,variables.all,number,collected)
+ return filter_collected(names,variables.all,number,collected,forced)
else
- return filter_collected(names,variables.current,number,collected)
+ return filter_collected(names,variables.current,number,collected,forced)
end
else -- sectionname, number
-- not the same as register
@@ -321,7 +322,7 @@ local function filter_collected(names, criterium, number, collected, nested)
local metadata = v.metadata
local cnumbers = sectionnumber.numbers
if cnumbers then
- if (all or hash[metadata.name or false]) and #cnumbers >= depth and matching_till_depth(depth,cnumbers,parent) then
+ if (all or names[metadata.name or false]) and #cnumbers >= depth and matching_till_depth(depth,cnumbers,parent) then
result[#result+1] = v
end
end
@@ -342,8 +343,8 @@ end
lists.filter_collected = filter_collected
-function lists.filter(names, criterium, number)
- return filter_collected(names, criterium, number, lists.collected)
+function lists.filter(names, criterium, number, forced)
+ return filter_collected(names, criterium, number, lists.collected, forced)
end
lists.result = { }
diff --git a/tex/context/base/strc-lst.mkiv b/tex/context/base/strc-lst.mkiv
index 83faf75a7..5db22d1d7 100644
--- a/tex/context/base/strc-lst.mkiv
+++ b/tex/context/base/strc-lst.mkiv
@@ -577,13 +577,18 @@
\def\domakelistelement#1#2#3#4% ref internal command data
{\dontleavehmode
- \iflocation % we cannot tewak \iflocation as we nest
+ \iflocation % we cannot tweak \iflocation as we nest
\doifelse{\listparameter\c!interaction}{#1}
- {\directgoto{\setlocationcolor\??ia#4}[internal(#2)]}% was \directgotobox
- {#3{#4}}%
- \else
+ {\begingroup
+ \doif{\namedstructureheadparameter\currentlist\c!interaction}\v!list
+ {\dosetsimplepagereference{bck:#2}%
+ \attribute\destinationattribute\currentdestinationattribute}%
+ \directgoto{\setlocationcolor\??ia#4}[internal(#2)]% we can get the attribute instead so then we don't need a goto
+ \endgroup}% was \directgotobox
+ {#3{#4}}%
+ \else
#3{#4}%
- \fi}
+ \fi}
\def\dodofreelistelement#1#2#3#4#5#6#7#8%
{\listparameter\c!before% can be \hskip
diff --git a/tex/context/base/strc-not.lua b/tex/context/base/strc-not.lua
index 466bc7a03..f0bf6cab3 100644
--- a/tex/context/base/strc-not.lua
+++ b/tex/context/base/strc-not.lua
@@ -304,7 +304,11 @@ function notes.flush(tag,whatkind) -- store and postpone
if trace_notes then
report_notes("flushing state %s of %s from %s to %s",whatkind,tag,ns,#nd)
end
+ -- todo: as registers: start, stop, inbetween
for i=ns,#nd do
+ if i > ns then
+ texsprint(ctxcatcodes,format("\\betweennoteitself{%s}",tag))
+ end
texsprint(ctxcatcodes,format("\\handlenoteitself{%s}{%s}",tag,i))
end
end
diff --git a/tex/context/base/strc-not.mkii b/tex/context/base/strc-not.mkii
index f6fae3378..a47d796e0 100644
--- a/tex/context/base/strc-not.mkii
+++ b/tex/context/base/strc-not.mkii
@@ -285,8 +285,6 @@
% todo: make sure less calls, is quite some code
-% BEWARE, OVERLOADED IN cont-new.mkiv
-
\def\dochecknote % only to be called locally, some bools will become class-ones
{% for the moment no mixed text/endnotes modes, so we use
% \footnoteparameter and not \noteparameter (**)
diff --git a/tex/context/base/strc-not.mkiv b/tex/context/base/strc-not.mkiv
index 58229a54f..0a631ce0c 100644
--- a/tex/context/base/strc-not.mkiv
+++ b/tex/context/base/strc-not.mkiv
@@ -195,6 +195,8 @@
%\c!next=\autoinsertnextspace
\c!prefix=\v!no,
%\c!continue=\v!no,
+ \c!paragraph=\v!no,
+ \c!inbetween=\hskip1em,
\c!n=1]
\setupnotes
@@ -338,8 +340,8 @@
% compatibility (will go away)
-\newif\ifendnotes
-\newif\ifbottomnotes
+\newif\ifbottomnotes % still used in page-one.mkiv
+%newif\endnotes % no longer used
% locations:
@@ -371,18 +373,21 @@
\def\dochecknote
{% node states
- \setnotelocation\plusone
- \setnoteposition\plustwo
+ \setnotelocation\plusone % page
+ \setnoteposition\plustwo % high
\normalexpanded{\noexpand\rawprocesscommalist[\noteparameter\c!location]}\dosetcheckednote
% compatibility hack
- \ifnum\noteparameter\s!noteloc=\plusfive \endnotestrue \else \endnotesfalse \fi
+ %ifnum\noteparameter\s!noteloc=\plusfive \endnotestrue \else \endnotesfalse \fi
\ifnum\noteparameter\s!notepos=\plustwo \bottomnotestrue \else \bottomnotesfalse \fi
% set column multiplier
\edef\currentnotenofcolumns{\noteparameter\c!n}%
\ifx\currentnotenofcolumns\empty
\let\currentnotenofcolumns\!!plusone
\fi
- \ifcase\noteparameter\s!noteloc\or
+ \ifcase\noteparameter\s!noteloc
+ % can't happen
+ \scratchcounter\plusone
+ \or
% page
\scratchcounter \currentnotenofcolumns
\or
@@ -399,6 +404,9 @@
\scratchcounter\currentnotenofcolumns
\fi
% column factor
+ \ifcase\scratchcounter
+ \scratchcounter\plusone
+ \fi
\global\count\currentnoteins\plusthousand
\global\count\currentnoteins\numexpr\plusthousand/\scratchcounter\relax
% maximize height
@@ -704,18 +712,28 @@
\normalexpanded{\noexpand\ctxlatelua{structure.notes.setsymbolpage("#1",#2,#3)}}%
\fi}
-\def\handlenoteinsert#1#2%
+\def\handlenoteinsert#1#2% tg, id
{\begingroup
\edef\currentnote{#1}%
\the\everybeforenoteinsert
\insert\currentnoteins\bgroup
\the\everyinsidenoteinsert
\doprocesslocalsetups{\noteparameter\c!setups}% experimental
- \handlenoteitself{#1}{#2}%
+ \doifelse{\noteparameter\c!paragraph}\v!yes
+ {\nointerlineskip
+ \startvboxtohbox
+ \handlenoteitself{#1}{#2}%
+ % add some slack
+ \stopvboxtohbox}
+ {\handlenoteitself{#1}{#2}}%
\egroup
\the\everyafternoteinsert
\endgroup}
+\def\betweennoteitself#1% tg
+ {\edef\currentnote{#1}%
+ \doif{\noteparameter\c!paragraph}\v!yes\dobetweenparagraphnotes}
+
\def\handlenoteitself#1#2% tg, id
{\edef\currentdescription{#1}%
\edef\currentnote{#1}%
@@ -750,10 +768,8 @@
%D mainly because endnotes had to be supported.} that is,
%D automatically (vise versa) and by user supplied reference.
-\newcount\internalnotereference
-
-\let\startpushnote=\relax
-\let\stoppushnote =\relax
+\let\startpushnote\relax
+\let\stoppushnote \relax
\newsignal\notesignal
\newcount \notepenalty
@@ -783,9 +799,9 @@
\splitmaxdepth\strutdp % not actually needed here
\leftmargindistance\noteparameter\c!margindistance
\rightmargindistance\leftmargindistance
- \ifnum\noteparameter\c!n=\zerocount % no ifcase new 31-07-99 ; always ?
- \doifnotinset{\noteparameter\c!width}{\v!fit,\v!broad}\setnotehsize % ?
- \fi
+% \ifnum\noteparameter\c!n=\zerocount % no ifcase new 31-07-99 ; always ?
+% \doifnotinset{\noteparameter\c!width}{\v!fit,\v!broad}\setnotehsize % ?
+% \fi
\to \everyinsidenoteinsert
% not: \appendtoks \setnotehsize \to \everyinsidenoteinsert (spoils columns)
@@ -836,6 +852,47 @@
\unexpanded\def\unvboxed {\ifvmode\unvbox \else\box \fi}
\unexpanded\def\unvcopied{\ifvmode\unvcopy\else\copy\fi}
+% idea: tag with attr and then just flush them again
+
+\def\dobetweenparagraphnotes % should not be too much
+ {\noteparameter\c!inbetween}
+
+\def\doflushgobalnotes
+ {\doifelse{\noteparameter\c!paragraph}\v!yes
+ {\vbox
+ {\beginofshapebox
+ \iftrialtypesetting\unvcopied\else\unvboxed\fi\currentnoteins
+ \endofshapebox
+ %\doreshapebox{\box\shapebox}{}{}{}% get rid of penalties etc
+ \gdef\dodobetweenparagraphnotes{\glet\dodobetweenparagraphnotes\dobetweenparagraphnotes}% shape works reverse
+ \doreshapebox{\hbox{\unhbox\shapebox\dodobetweenparagraphnotes}}{}{}{}% get rid of penalties etc
+ \innerflushshapebox
+ \convertvboxtohbox}}
+ {\iftrialtypesetting\unvcopied\else\unvboxed\fi\currentnoteins}}
+
+\def\dodoplacenoteinserts
+ {\ifcase\noteparameter\c!n\relax
+ % should not happen
+ \or
+ \doglobalflushnotesnormal
+ \else
+ \doglobalflushnotescolums
+ \fi}
+
+\def\doglobalflushnotesnormal
+ {%\iftrialtypesetting\copy\else\box\fi\currentnoteins
+ \doflushgobalnotes
+ \obeydepth} % (a) added , since split footnotes will not align properly
+
+\def\doglobalflushnotescolums
+ {\edef\currentnotewidth{\noteparameter\c!width}%
+ \doifdimensionelse\currentnotewidth\donothing
+ {\edef\currentnotewidth{\the\hsize}}%
+ \startsimplecolumns[\c!distance=\noteparameter\c!columndistance,\c!n=\noteparameter\c!n,\c!width=\currentnotewidth]%
+ %\iftrialtypesetting\unvcopied\else\unvboxed\fi\currentnoteins % compare with local
+ \doflushgobalnotes
+ \stopsimplecolumns}
+
\def\doplacenoteinserts
{\relax\ifdim\ht\currentnoteins>\zeropoint\relax
\ifnum\noteparameter\s!noteloc=\plusfive
@@ -845,24 +902,15 @@
\whitespace
\noteparameter\c!before
\fi
-% \bgroup
-% \setupalign[\noteparameter\c!align]%
+ % \bgroup
+ % \setupalign[\noteparameter\c!align]%
\placenoterule % alleen in ..mode
-% \par
-% \egroup
+ % \par
+ % \egroup
\bgroup
\setnotebodyfont
\setbox\scratchbox\hbox
- {% this should be checked, smells like a mix-up
- % does not split: \ifcase\noteparameter\c!n\unvbox\else\box\fi\currentnoteins
- \ifcase\noteparameter\c!n\relax
- \iftrialtypesetting\unvcopied\else\unvboxed\fi\currentnoteins % is this needed?
- \or
- \iftrialtypesetting\copy\else\box\fi\currentnoteins
- \obeydepth % (a) added , since split footnotes will not align properly
- \else
- \iftrialtypesetting\unvcopied\else\unvboxed\fi\currentnoteins
- \fi}%
+ {\dodoplacenoteinserts}%
\setbox\scratchbox\hbox
{\localframed
[\??vn\currentnote]
@@ -995,7 +1043,7 @@
\the\everyplacelocalnotes
% beware, we cannot trust setting \currentnote here
\getparameters[\??vn#2][\c!width=\v!fit,\c!height=\v!fit,\c!strut=\v!no,\c!offset=\v!overlay,#1]% we only need a selective one
- \donotealternative{#2}%
+ \dolocalnotealternative{#2}%
\endgroup
\dochecknote} % we need to restore the old state
@@ -1065,7 +1113,7 @@
\def\doifnotescollected#1%
{\ctxlua{structure.notes.doifcontent("#1")}}
-\def\donotealternative#1%
+\def\dolocalnotealternative#1%
{\edef\currentnote{#1}%
\doifnotescollected\currentnote
{\endgraf
diff --git a/tex/context/base/strc-ref.lua b/tex/context/base/strc-ref.lua
index 8fab48697..03c755f57 100644
--- a/tex/context/base/strc-ref.lua
+++ b/tex/context/base/strc-ref.lua
@@ -922,7 +922,7 @@ function jobreferences.doifelse(prefix,reference,highlight,newwindow,layer)
end
function jobreferences.setinternalreference(prefix,tag,internal,view)
- local t = { }
+ local t = { } -- maybe add to current
if tag then
if prefix and prefix ~= "" then
prefix = prefix .. ":"
@@ -943,12 +943,11 @@ function jobreferences.setinternalreference(prefix,tag,internal,view)
return destination
end
-function jobreferences.getinternalreference(n) -- n points into list
+function jobreferences.getinternalreference(n) -- n points into list (todo: registers)
local l = structure.lists.collected[n]
texsprint(ctxcatcodes,(l and l.references.internal) or n)
end
-
--
function jobreferences.get_current_metadata(tag)
diff --git a/tex/context/base/strc-ref.mkiv b/tex/context/base/strc-ref.mkiv
index 91e975ea9..408673f83 100644
--- a/tex/context/base/strc-ref.mkiv
+++ b/tex/context/base/strc-ref.mkiv
@@ -127,8 +127,11 @@
\def\dododosetreference#1#2#3#4% kind labels userdata text -> todo: userdata
{\ifreferencing
+ % we could have a more efficient one for page references but for the moment
+ % we don't care too much
\edef\currentreferencekind{#1}%
\edef\currentreferencelabels{#2}%
+ \edef\currentreferenceuserdata{#3}%
\edef\currentreferenceexpansion{\@@rfexpansion}% {\referenceparameter\c!expansion}
\ifx\currentreferencelabels\empty \else
\ifx\currentreferenceexpansion\s!xml
@@ -153,19 +156,24 @@
block = "\currentstructureblock",
section = structure.sections.currentid(),
},
- metadata = {
- kind = "#1",
- catcodes = \the\catcodetable,
- xmlroot = \ifx\currentreferencecoding\s!xml "\xmldocument" \else nil \fi, % only useful when text
+ metadata = { % we could assume page to have no metadata
+ kind = "#1",
+ \ifx\currentreferencekind\s!page\else
+ catcodes = \the\catcodetable,
+ xmlroot = \ifx\currentreferencecoding\s!xml "\xmldocument" \else nil \fi, % only useful when text
+ \fi
},
\ifx\currentreferencedata\empty\else
entries = {
text = \!!bs\currentreferencedata\!!es
},
\fi
- userdata = structure.helpers.touserdata(\!!bs\detokenize{#3}\!!es)
+ \ifx\currentreferenceuserdata\empty\else
+ userdata = structure.helpers.touserdata(\!!bs\detokenize{#3}\!!es)
+ \fi
},"\@@iafocus")
}%
+ % todo: optional
\xdef\currentdestinationattribute{\number\lastdestinationattribute}%
\begingroup\attribute\destinationattribute\currentdestinationattribute\hbox{}\endgroup % todo
\fi
@@ -174,6 +182,34 @@
\def\defaultreferencepage#1{[[[#1]]]}
\def\defaultreferencetext#1{[[[#1]]]}
+%D For internal usage:
+
+\def\dosetsimplepagereference#1% label
+ {\iflocation
+ \ctxlua{jobreferences.setandgetattribute("\s!page", "\referenceprefix","#1",
+ {
+ references = {
+ % block = "\currentstructureblock",
+ % section = structure.sections.currentid(),
+ },
+ metadata = { % we could assume page to have no metadata
+ kind = "\s!page",
+ },
+ },"\@@iafocus")
+ }%
+ \xdef\currentdestinationattribute{\number\lastdestinationattribute}%
+ \else
+ \xdef\currentdestinationattribute{\number\attributeunsetvalue}%
+ \fi}
+
+\def\dogetsimplepagereference#1%
+ {\iflocation
+ \ctxlua{jobreferences.inject("\referenceprefix","#1",\number\ht\strutbox,\number\dp\strutbox,\extrareferencearguments)}%
+ \xdef\currentreferenceattribute{\number\lastreferenceattribute}%
+ \else
+ \xdef\currentreferenceattribute{\number\attributeunsetvalue}%
+ \fi}
+
%D These macros depend on three other ones,
%D \type {\makesectionformat}, that generated \type
%D {\sectionformat}, \type {\pagenumber}. The not yet used
@@ -453,14 +489,26 @@
%D An unknown reference is reported on the screen, in the log
%D file and, when enabled, in the left margin of the text.
-\def\reportreferenceerror#1#2% only once (keep track in lua)
+\def\reportreferenceerror#1#2#3% only once (keep track in lua)
{\ifinpagebody \else
- \doifconcepttracing{\doifsomething{#2}{\inleft{\infofont\doboundtext{#2}{\dimexpr\leftmarginwidth-2em\relax}{..}->}}}%
+ \doifconcepttracing{\doifsomething{#3}{\inleft{\infofont\doboundtext{#3}{\dimexpr\leftmarginwidth-2em\relax}{..}->}}}%
\fi
- \showmessage\m!references{#1}{[\referenceprefix][#2]}}
+ \global\advance#1\plusone
+ \showmessage\m!references{#2}{[\referenceprefix][#3]}}
-\def\unknownreference{\reportreferenceerror1}
-\def\illegalreference{\reportreferenceerror4}
+\newcount\nofunknownreferences
+\newcount\nofillegalreferences
+
+\def\unknownreference{\reportreferenceerror\nofunknownreferences1}
+\def\illegalreference{\reportreferenceerror\nofillegalreferences4}
+
+\def\reportreferenceproblems
+ {\ifcase\nofunknownreferences\else\showmessage\m!references5{\number\nofunknownreferences}\fi
+ \ifcase\nofillegalreferences\else\showmessage\m!references6{\number\nofillegalreferences}\fi}
+
+\appendtoks
+ \reportreferenceproblems
+\to \everystoptext
%D When a reference is not found, we typeset a placeholder
%D (two glyphs are often enough to represent the reference
@@ -541,7 +589,10 @@
{\ctxlua{jobreferences.currentorder("#1","#2")}}
\def\thisissomeinternal#1#2% tag reference (only for old time sake)
- {\begingroup\attribute\destinationattribute\ctxlua{jobreferences.mark("#1:#2")}\hbox{}\endgroup}
+ {\begingroup
+ \ctxlua{jobreferences.setinternalreference("","#1:#2")}%
+ \hbox attr \destinationattribute\lastdestinationattribute{}%
+ \endgroup}
\def\gotosomeinternal#1#2#3#4%
{\ifinternalnamedreferences
@@ -866,8 +917,11 @@
%D The other alternatives just conform their names: only the
%D label, only the text, or the label and the text.
+% \def\dounknownreference#1#2[#3]%
+% {\unknownreference{#3}\dotextprefix{#2}\dummyreference}%
+
\def\dounknownreference#1#2[#3]%
- {\unknownreference{#3}\dotextprefix{#2}\dummyreference}%
+ {\unknownreference{#3}\dotextprefix{#2}{\leftofreference\dummyreference\rightofreference}}
\def\docompletereference#1#2[#3]%
{\goto{\dotextprefix{#2}#1}[#3]}
@@ -885,114 +939,15 @@
\let\dowantedreference\docompletereference
-%D \macros
-%D {definereferenceformat}
-%D
-%D The next few macros were made for for David Arnold and Taco
-%D Hoekwater. They can be used for predefining reference
-%D texts, and thereby stimulate efficiency.
-%D
-%D [more documentation will be added]
-%D
-%D \starttyping
-%D \definereferenceformat[informula] [left=(,right=),text=formula]
-%D \definereferenceformat[informulas] [left=(,right=),text=formulas]
-%D \definereferenceformat[andformula] [left=(,right=),text=and]
-%D \definereferenceformat[andformulas][left=(,right=),text=and]
-%D
-%D \informula [b] and \informula [for:c]
-%D the \informula {formulas}[b] \informula {and} [for:c]
-%D the \informulas {formulas}[b] \informula {and} [for:c]
-%D the \informulas [b] \informula {en} [for:c]
-%D the \informulas [b] \andformula [for:c]
-%D \stoptyping
-%D
-%D Instead of a text, one can specify a label, which should
-%D be defined with \type {\setuplabeltext}.
-
-% todo: inherit; probably not yet mkiv okay
-
-\unexpanded\def\definereferenceformat
- {\dodoubleargument\dodefinereferenceformat}
-
-\def\dodefinereferenceformat[#1][#2]%
- {\iffirstargument
- \getparameters[\??rf#1]
- [\c!left=, % of the number
- \c!right=, % of the number
- \c!text=, % before the number
- \c!label=, % can be {left}{right}
- \c!command=\in,
- #2]%
- \setuvalue{#1}{\dontleavehmode\doexecutereferenceformat{#1}}%
- \fi}
-
-\def\noexecutelabelreferenceformat#1%
- {\doifvaluesomething{\??rf#1\c!text}{\gdef\textofreference{\csname\??rf#1\c!text\endcsname}}%
- \csname\??rf#1\c!command\endcsname}
-
-\def\doexecutelabelreferenceformat#1%
- {\csname\??rf#1\c!command\endcsname
- {\leftlabeltext {\csname\??rf#1\c!label\endcsname}}%
- {\rightlabeltext{\csname\??rf#1\c!label\endcsname}}}
-
-\def\doexecutereferenceformat#1%
- {\gdef\leftofreference {\csname\??rf#1\c!left \endcsname}%
- \gdef\rightofreference{\csname\??rf#1\c!right\endcsname}%
- \glet\textofreference\empty % otherwise ~ added
- \doifelsevaluenothing{\??rf#1\c!label}\noexecutelabelreferenceformat\doexecutelabelreferenceformat{#1}}
-
-\newtoks\everyresetreferenceformat
-
-\def\resetreferenceformat
- {\the\everyresetreferenceformat}
-
-\appendtoks
- \glet\leftofreference \relax
- \glet\rightofreference\relax
- \glet\textofreference \relax
-\to \everyresetreferenceformat
+\unexpanded\def\dospecialin{\dontleavehmode\begingroup\doinatreference\currentreferencedefault} % ends in \doinatreference
+\unexpanded\def\dospecialat{\dontleavehmode\begingroup\doinatreference\currentreferencepage } % ends in \doinatreference
-\resetreferenceformat
-
-% fails on metafun {\leftofreference#1\ignorespaces#3\removeunwantedspaces\rightofreference}{#2}[#4]%
-%
-% \def\dodododoinatreference#1#2#3[#4]% no \removeunwantedspaces (fails on metafun)
-% {\ifx\next\bgroup
-% \dododododoinatreference{\leftofreference#1\ignorespaces#3\rightofreference}{#2}[#4]%
-% \else
-% \dododododoinatreference{\leftofreference#1\rightofreference}{#2#3}[#4]%
-% \fi}
-%
-% \def\dododododoinatreference#1#2[#3]%
-% {\dontleavehmode % replaces \leaveoutervmode
-% \begingroup
-% \postponenotes
-% \doifreferencefoundelse{#3}
-% {\doifelsenothing{#1}\dosymbolreference\dowantedreference{#1}{#2}[#3]}%
-% {\dounknownreference{#1}{#2}[#3]}%
-% \endgroup}
-
-% \starttext
-% \definereferenceformat[inxx] [left=(,right=),text=txt]
-% \setupinteraction[state=start]
-% \chapter[one]{xx}
-% [\goto{state}[file(mk-last-state)]]
-% [\goto{state} [file(mk-last-state)]]
-% [\at{page} [one]]
-% [\at{page}[one]]
-% [\at{page}{okay}[one]]
-% [\inxx{a}{b}[one]]
-% \stoptext
+\newtoks\leftreferencetoks \newtoks\defaultleftreferencetoks \glet\leftofreference \relax
+\newtoks\rightreferencetoks \newtoks\defaultrightreferencetoks \glet\rightofreference\relax
-\unexpanded\def\dospecialin{\let\currentreferencecontent\currentreferencedefault\doinatreference}
-\unexpanded\def\dospecialat{\let\currentreferencecontent\currentreferencepage \doinatreference}
-
-\newtoks\leftreferencetoks % needs a reset too?
-\newtoks\rightreferencetoks
-
-\def\doinatreference
- {\futurelet\next\doinatreferenceone}
+\def\doinatreference#1%
+ {\let\currentreferencecontent#1%
+ \futurelet\next\doinatreferenceone}
\def\doinatreferenceone
{\ifx\next\bgroup
@@ -1017,8 +972,8 @@
\def\dodoinatreferencenone
{\dodoinatreferenceindeed
- {\leftofreference\currentreferencecontent\rightofreference}
- {}}
+ {\the\defaultleftreferencetoks\leftofreference\currentreferencecontent\rightofreference}
+ {\the\defaultrightreferencetoks}}
\def\dodoinatreferenceleft
{\dodoinatreferenceindeed
@@ -1026,22 +981,126 @@
{\the\leftreferencetoks}}
\def\dodoinatreferenceboth
- {\dodoinatreferenceindeed
+ {\doifnothing{\the\leftreferencetoks}
+ {\leftreferencetoks\defaultleftreferencetoks}%
+ \dodoinatreferenceindeed
{\leftofreference\currentreferencecontent\the\rightreferencetoks\rightofreference}
{\the\leftreferencetoks}}
+% lefttext left <ref> right righttext
+
+\newtoks\everyresetinatreference
+
\def\dodoinatreferenceindeed#1#2#3[#4]% #3 gobbles space
- {\dontleavehmode % replaces \leaveoutervmode
- \begingroup
+ {%\dontleavehmode\begingroup % already done
\postponenotes
\doifreferencefoundelse{#4}
{\doifelsenothing{#1}\dosymbolreference\dowantedreference{#1}{#2}[#4]}%
{\dounknownreference{#1}{#2}[#4]}%
- \resetreferenceformat
+ \the\everyresetinatreference
\endgroup}
\let\dosymbolreference\dowantedreference
+\appendtoks
+ \glet\leftofreference \relax
+ \glet\rightofreference\relax
+\to \everyresetinatreference
+
+%D \macros
+%D {definereferenceformat}
+%D
+%D The next few macros were made for for David Arnold and Taco
+%D Hoekwater. They can be used for predefining reference
+%D texts, and thereby stimulate efficiency.
+%D
+%D \starttyping
+%D \definereferenceformat[informula] [left=(,right=),text=formula]
+%D \definereferenceformat[informulas] [left=(,right=),text=formulas]
+%D \definereferenceformat[andformula] [left=(,right=),text=and]
+%D \definereferenceformat[andformulas][left=(,right=),text=and]
+%D
+%D \informula [b] and \informula [for:c]
+%D the \informula {formulas}[b] \informula {and} [for:c]
+%D the \informulas {formulas}[b] \informula {and} [for:c]
+%D the \informulas [b] \informula {en} [for:c]
+%D the \informulas [b] \andformula [for:c]
+%D \stoptyping
+%D
+%D Instead of a text, one can specify a label, which should
+%D be defined with \type {\setuplabeltext}.
+%D
+%D
+%D Watch out: the second argument is somewhat special and mostly
+%D meant for a suffix to a number:
+%D
+%D \startbuffer
+%D \definereferenceformat [intesta] [left=(,right=),text=Whatever~]
+%D \definereferenceformat [intestb] [left=(,right=),label=figure]
+%D
+%D \placeformula[x]\startformula a \stopformula
+%D
+%D \starttabulate[|||||]
+%D \NC \in [x] \NC \in {left}[x] \NC \in {}{right}[x] \NC \in {left}{right}[x] \NC \NR
+%D \NC \intesta[x] \NC \intesta{left}[x] \NC \intesta{}{right}[x] \NC \intesta{left}{right}[x] \NC \NR
+%D \NC \intestb[x] \NC \intestb{left}[x] \NC \intestb{}{right}[x] \NC \intestb{left}{right}[x] \NC \NR
+%D \stoptabulate
+%D \stopbuffer
+%D
+%D \typebuffer \getbuffer
+
+% todo: inherit
+
+\let\currentreferenceformat\empty
+
+\def\referenceformatparameter#1% some day we will add inheritance
+ {\ifcsname\??rf\currentreferenceformat#1\endcsname\csname\??rf\currentreferenceformat#1\expandafter\endcsname\fi}
+
+\unexpanded\def\definereferenceformat
+ {\dodoubleargument\dodefinereferenceformat}
+
+% left right text label
+
+\def\dodefinereferenceformat[#1][#2]%
+ {\iffirstargument
+ \getparameters[\??rf#1][\c!left=,\c!right=,\c!text=,\c!label=,#2]%
+ \setuvalue{#1}{\doexecutereferenceformat{#1}}%
+ \fi}
+
+\def\doexecutereferenceformat#1%
+ {\dontleavehmode\begingroup % ends in \doinatreference
+ \edef\currentreferenceformat{#1}%
+ \gdef\leftofreference {\referenceformatparameter\c!left }%
+ \gdef\rightofreference{\referenceformatparameter\c!right}%
+ % we can make a helper for this .. we will use the new parameter handler anyway
+ % but at least aditya can play with it now
+ \doifsomething{\referenceformatparameter\c!style}
+ {\dosetfontattribute{\??rf\currentreferenceformat}\c!style
+ \let\@@iastyle\empty}%
+ \doifsomething{\referenceformatparameter\c!color}
+ {\dosetcolorattribute{\??rf\currentreferenceformat}\c!color
+ \let\@@iacontrastcolor\empty
+ \let\@@iacolor \empty}%
+ %
+ \doifsomethingelse{\referenceformatparameter\c!label}
+ {\defaultleftreferencetoks {\leftlabeltext {\referenceformatparameter\c!label}}%
+ \defaultrightreferencetoks{\rightlabeltext{\referenceformatparameter\c!label}}}%
+ {\defaultleftreferencetoks {\referenceformatparameter\c!text}%
+ \defaultrightreferencetoks\emptytoks}%
+ \doinatreference\currentreferencedefault} % we can make \currentreferencedefault configurable
+
+% \starttext
+% \definereferenceformat[inxx] [left=(,right=),text=txt]
+% \setupinteraction[state=start]
+% \chapter[one]{xx}
+% [\goto{state}[file(mk-last-state)]]
+% [\goto{state} [file(mk-last-state)]]
+% [\at{page} [one]]
+% [\at{page}[one]]
+% [\at{page}{okay}[one]]
+% [\inxx{a}{b}[one]]
+% \stoptext
+
%D In interactive documents going to a specific location is not
%D bound to cross references. The \type{\goto} commands can be
%D used to let users access another part of the document. In
@@ -1081,14 +1140,16 @@
\begingroup
\attribute\referenceattribute\attributeunsetvalue
\iflocation
-\dostarttagged\t!link\empty
+ \dostarttagged\t!link\empty % not here
\ctxlua{jobreferences.inject("\referenceprefix","#2",\number\ht\strutbox,\number\dp\strutbox,\extrareferencearguments)}%
-\dostoptagged
\setlocationattributes\??ia
\setstrut % can be option
\attribute\referenceattribute\lastreferenceattribute
+ #1%
+ \dostoptagged
+ \else
+ #1%
\fi
- #1%
\endgroup}
\def\dodirectgotohtdp#1[#2]% no test for valid references
@@ -1096,9 +1157,9 @@
\begingroup
\attribute\referenceattribute\attributeunsetvalue
\iflocation
-\dostarttagged\t!link\empty
+ \dostarttagged\t!link\empty
\ctxlua{jobreferences.inject("\referenceprefix","#2",\number\dimexpr\@@iaheight\relax,\number\dimexpr\@@iadepth\relax,\extrareferencearguments)}%
-\dostoptagged
+ \dostoptagged
\setlocationattributes\??ia
\attribute\referenceattribute\lastreferenceattribute
\fi
@@ -1113,9 +1174,9 @@
\iflocation
\ctxlua{jobreferences.doifelse("\referenceprefix","#3",\extrareferencearguments)}%
{\expandtexincurrentreference
-\dostarttagged\t!link\empty
+ \dostarttagged\t!link\empty
\ctxlua{jobreferences.injectcurrentset(\number\ht\strutbox,\number\dp\strutbox)}%
-\dostoptagged
+ \dostoptagged
\setlocationattributes\??ia
\setstrut % can be option
\attribute\referenceattribute\lastreferenceattribute}%
@@ -1132,9 +1193,9 @@
\iflocation
\ctxlua{jobreferences.doifelse("\referenceprefix","#3",\extrareferencearguments)}%
{\expandtexincurrentreference
-\dostarttagged\t!link\empty
+ \dostarttagged\t!link\empty
\ctxlua{jobreferences.injectcurrentset(\number\dimexpr\@@iaheight\relax,\number\dimexpr\@@iadepth\relax)}%
-\dostoptagged
+ \dostoptagged
\setlocationattributes\??ia
\attribute\referenceattribute\lastreferenceattribute}%
{\unknownreference{#3}}%
@@ -1147,9 +1208,9 @@
\begingroup
\attribute\referenceattribute\attributeunsetvalue
\iflocation
-\dostarttagged\t!link\empty
+ \dostarttagged\t!link\empty
\ctxlua{jobreferences.inject("\referenceprefix","#2",nil,nil,\extrareferencearguments)}%
-\dostoptagged
+ \dostoptagged
\setlocationattributes\??ia
\hbox attr \referenceattribute \lastreferenceattribute {#1}%
\else
@@ -1162,9 +1223,9 @@
\begingroup
\attribute\referenceattribute\attributeunsetvalue
\iflocation
-\dostarttagged\t!link\empty
+ \dostarttagged\t!link\empty
\ctxlua{jobreferences.inject("\referenceprefix","#3",nil,nil,\extrareferencearguments)}%
-\dostoptagged
+ \dostoptagged
\setlocationcolorspec{#1}% no consequence for strut
\hbox attr \referenceattribute \lastreferenceattribute {#2}%
\else
@@ -1177,9 +1238,9 @@
\begingroup
\attribute\referenceattribute\attributeunsetvalue
\iflocation
-\dostarttagged\t!link\empty
+ \dostarttagged\t!link\empty
\ctxlua{jobreferences.inject("\referenceprefix","#2",nil,nil,\extrareferencearguments)}%
-\dostoptagged
+ \dostoptagged
\hbox attr \referenceattribute \lastreferenceattribute {#1}%
\else
#1%
@@ -1193,9 +1254,9 @@
\iflocation
\ctxlua{jobreferences.doifelse("\referenceprefix","#2",\extrareferencearguments)}%
{\expandtexincurrentreference
-\dostarttagged\t!link\empty
+ \dostarttagged\t!link\empty
\ctxlua{jobreferences.injectcurrentset(nil,nil)}%
-\dostoptagged
+ \dostoptagged
\setlocationattributes\??ia
\hbox attr \referenceattribute \lastreferenceattribute {#1}}%
{\unknownreference{#2}}%
@@ -1215,7 +1276,6 @@
{\unknownreference{#3}}%
\endgroup}
-
%D An reference to another document can be specified as a file
%D or as an \URL. Both are handled by the same mechanism and
%D can be issued by saying something like:
diff --git a/tex/context/base/strc-reg.mkiv b/tex/context/base/strc-reg.mkiv
index 413ccb81a..dc37423de 100644
--- a/tex/context/base/strc-reg.mkiv
+++ b/tex/context/base/strc-reg.mkiv
@@ -268,6 +268,8 @@
\xdef\currentregistersynchronize{\ctxlatelua{jobregisters.enhance("\currentregister",\currentregisternumber)}}%
\fi
\currentregistersynchronize % here?
+ % needs thinking ... bla\index{bla}. will break before the . but adding a
+ % penalty is also no solution
\attribute\destinationattribute\lastdestinationattribute \forcecolorhack % no \strut as it will be removed during cleanup
\endgroup}
diff --git a/tex/context/base/strc-ren.mkiv b/tex/context/base/strc-ren.mkiv
index 3a60a34a3..ad972d9e6 100644
--- a/tex/context/base/strc-ren.mkiv
+++ b/tex/context/base/strc-ren.mkiv
@@ -123,7 +123,13 @@
% \newif\ifemptyhead
% \newif\ifdisplaysectionhead
-\def\structureheadattribute{\iflocation attr \destinationattribute \currentstructureattribute\fi}
+\let\currentstructurereferenceattribute\attributeunsetvalue
+
+\def\structureheadattribute
+ {\iflocation
+ attr \destinationattribute \currentstructureattribute
+ attr \referenceattribute \currentstructurereferenceattribute
+ \fi}
\def\doplacestructureheadtext#1#2#3% nodes, text, endstuff
{\beginheadplacement
@@ -132,6 +138,9 @@
\setbox\sectionheadbox\ifvertical\vbox\else\hbox\fi \structureheadattribute to \zeropoint {#1}%
\makestrutofbox\sectionheadbox
\else
+ \doif{\namedstructureheadparameter\currentstructurehead\c!interaction}\v!list
+ {\dogetsimplepagereference{bck:\nextinternalreference}%
+ \let\currentstructurereferenceattribute\currentreferenceattribute}%
\setbox\sectionheadbox\ifvertical\vbox\else\hbox\fi \structureheadattribute
{\doresettructureheadnumbercontent
\ifcase\headtimingmode\or#1\fi % outerside font determines distance
@@ -147,6 +156,9 @@
\setbox\sectionheadbox\ifvertical\vbox\else\hbox\fi \structureheadattribute to \zeropoint{#1}%
\makestrutofbox\sectionheadbox
\else % = needed
+ \doif{\namedstructureheadparameter\currentstructurehead\c!interaction}\v!list
+ {\dogetsimplepagereference{bck:\nextinternalreference}%
+ \let\currentstructurereferenceattribute\currentreferenceattribute}%
\setbox\sectionheadbox\ifvertical\vbox\else\hbox\fi \structureheadattribute
{\ifcase\headtimingmode\or#1\fi
\dosetfontattribute{\??nh\currentstructurehead}\c!style
@@ -154,6 +166,7 @@
\fi
\endheadplacement{#4}}
+
\unexpanded\def\placestructureheadnumbertext
{\doplacestructureheadnumbertext\empty\getstructureheadnumber\getstructureheadtitle\getstructureheadsyncs}
diff --git a/tex/context/base/strc-sec.mkiv b/tex/context/base/strc-sec.mkiv
index 2dd602448..fe2a0fddc 100644
--- a/tex/context/base/strc-sec.mkiv
+++ b/tex/context/base/strc-sec.mkiv
@@ -52,8 +52,9 @@
% interface
-\def\structureheadparameter #1{\csname\dostructureheadparameter{\??nh\currentstructurehead}#1\endcsname}
-\def\structureheadparameterhash#1{\dostructureheadparameterhash {\??nh\currentstructurehead}#1}
+\def\structureheadparameter #1{\csname\dostructureheadparameter{\??nh\currentstructurehead}#1\endcsname}
+\def\structureheadparameterhash #1{\dostructureheadparameterhash {\??nh\currentstructurehead}#1}
+\def\namedstructureheadparameter#1#2{\csname\dostructureheadparameter{\??nh#1}#2\endcsname}
\def\dostructureheadparameter #1#2{\ifcsname#1#2\endcsname#1#2\else\expandafter\dostructureheadparentparameter \csname#1\s!parent\endcsname#2\fi}
\def\dostructureheadparameterhash#1#2{\ifcsname#1#2\endcsname #1\else\expandafter\dostructureheadparentparameterhash\csname#1\s!parent\endcsname#2\fi}
@@ -377,6 +378,8 @@
\let\currentstructureheadlevel \!!zerocount
\let\currentstructureheadcounter \!!zerocount
+% here we could inherit as well but it's a bit complex
+
\def\doregisterstructurehead#1#2#3% name data userdata
{\structurecomponent
[\c!label={\structureheadparameter\c!label},
diff --git a/tex/context/base/strc-syn.mkiv b/tex/context/base/strc-syn.mkiv
index 65f517437..0866ea209 100644
--- a/tex/context/base/strc-syn.mkiv
+++ b/tex/context/base/strc-syn.mkiv
@@ -114,7 +114,7 @@
\fi
\setuvalue{#1}{\definesynonym[\v!yes][#1]}% \name
\fi
- \getparameters[\??sm#1][\s!parent=\??sm,\s!multi={#2}]%
+ \getparameters[\??sm#1][\s!parent=\??sm,\s!single={#1},\s!multi={#2}]%
\presetheadtext[#2=\Word{#2}]% changes the \if...argument
%\ctxlua{joblists.define('#1')}%
\setvalue{\e!setup #2\e!endsetup}{\dodoubleargument\getparameters[\??sm#1]}% to be obsolete
@@ -207,8 +207,9 @@
\def\completelistofsynonyms
{\dodoubleempty\docompletelistofsynonyms}
-\def\docompletelistofsynonyms[#1][#2]% expansion needed to avoid v! (due to french active !)
- {\normalexpanded{\systemsuppliedchapter[#1]{\noexpand\headtext{\synonymparameter\s!single}}}%
+\def\docompletelistofsynonyms[#1][#2]%
+ {\edef\currentsynonym{#1}%
+ \normalexpanded{\systemsuppliedchapter[#1]{\noexpand\headtext{\synonymparameter\s!multi}}}%
\doplacelistofsynonyms[#1][#2]%
\page[\v!yes]}
diff --git a/tex/context/base/strc-tag.lua b/tex/context/base/strc-tag.lua
index 4381fc529..d69525bc9 100644
--- a/tex/context/base/strc-tag.lua
+++ b/tex/context/base/strc-tag.lua
@@ -28,7 +28,8 @@ local tags, labels, stack, chain, ids, enabled = { }, { }, { }, { }, { }, false
structure.tags.taglist = tags -- can best be hidden
function structure.tags.start(tag,label,detail)
- labels[label or tag] = tag
+--~ labels[label or tag] = tag
+ labels[tag] = label ~= "" and label or tag
if detail and detail ~= "" then
tag = tag .. ":" .. detail
end
diff --git a/tex/context/base/syst-ext.mkii b/tex/context/base/syst-ext.mkii
index 73fb98b72..745478526 100644
--- a/tex/context/base/syst-ext.mkii
+++ b/tex/context/base/syst-ext.mkii
@@ -4991,9 +4991,9 @@
\def\comparedimensioneps#1#2%
{\chardef\compresult
- \ifdim\dimexpr(#1-#2)<\roudingeps
+ \ifdim\dimexpr#1-#2\relax<\roudingeps
\zerocount
- \else\ifdim\dimexpr(#2-#1)<\roudingeps
+ \else\ifdim\dimexpr#2-#1\relax<\roudingeps
\zerocount
\else\ifdim#1<#2%
\plusone
diff --git a/tex/context/base/tabl-ntb.mkiv b/tex/context/base/tabl-ntb.mkiv
index 67d20a615..e183e5552 100644
--- a/tex/context/base/tabl-ntb.mkiv
+++ b/tex/context/base/tabl-ntb.mkiv
@@ -721,10 +721,10 @@
% permits \expanded{\bTD ... \eTD}
-\unexpanded\def\eTR{\ignorespaces} % handy in case we use a macro to generate rows
-\unexpanded\def\eTD{\ignorespaces}
-\unexpanded\def\eTH{\ignorespaces}
-\unexpanded\def\eTN{\ignorespaces}
+\let\bTR\relax \unexpanded\def\eTR{\ignorespaces} % handy in case we use a macro to generate rows
+\let\bTD\relax \unexpanded\def\eTD{\ignorespaces}
+\let\bTH\relax \unexpanded\def\eTH{\ignorespaces}
+\let\bTN\relax \unexpanded\def\eTN{\ignorespaces}
\unexpanded\def\eTABLE % beware, we need to get rid of spurious spaces when in hmode
{% tricky and dirty order -)
diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv
index 007338146..196a21850 100644
--- a/tex/context/base/tabl-tbl.mkiv
+++ b/tex/context/base/tabl-tbl.mkiv
@@ -696,8 +696,8 @@
[\c!unit,\c!distance,\c!before,\c!bodyfont,\c!after,
\c!inner,\c!indenting,\c!frame,\c!split,\c!header,\c!title,
\c!margin,\c!align,\c!rulecolor,\c!rulethickness,EQ]%
- \setvalue{\e!start#1::#2}{\dofinalstarttabulate[#1][#2][#3]}%
- \setvalue{\e!start#1}{\bgroup\dosubstarttabulate[#1]}%
+ \setuvalue{\e!start#1::#2}{\dofinalstarttabulate[#1][#2][#3]}%
+ \setuvalue{\e!start#1}{\bgroup\dosubstarttabulate[#1]}%
\letvalue{\??tt#1-\v!header}\empty
\letvalue{\??tt#1-\v!footer }\empty
\else\ifsecondargument
@@ -752,14 +752,14 @@
\TABLEnoalign{\kern-\lineheight}%
\fi}
-\setvalue{\e!start\v!tabulatehead}%
+\setuvalue{\e!start\v!tabulatehead}%
{\dosingleempty\dostartstarttabulatehead}
\def\dostartstarttabulatehead[#1]%
{\processcontent{\e!stop\v!tabulatehead}\next
{\letvalue{\??tt\iffirstargument#1\else\v!tabulate\fi::-\v!header}\next}}
-\setvalue{\e!start\v!tabulatetail}%
+\setuvalue{\e!start\v!tabulatetail}%
{\dosingleempty\dostartstarttabulatetail}
\def\dostartstarttabulatetail[#1]%
@@ -772,9 +772,13 @@
\def\dodosubstarttabulate[#1][#2]%
{\csname\e!start#1::\ifcsname\e!start#1::#2\endcsname#2\fi\endcsname}
-\setvalue{\e!start\v!tabulate}%
+\setuvalue{\e!start\v!tabulate}%
{\bgroup\dodoubleempty\donormalstarttabulate}
+\setuvalue{\e!stop\v!tabulate }{}
+\setuvalue{\e!stop\v!tabulatehead}{}
+\setuvalue{\e!stop\v!tabulatetail}{}
+
\bgroup
\gdef\donormalstarttabulate[#1][#2]%
diff --git a/tex/context/base/task-ini.lua b/tex/context/base/task-ini.lua
index 4c5ac401d..a04736487 100644
--- a/tex/context/base/task-ini.lua
+++ b/tex/context/base/task-ini.lua
@@ -14,7 +14,7 @@ if not modules then modules = { } end modules ['task-ini'] = {
tasks.appendaction("processors", "normalizers", "fonts.collections.process") -- todo
tasks.appendaction("processors", "normalizers", "fonts.checkers.missing") -- disabled
-tasks.appendaction("processors", "characters", "chars.handle_mirroring") -- disabled
+tasks.appendaction("processors", "characters", "mirroring.handler") -- disabled
tasks.appendaction("processors", "characters", "typesetting.cases.handler") -- disabled
tasks.appendaction("processors", "characters", "typesetting.breakpoints.handler") -- disabled
tasks.appendaction("processors", "characters", "scripts.preprocess")
@@ -76,7 +76,7 @@ tasks.disableaction("processors", "chars.handle_breakpoints")
tasks.disableaction("processors", "typesetting.cases.handler")
tasks.disableaction("processors", "typesetting.digits.handler")
tasks.disableaction("processors", "typesetting.breakpoints.handler")
-tasks.disableaction("processors", "chars.handle_mirroring")
+tasks.disableaction("processors", "mirroring.handler")
tasks.disableaction("processors", "languages.words.check")
tasks.disableaction("processors", "typesetting.spacings.handler")
tasks.disableaction("processors", "typesetting.kerns.handler")
diff --git a/tex/context/base/trac-set.lua b/tex/context/base/trac-set.lua
index a9c55f954..e7498ea85 100644
--- a/tex/context/base/trac-set.lua
+++ b/tex/context/base/trac-set.lua
@@ -8,7 +8,7 @@ if not modules then modules = { } end modules ['trac-set'] = {
local type, next, tostring = type, next, tostring
local concat = table.concat
-local format, find, lower, gsub = string.format, string.find, string.lower, string.gsub
+local format, find, lower, gsub, simpleesc = string.format, string.find, string.lower, string.gsub, string.simpleesc
local is_boolean = string.is_boolean
setters = { }
@@ -80,7 +80,7 @@ local function set(t,what,newvalue)
for name, functions in next, data do
if done[name] then
-- prevent recursion due to wildcards
- elseif find(name,w) then
+ elseif find(name,simpleesc(w)) then
done[name] = true
for i=1,#functions do
functions[i](value)
@@ -144,14 +144,14 @@ end
function setters.enable(t,what)
local e = t.enable
t.enable, t.done = enable, { }
- enable(t,string.simpleesc(tostring(what)))
+ enable(t,what)
t.enable, t.done = e, { }
end
function setters.disable(t,what)
local e = t.disable
t.disable, t.done = disable, { }
- disable(t,string.simpleesc(tostring(what)))
+ disable(t,what)
t.disable, t.done = e, { }
end
@@ -215,36 +215,50 @@ trackers = setters.new("trackers")
directives = setters.new("directives")
experiments = setters.new("experiments")
+-- experiment
+
+if trackers and environment and environment.engineflags.trackers then
+ trackers.enable(environment.engineflags.trackers)
+end
+if directives and environment and environment.engineflags.directives then
+ directives.enable(environment.engineflags.directives)
+end
+
-- nice trick: we overload two of the directives related functions with variants that
-- do tracing (itself using a tracker) .. proof of concept
+local function report(...) -- messy .. chicken or egg
+ local p = (commands and commands.writestatus) or (logs and logs.report)
+ if p then p(...) end
+end
+
local trace_directives = false local trace_directives = false trackers.register("system.directives", function(v) trace_directives = v end)
local trace_experiments = false local trace_experiments = false trackers.register("system.experiments", function(v) trace_experiments = v end)
-local e = directives.enable
-local d = directives.disable
+local enable = directives.enable
+local disable = directives.disable
function directives.enable(...)
- (commands.writestatus or logs.report)("directives","enabling: %s",concat({...}," "))
- e(...)
+ report("directives","enabling: %s",concat({...}," "))
+ enable(...)
end
function directives.disable(...)
- (commands.writestatus or logs.report)("directives","disabling: %s",concat({...}," "))
- d(...)
+ report("directives","disabling: %s",concat({...}," "))
+ disable(...)
end
-local e = experiments.enable
-local d = experiments.disable
+local enable = experiments.enable
+local disable = experiments.disable
function experiments.enable(...)
- (commands.writestatus or logs.report)("experiments","enabling: %s",concat({...}," "))
- e(...)
+ report("experiments","enabling: %s",concat({...}," "))
+ enable(...)
end
function experiments.disable(...)
- (commands.writestatus or logs.report)("experiments","disabling: %s",concat({...}," "))
- d(...)
+ report("experiments","disabling: %s",concat({...}," "))
+ disable(...)
end
-- a useful example
@@ -252,3 +266,12 @@ end
directives.register("system.nostatistics", function(v)
statistics.enable = not v
end)
+
+-- experiment
+
+if trackers and environment and environment.engineflags.trackers then
+ trackers.enable(environment.engineflags.trackers)
+end
+if directives and environment and environment.engineflags.directives then
+ directives.enable(environment.engineflags.directives)
+end
diff --git a/tex/context/base/type-dejavu.mkiv b/tex/context/base/type-dejavu.mkiv
index 116d3ca4c..ac83123db 100644
--- a/tex/context/base/type-dejavu.mkiv
+++ b/tex/context/base/type-dejavu.mkiv
@@ -16,25 +16,25 @@
\starttypescript [serif] [dejavu] [name]
\setups[font:fallback:serif]
\definefontsynonym [Serif] [name:dejavuserif] [features=default]
- \definefontsynonym [SerifBold] [name:dejavuserifitalic] [features=default]
- \definefontsynonym [SerifItalic] [name:dejavuserifbold] [features=default]
+ \definefontsynonym [SerifBold] [name:dejavuserifbold] [features=default]
+ \definefontsynonym [SerifItalic] [name:dejavuserifitalic] [features=default]
\definefontsynonym [SerifBoldItalic] [name:dejavuserifbolditalic] [features=default]
\stoptypescript
\starttypescript [sans] [dejavu] [name]
\setups[font:fallback:sans]
\definefontsynonym [Sans] [name:dejavusans] [features=default]
- \definefontsynonym [SansBold] [name:dejavusansoblique] [features=default]
- \definefontsynonym [SansItalic] [name:dejavusansbold] [features=default]
+ \definefontsynonym [SansBold] [name:dejavusansbold] [features=default]
+ \definefontsynonym [SansItalic] [name:dejavusansoblique] [features=default]
\definefontsynonym [SansBoldItalic] [name:dejavusansboldoblique] [features=default]
\stoptypescript
\starttypescript [mono] [dejavu] [name]
\setups[font:fallback:mono]
- \definefontsynonym [Mono] [name:dejavusansmono] [features=default]
- \definefontsynonym [MonoBold] [name:dejavusansmonooblique] [features=default]
- \definefontsynonym [MonoItalic] [name:dejavusansmonobold] [features=default]
- \definefontsynonym [MonoBoldItalic] [name:dejavusansmonoboldoblique] [features=default]
+ \definefontsynonym [Mono] [name:dejavusansmono] [features=none]
+ \definefontsynonym [MonoBold] [name:dejavusansmonobold] [features=none]
+ \definefontsynonym [MonoItalic] [name:dejavusansmonooblique] [features=none]
+ \definefontsynonym [MonoBoldItalic] [name:dejavusansmonoboldoblique] [features=none]
\stoptypescript
\starttypescript[dejavu]
diff --git a/tex/context/base/type-otf.mkii b/tex/context/base/type-otf.mkii
index cfda29fd7..05a6d3987 100644
--- a/tex/context/base/type-otf.mkii
+++ b/tex/context/base/type-otf.mkii
@@ -839,6 +839,23 @@
\usemathcollection[default]
\stoptypescript
+ \starttypescript [math] [times] [name]
+ \definefontsynonym [MathRoman] [Times-Roman-Upright]
+ \definefontsynonym [MathExtension] [Times-Math-Extension]
+ \definefontsynonym [MathItalic] [Times-Math-Italic]
+ \definefontsynonym [MathSymbol] [Times-Math-Symbols]
+ \definefontsynonym [MathAlpha] [Times-Math-SymbolsA]
+ \definefontsynonym [MathBeta] [Times-Math-SymbolsB]
+ \stoptypescript
+
+ \starttypescript [math] [times] [name]
+ \definefontsynonym [OldStyle] [MathItalic]
+ \definefontsynonym [Fraktur] [eufm10]
+ \definefontsynonym [Blackboard] [MathBeta]
+ \definefontsynonym [Gothic] [eufm10]
+ \definefontsynonym [Calligraphic] [eusm10]
+ \stoptypescript
+
\starttypescript [math] [palatino] [all]
\definefontsynonym [Palatino-Roman-Upright] [pxr]
\definefontsynonym [Palatino-Roman-Italic] [pxi]
@@ -860,6 +877,23 @@
\usemathcollection[default]
\stoptypescript
+ \starttypescript [math] [palatino] [name]
+ \definefontsynonym [MathRoman] [Palatino-Roman-Upright]
+ \definefontsynonym [MathExtension] [Palatino-Math-Extension]
+ \definefontsynonym [MathItalic] [Palatino-Math-Italic]
+ \definefontsynonym [MathSymbol] [Palatino-Math-Symbols]
+ \definefontsynonym [MathAlpha] [Palatino-Math-SymbolsA]
+ \definefontsynonym [MathBeta] [Palatino-Math-SymbolsB]
+ \stoptypescript
+
+ \starttypescript [math] [palatino] [name]
+ \definefontsynonym [OldStyle] [MathItalic]
+ \definefontsynonym [Fraktur] [eufm10]
+ \definefontsynonym [Blackboard] [MathBeta]
+ \definefontsynonym [Gothic] [eufm10]
+ \definefontsynonym [Calligraphic] [eusm10]
+ \stoptypescript
+
\stoptypescriptcollection
\starttypescriptcollection[antykwa]
diff --git a/tex/context/base/type-otf.mkiv b/tex/context/base/type-otf.mkiv
index b889e1ad2..24b9f4f6e 100644
--- a/tex/context/base/type-otf.mkiv
+++ b/tex/context/base/type-otf.mkiv
@@ -450,7 +450,7 @@
\definetypescriptprefix [f:cursor] [cursor] \definetypescriptprefix [f:courier] [cursor]
\definetypescriptprefix [f:chorus] [chorus] \definetypescriptprefix [f:chancery] [chorus] % not the full set
- \starttypescript [serif,sans,mono] [adventor,bonum,bookman,cursor,courier,heros,helvetica,pagella,palatino,schola,schoolbook,termes,times]
+ \starttypescript [serif,sans] [adventor,bonum,bookman,heros,helvetica,pagella,palatino,schola,schoolbook,termes,times]
\definefontsynonym [\typescriptprefix{n:\typescripttwo}-Regular] [\s!file:texgyre\typescriptprefix{f:\typescripttwo}-regular] [\s!features=\s!default]
\definefontsynonym [\typescriptprefix{n:\typescripttwo}-Italic] [\s!file:texgyre\typescriptprefix{f:\typescripttwo}-italic] [\s!features=\s!default]
\definefontsynonym [\typescriptprefix{n:\typescripttwo}-Bold] [\s!file:texgyre\typescriptprefix{f:\typescripttwo}-bold] [\s!features=\s!default]
@@ -461,6 +461,13 @@
\definefontsynonym [\typescriptprefix{n:\typescripttwo}-BoldItalicCaps] [\s!file:texgyre\typescriptprefix{f:\typescripttwo}-bolditalic] [\s!features=\s!smallcaps]
\stoptypescript
+ \starttypescript [mono] [cursor,courier]
+ \definefontsynonym [\typescriptprefix{n:\typescripttwo}-Regular] [\s!file:texgyre\typescriptprefix{f:\typescripttwo}-regular] [\s!features=\s!none]
+ \definefontsynonym [\typescriptprefix{n:\typescripttwo}-Italic] [\s!file:texgyre\typescriptprefix{f:\typescripttwo}-italic] [\s!features=\s!none]
+ \definefontsynonym [\typescriptprefix{n:\typescripttwo}-Bold] [\s!file:texgyre\typescriptprefix{f:\typescripttwo}-bold] [\s!features=\s!none]
+ \definefontsynonym [\typescriptprefix{n:\typescripttwo}-BoldItalic] [\s!file:texgyre\typescriptprefix{f:\typescripttwo}-bolditalic] [\s!features=\s!none]
+ \stoptypescript
+
\starttypescript [serif,calligraphy] [chorus,chancery]
\definefontsynonym [TeXGyreChorus-MediumItalic] [\s!file:texgyrechorus-mediumitalic] [\s!features=\s!default]
\stoptypescript
@@ -1458,7 +1465,7 @@
\starttypescript [lucida]
\definetypeface [lucida] [rm] [\s!serif] [lucida] [\s!default] [\s!features=\s!default]
\definetypeface [lucida] [ss] [\s!sans] [lucida] [\s!default] [\s!features=\s!default]
- \definetypeface [lucida] [tt] [\s!mono] [lucida] [\s!default] [\s!features=\s!default]
+ \definetypeface [lucida] [tt] [\s!mono] [lucida] [\s!default] [\s!features=\s!none]
\definetypeface [lucida] [hw] [\s!handwriting] [lucida] [\s!default] [\s!features=\s!default]
\definetypeface [lucida] [cg] [\s!calligraphy] [lucida] [\s!default] [\s!features=\s!default]
\definetypeface [lucida] [mm] [\s!math] [lucida] [\s!default]
@@ -1497,8 +1504,8 @@
\starttypescript[asana]
\definetypeface [\typescriptone] [rm] [\s!serif] [palatino] [\s!default]
- \definetypeface [\typescriptone] [ss] [\s!sans] [modern] [\s!default] [rscale=1.075]
- \definetypeface [\typescriptone] [tt] [\s!mono] [modern] [\s!default] [rscale=1.075]
+ \definetypeface [\typescriptone] [ss] [\s!sans] [modern] [\s!default] [\s!rscale=1.075]
+ \definetypeface [\typescriptone] [tt] [\s!mono] [modern] [\s!default] [\s!rscale=1.075]
\definetypeface [\typescriptone] [mm] [\s!math] [\typescriptone] [\s!default]
\quittypescriptscanning
\stoptypescript
@@ -1613,18 +1620,18 @@
\starttypescript [sans] [mscorearial] [name]
\setups[\s!font:\s!fallback:\s!sans]
- \definefontsynonym [\s!Sans] [\s!file:arial.ttf] [\s!features=default]
- \definefontsynonym [\s!SansBold] [\s!file:arialbd.ttf] [\s!features=default]
- \definefontsynonym [\s!SansItalic] [\s!file:ariali.ttf] [\s!features=default]
- \definefontsynonym [\s!SansBoldItalic] [\s!file:arialbi.ttf] [\s!features=default]
+ \definefontsynonym [\s!Sans] [\s!file:arial.ttf] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBold] [\s!file:arialbd.ttf] [\s!features=\s!default]
+ \definefontsynonym [\s!SansItalic] [\s!file:ariali.ttf] [\s!features=\s!default]
+ \definefontsynonym [\s!SansBoldItalic] [\s!file:arialbi.ttf] [\s!features=\s!default]
\stoptypescript
\starttypescript [mono] [mscorecourier] [name]
\setups[\s!font:\s!fallback:\s!mono]
- \definefontsynonym [\s!Mono] [\s!file:cour.ttf] [\s!features=\s!default]
- \definefontsynonym [\s!MonoBold] [\s!file:courbd.ttf] [\s!features=\s!default]
- \definefontsynonym [\s!MonoItalic] [\s!file:couri.ttf] [\s!features=\s!default]
- \definefontsynonym [\s!MonoBoldItalic] [\s!file:courbi.ttf] [\s!features=\s!default]
+ \definefontsynonym [\s!Mono] [\s!file:cour.ttf] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoBold] [\s!file:courbd.ttf] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoItalic] [\s!file:couri.ttf] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoBoldItalic] [\s!file:courbi.ttf] [\s!features=\s!none]
\stoptypescript
\starttypescript [sans] [mscoreverdana] [name]
@@ -1671,10 +1678,10 @@
\starttypescript [mono] [liberation] [name]
\setups[\s!font:\s!fallback:\s!mono]
- \definefontsynonym [\s!Mono] [\s!file:liberationmono-regular] [\s!features=\s!default]
- \definefontsynonym [\s!MonoBold] [\s!file:liberationmono-bold] [\s!features=\s!default]
- \definefontsynonym [\s!MonoItalic] [\s!file:liberationmono-italic] [\s!features=\s!default]
- \definefontsynonym [\s!MonoBoldItalic] [\s!file:liberationmono-bolditalic] [\s!features=\s!default]
+ \definefontsynonym [\s!Mono] [\s!file:liberationmono-regular] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoBold] [\s!file:liberationmono-bold] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoItalic] [\s!file:liberationmono-italic] [\s!features=\s!none]
+ \definefontsynonym [\s!MonoBoldItalic] [\s!file:liberationmono-bolditalic] [\s!features=\s!none]
\stoptypescript
\starttypescript[liberation]
@@ -1862,22 +1869,43 @@
\starttypescriptcollection[punk]
- \definefontfeature[punknova][mode=node,script=latn,rand=yes,kern=yes,liga=yes,tlig=yes]
+ \definefontfeature [punknova] [mode=node,script=latn,rand=yes,kern=yes,liga=yes,tlig=yes]
+ \definefontfeature [punknova-slanted] [punknova] [slant=.25]
\starttypescript [serif] [punknova]
- \setups[font:fallback:serif] % no style variants yet, actually it's a sans
- \definefontsynonym [Serif] [file:punknova] [features=punknova]
+ \definefontsynonym [Serif] [\s!file:punknova-regular] [\s!features=punknova]
+ \definefontsynonym [SerifSlanted] [\s!file:punknova-regular] [\s!features=punknova-slanted]
+ \definefontsynonym [SerifBold] [\s!file:punknova-bold] [\s!features=punknova]
+ \definefontsynonym [SerifBoldSlanted][\s!file:punknova-bold] [\s!features=punknova-slanted]
+ \definefontsynonym [SerifItalic] [SerifSlanted]
+ \definefontsynonym [SerifBoldItalic] [SerifBoldSlanted]
\stoptypescript
+ % \definefontfeature [slanted-25] [slant=.25]
+ % \starttypescript [serif] [punknova]
+ % \definefontsynonym [SerifSlanted] [\s!file:punknova-regular] [\s!features={punknova,slanted-25}]
+ % \stoptypescript
+
\starttypescript [punknova]
\definetypeface [punknova] [rm] [serif] [punknova] [default]
\stoptypescript
\stoptypescriptcollection
-% \starttypescript [math] [hvmath]
-% \definefontsynonym[MathRoman][hvmath@hvmath-math]
-% \loadfontgoodies[hvmath-math]
-% \stoptypescript
+% \starttypescriptcollection[hvmath]
+
+% \starttypescript [math] [hvmath]
+% \definefontsynonym[MathRoman][hvmath@hvmath-math]
+% \loadfontgoodies[hvmath-math]
+% \stoptypescript
+
+% \starttypescript [hvmath]
+% \definetypeface [hvmath] [ss] [sans] [heros] [default] [rscale=0.9]
+% \definetypeface [hvmath] [rm] [serif] [termes] [default]
+% \definetypeface [hvmath] [tt] [mono] [cursor] [default] [rscale=1.05]
+% \definetypeface [hvmath] [mm] [math] [hvmath] [default]
+% \stoptypescript
+
+% \stoptypescriptcollection
\protect \endinput
diff --git a/tex/context/base/typo-brk.lua b/tex/context/base/typo-brk.lua
index ee58cef68..a845599f5 100644
--- a/tex/context/base/typo-brk.lua
+++ b/tex/context/base/typo-brk.lua
@@ -33,8 +33,10 @@ local make_glyph_node = nodes.glyph
local remove_node = nodes.remove -- ! nodes
local tonodes = blobs.tonodes
-local glyph = node.id("glyph")
-local kern = node.id("kern")
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local kern = nodecodes.kern
typesetting = typesetting or {}
typesetting.breakpoints = typesetting.breakpoints or {}
diff --git a/tex/context/base/typo-cap.lua b/tex/context/base/typo-cap.lua
index 0e9068af3..3de2c5ab1 100644
--- a/tex/context/base/typo-cap.lua
+++ b/tex/context/base/typo-cap.lua
@@ -21,8 +21,10 @@ local traverse_id = node.traverse_id
local texattribute = tex.attribute
-local glyph = node.id("glyph")
-local kern = node.id("kern")
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local kern = nodecodes.kern
local fontdata = fonts.ids
local fontchar = fonts.chr
diff --git a/tex/context/base/typo-dig.lua b/tex/context/base/typo-dig.lua
index 9bc738ecf..687090074 100644
--- a/tex/context/base/typo-dig.lua
+++ b/tex/context/base/typo-dig.lua
@@ -27,8 +27,10 @@ local insert_after = node.insert_after
local texattribute = tex.attribute
-local glyph = node.id("glyph")
-local kern = node.id("kern")
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local kern = nodecodes.kern
local new_glue = nodes.glue
diff --git a/tex/context/base/typo-krn.lua b/tex/context/base/typo-krn.lua
index b858dbc1a..27bd09e4d 100644
--- a/tex/context/base/typo-krn.lua
+++ b/tex/context/base/typo-krn.lua
@@ -23,14 +23,16 @@ local insert_node_after = node.insert_after
local make_glue_spec = nodes.glue_spec
local make_kern_node = nodes.kern
-local texattribute = tex.attribute
-
-local glyph = node.id("glyph")
-local kern = node.id("kern")
-local disc = node.id('disc')
-local glue = node.id('glue')
-local hlist = node.id('hlist')
-local vlist = node.id('vlist')
+local texattribute = tex.attribute
+
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local kern = nodecodes.kern
+local disc = nodecodes.disc
+local glue = nodecodes.glue
+local hlist = nodecodes.hlist
+local vlist = nodecodes.vlist
local fontdata = fonts.identifiers
local chardata = fonts.characters
diff --git a/tex/context/base/typo-mir.lua b/tex/context/base/typo-mir.lua
index 5ab85c7c2..f0ed7fdff 100644
--- a/tex/context/base/typo-mir.lua
+++ b/tex/context/base/typo-mir.lua
@@ -26,9 +26,11 @@ local insert_node_before = node.insert_before
local insert_node_after = node.insert_after
local remove_node = nodes.remove
-local glyph = node.id("glyph")
-local whatsit = node.id("whatsit")
-local mthnode = node.id('math')
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+local whatsit = nodecodes.whatsit
+local mthnode = nodecodes.math
local fontdata = fonts.ids
local fontchar = fonts.chr
@@ -412,12 +414,12 @@ end
--~ return false
--~ end
-chars.handle_mirroring = nodes.install_attribute_handler {
+mirroring.handler = nodes.install_attribute_handler {
name = "mirroring",
namespace = mirroring,
processor = mirroring.process,
}
function mirroring.enable()
- tasks.enableaction("processors","chars.handle_mirroring")
+ tasks.enableaction("processors","mirroring.handler")
end
diff --git a/tex/context/base/typo-rep.lua b/tex/context/base/typo-rep.lua
index 56681974e..ac93cde6f 100644
--- a/tex/context/base/typo-rep.lua
+++ b/tex/context/base/typo-rep.lua
@@ -22,10 +22,13 @@ local has_attribute = node.has_attribute
local chardata = characters.data
local collected = false
-local glyph = node.id("glyph")
local attribute = attributes.private("stripping")
local fontdata = fonts.ids
+local nodecodes = nodes.nodecodes
+
+local glyph = nodecodes.glyph
+
-- other namespace
nodes.stripping = nodes.stripping or { } local stripping = nodes.stripping
diff --git a/tex/context/base/typo-spa.lua b/tex/context/base/typo-spa.lua
index bc964932a..b11d4e386 100644
--- a/tex/context/base/typo-spa.lua
+++ b/tex/context/base/typo-spa.lua
@@ -24,13 +24,15 @@ local insert_node_after = node.insert_after
local remove_node = nodes.remove
local make_penalty_node = nodes.penalty
local make_glue_node = nodes.glue
-local glyph = node.id("glyph")
local fontdata = fonts.identifiers
local quaddata = fonts.quads
+local nodecodes = nodes.nodecodes
local texattribute = tex.attribute
+local glyph = nodecodes.glyph
+
typesetting = typesetting or { }
typesetting.spacings = typesetting.spacings or { }
diff --git a/tex/context/base/unic-003.mkii b/tex/context/base/unic-003.mkii
index d37563d26..3f994a662 100644
--- a/tex/context/base/unic-003.mkii
+++ b/tex/context/base/unic-003.mkii
@@ -136,7 +136,7 @@
\strippedcsname \unknownchar \or
\strippedcsname \unknownchar \or % kappa alt
\strippedcsname \greekrhoalt \or
- \strippedcsname \unknownchar \or
+ \strippedcsname \greeksigmalunate \or
\strippedcsname \unknownchar \or
\strippedcsname \unknownchar \or
\strippedcsname \greekepsilonalt \else
diff --git a/tex/context/base/xetx-utf.mkii b/tex/context/base/xetx-utf.mkii
index 79bd00745..a337c9e76 100644
--- a/tex/context/base/xetx-utf.mkii
+++ b/tex/context/base/xetx-utf.mkii
@@ -1986,4 +1986,9 @@
\setXTXcharcodes "201C "201C "201C
\setXTXcharcodes "201D "201D "201D
+% patch needed for french
+
+% \setXTXcharcodes "0027 "0027 "0027
+\setXTXcharcodes "2019 "2019 "2019
+
\endinput
diff --git a/tex/context/fonts/hvmath-math.lfg b/tex/context/fonts/hvmath-math.lfg
index a7ec1ce89..0eba3db23 100644
--- a/tex/context/fonts/hvmath-math.lfg
+++ b/tex/context/fonts/hvmath-math.lfg
@@ -6,7 +6,7 @@ return {
copyright = "ConTeXt development team",
mathematics = {
mapfiles = {
- -- todo
+ "hvm-pem.map",
},
virtuals = {
["hvmath-math"] = {
diff --git a/tex/context/interface/cont-cs.xml b/tex/context/interface/cont-cs.xml
index d67833041..d19ba7c4f 100644
--- a/tex/context/interface/cont-cs.xml
+++ b/tex/context/interface/cont-cs.xml
@@ -1148,6 +1148,10 @@
<cd:constant type="ano"/>
<cd:constant type="ne"/>
</cd:parameter>
+ <cd:parameter name="odstavec">
+ <cd:constant type="ano"/>
+ <cd:constant type="ne" default="yes"/>
+ </cd:parameter>
<cd:parameter name="faktor">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -3166,6 +3170,10 @@
<cd:parameter name="prikaz">
<cd:constant type="cd:command"/>
</cd:parameter>
+ <cd:parameter name="obrazovka">
+ <cd:constant type="ano" default="yes"/>
+ <cd:constant type="ne"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -5056,10 +5064,11 @@
<cd:constant type="cd:oneargument"/>
</cd:parameter>
<cd:parameter name="interakce">
- <cd:constant type="cd:sectionnumber"/>
- <cd:constant type="cd:text"/>
+ <cd:constant type="cislooddilu"/>
+ <cd:constant type="text"/>
<cd:constant type="cislostranky"/>
<cd:constant type="vse"/>
+ <cd:constant type="zadny"/>
</cd:parameter>
<cd:parameter name="pred">
<cd:constant type="cd:command"/>
@@ -6062,6 +6071,10 @@
<cd:constant type="ano"/>
<cd:constant type="ne"/>
</cd:parameter>
+ <cd:parameter name="interakce">
+ <cd:constant type="seznam"/>
+ <cd:constant type="zadny"/>
+ </cd:parameter>
<cd:inherit name="nastavnadpisy" n="1"/>
</cd:assignments>
</cd:arguments>
@@ -8513,6 +8526,11 @@
<cd:parameter name="prefix">
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="interakce">
+ <cd:constant type="ano"/>
+ <cd:constant type="ne"/>
+ <!-- more will follow -->
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -9319,6 +9337,12 @@
<cd:constant type="cd:name"/>
<cd:constant type="vse"/>
</cd:keywords>
+ <cd:assignments n="3" optional="yes" list="yes">
+ <cd:parameter name="sila">
+ <cd:constant type="ano"/>
+ <cd:constant type="ne"/>
+ </cd:parameter>
+ </cd:assignments>
</cd:arguments>
</cd:command>
diff --git a/tex/context/interface/cont-de.xml b/tex/context/interface/cont-de.xml
index 6ba3e691e..fcd3194c6 100644
--- a/tex/context/interface/cont-de.xml
+++ b/tex/context/interface/cont-de.xml
@@ -1148,6 +1148,10 @@
<cd:constant type="ja"/>
<cd:constant type="nein"/>
</cd:parameter>
+ <cd:parameter name="absatz">
+ <cd:constant type="ja"/>
+ <cd:constant type="nein" default="yes"/>
+ </cd:parameter>
<cd:parameter name="faktor">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -3166,6 +3170,10 @@
<cd:parameter name="befehl">
<cd:constant type="cd:command"/>
</cd:parameter>
+ <cd:parameter name="bildschirm">
+ <cd:constant type="ja" default="yes"/>
+ <cd:constant type="nein"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -5056,10 +5064,11 @@
<cd:constant type="cd:oneargument"/>
</cd:parameter>
<cd:parameter name="interaktion">
- <cd:constant type="cd:sectionnumber"/>
- <cd:constant type="cd:text"/>
+ <cd:constant type="abschnittsnummer"/>
+ <cd:constant type="text"/>
<cd:constant type="seitennummer"/>
<cd:constant type="alles"/>
+ <cd:constant type="kein"/>
</cd:parameter>
<cd:parameter name="vor">
<cd:constant type="cd:command"/>
@@ -6062,6 +6071,10 @@
<cd:constant type="ja"/>
<cd:constant type="nein"/>
</cd:parameter>
+ <cd:parameter name="interaktion">
+ <cd:constant type="liste"/>
+ <cd:constant type="kein"/>
+ </cd:parameter>
<cd:inherit name="stelleueberschriftenein" n="1"/>
</cd:assignments>
</cd:arguments>
@@ -8513,6 +8526,11 @@
<cd:parameter name="prefix">
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="interaktion">
+ <cd:constant type="ja"/>
+ <cd:constant type="nein"/>
+ <!-- more will follow -->
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -9319,6 +9337,12 @@
<cd:constant type="cd:name"/>
<cd:constant type="alles"/>
</cd:keywords>
+ <cd:assignments n="3" optional="yes" list="yes">
+ <cd:parameter name="zwinge">
+ <cd:constant type="ja"/>
+ <cd:constant type="nein"/>
+ </cd:parameter>
+ </cd:assignments>
</cd:arguments>
</cd:command>
diff --git a/tex/context/interface/cont-en.xml b/tex/context/interface/cont-en.xml
index 5421df6e3..76fb020cb 100644
--- a/tex/context/interface/cont-en.xml
+++ b/tex/context/interface/cont-en.xml
@@ -1148,6 +1148,10 @@
<cd:constant type="yes"/>
<cd:constant type="no"/>
</cd:parameter>
+ <cd:parameter name="paragraph">
+ <cd:constant type="yes"/>
+ <cd:constant type="no" default="yes"/>
+ </cd:parameter>
<cd:parameter name="factor">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -3166,6 +3170,10 @@
<cd:parameter name="command">
<cd:constant type="cd:command"/>
</cd:parameter>
+ <cd:parameter name="display">
+ <cd:constant type="yes" default="yes"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -5056,10 +5064,11 @@
<cd:constant type="cd:oneargument"/>
</cd:parameter>
<cd:parameter name="interaction">
- <cd:constant type="cd:sectionnumber"/>
- <cd:constant type="cd:text"/>
+ <cd:constant type="sectionnumber"/>
+ <cd:constant type="text"/>
<cd:constant type="pagenumber"/>
<cd:constant type="all"/>
+ <cd:constant type="none"/>
</cd:parameter>
<cd:parameter name="before">
<cd:constant type="cd:command"/>
@@ -6062,6 +6071,10 @@
<cd:constant type="yes"/>
<cd:constant type="no"/>
</cd:parameter>
+ <cd:parameter name="interaction">
+ <cd:constant type="list"/>
+ <cd:constant type="none"/>
+ </cd:parameter>
<cd:inherit name="setupheads" n="1"/>
</cd:assignments>
</cd:arguments>
@@ -8513,6 +8526,11 @@
<cd:parameter name="prefix">
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="interaction">
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <!-- more will follow -->
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -9319,6 +9337,12 @@
<cd:constant type="cd:name"/>
<cd:constant type="all"/>
</cd:keywords>
+ <cd:assignments n="3" optional="yes" list="yes">
+ <cd:parameter name="force">
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
+ </cd:assignments>
</cd:arguments>
</cd:command>
diff --git a/tex/context/interface/cont-fr.xml b/tex/context/interface/cont-fr.xml
index 043a2b91f..235b48fe3 100644
--- a/tex/context/interface/cont-fr.xml
+++ b/tex/context/interface/cont-fr.xml
@@ -1148,6 +1148,10 @@
<cd:constant type="oui"/>
<cd:constant type="non"/>
</cd:parameter>
+ <cd:parameter name="paragraphe">
+ <cd:constant type="oui"/>
+ <cd:constant type="non" default="yes"/>
+ </cd:parameter>
<cd:parameter name="facteur">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -3166,6 +3170,10 @@
<cd:parameter name="commande">
<cd:constant type="cd:command"/>
</cd:parameter>
+ <cd:parameter name="affichage">
+ <cd:constant type="oui" default="yes"/>
+ <cd:constant type="non"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -5056,10 +5064,11 @@
<cd:constant type="cd:oneargument"/>
</cd:parameter>
<cd:parameter name="interaction">
- <cd:constant type="cd:sectionnumber"/>
- <cd:constant type="cd:text"/>
+ <cd:constant type="numerosection"/>
+ <cd:constant type="texte"/>
<cd:constant type="numeropage"/>
<cd:constant type="tout"/>
+ <cd:constant type="rien"/>
</cd:parameter>
<cd:parameter name="avant">
<cd:constant type="cd:command"/>
@@ -6062,6 +6071,10 @@
<cd:constant type="oui"/>
<cd:constant type="non"/>
</cd:parameter>
+ <cd:parameter name="interaction">
+ <cd:constant type="liste"/>
+ <cd:constant type="rien"/>
+ </cd:parameter>
<cd:inherit name="regletetes" n="1"/>
</cd:assignments>
</cd:arguments>
@@ -8513,6 +8526,11 @@
<cd:parameter name="prefixe">
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="interaction">
+ <cd:constant type="oui"/>
+ <cd:constant type="non"/>
+ <!-- more will follow -->
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -9319,6 +9337,12 @@
<cd:constant type="cd:name"/>
<cd:constant type="tout"/>
</cd:keywords>
+ <cd:assignments n="3" optional="yes" list="yes">
+ <cd:parameter name="force">
+ <cd:constant type="oui"/>
+ <cd:constant type="non"/>
+ </cd:parameter>
+ </cd:assignments>
</cd:arguments>
</cd:command>
diff --git a/tex/context/interface/cont-it.xml b/tex/context/interface/cont-it.xml
index 9e470fe68..c920875e6 100644
--- a/tex/context/interface/cont-it.xml
+++ b/tex/context/interface/cont-it.xml
@@ -1148,6 +1148,10 @@
<cd:constant type="si"/>
<cd:constant type="no"/>
</cd:parameter>
+ <cd:parameter name="capoverso">
+ <cd:constant type="si"/>
+ <cd:constant type="no" default="yes"/>
+ </cd:parameter>
<cd:parameter name="fattore">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -3166,6 +3170,10 @@
<cd:parameter name="comando">
<cd:constant type="cd:command"/>
</cd:parameter>
+ <cd:parameter name="display">
+ <cd:constant type="si" default="yes"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -5056,10 +5064,11 @@
<cd:constant type="cd:oneargument"/>
</cd:parameter>
<cd:parameter name="interazione">
- <cd:constant type="cd:sectionnumber"/>
- <cd:constant type="cd:text"/>
+ <cd:constant type="numerosezione"/>
+ <cd:constant type="testo"/>
<cd:constant type="numeropagina"/>
<cd:constant type="tutti"/>
+ <cd:constant type="nessuno"/>
</cd:parameter>
<cd:parameter name="prima">
<cd:constant type="cd:command"/>
@@ -6062,6 +6071,10 @@
<cd:constant type="si"/>
<cd:constant type="no"/>
</cd:parameter>
+ <cd:parameter name="interazione">
+ <cd:constant type="elenco"/>
+ <cd:constant type="nessuno"/>
+ </cd:parameter>
<cd:inherit name="impostateste" n="1"/>
</cd:assignments>
</cd:arguments>
@@ -8513,6 +8526,11 @@
<cd:parameter name="prefisso">
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="interazione">
+ <cd:constant type="si"/>
+ <cd:constant type="no"/>
+ <!-- more will follow -->
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -9319,6 +9337,12 @@
<cd:constant type="cd:name"/>
<cd:constant type="tutti"/>
</cd:keywords>
+ <cd:assignments n="3" optional="yes" list="yes">
+ <cd:parameter name="forza">
+ <cd:constant type="si"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
+ </cd:assignments>
</cd:arguments>
</cd:command>
diff --git a/tex/context/interface/cont-nl.xml b/tex/context/interface/cont-nl.xml
index 990b915c9..b04c64bf7 100644
--- a/tex/context/interface/cont-nl.xml
+++ b/tex/context/interface/cont-nl.xml
@@ -1148,6 +1148,10 @@
<cd:constant type="ja"/>
<cd:constant type="nee"/>
</cd:parameter>
+ <cd:parameter name="alinea">
+ <cd:constant type="ja"/>
+ <cd:constant type="nee" default="yes"/>
+ </cd:parameter>
<cd:parameter name="factor">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -3166,6 +3170,10 @@
<cd:parameter name="commando">
<cd:constant type="cd:command"/>
</cd:parameter>
+ <cd:parameter name="scherm">
+ <cd:constant type="ja" default="yes"/>
+ <cd:constant type="nee"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -5056,10 +5064,11 @@
<cd:constant type="cd:oneargument"/>
</cd:parameter>
<cd:parameter name="interactie">
- <cd:constant type="cd:sectionnumber"/>
- <cd:constant type="cd:text"/>
+ <cd:constant type="sectienummer"/>
+ <cd:constant type="tekst"/>
<cd:constant type="paginanummer"/>
<cd:constant type="alles"/>
+ <cd:constant type="geen"/>
</cd:parameter>
<cd:parameter name="voor">
<cd:constant type="cd:command"/>
@@ -6062,6 +6071,10 @@
<cd:constant type="ja"/>
<cd:constant type="nee"/>
</cd:parameter>
+ <cd:parameter name="interactie">
+ <cd:constant type="lijst"/>
+ <cd:constant type="geen"/>
+ </cd:parameter>
<cd:inherit name="stelkoppenin" n="1"/>
</cd:assignments>
</cd:arguments>
@@ -8513,6 +8526,11 @@
<cd:parameter name="prefix">
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="interactie">
+ <cd:constant type="ja"/>
+ <cd:constant type="nee"/>
+ <!-- more will follow -->
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -9319,6 +9337,12 @@
<cd:constant type="cd:name"/>
<cd:constant type="alles"/>
</cd:keywords>
+ <cd:assignments n="3" optional="yes" list="yes">
+ <cd:parameter name="forceer">
+ <cd:constant type="ja"/>
+ <cd:constant type="nee"/>
+ </cd:parameter>
+ </cd:assignments>
</cd:arguments>
</cd:command>
diff --git a/tex/context/interface/cont-pe.xml b/tex/context/interface/cont-pe.xml
index c4e82e1d5..99579e224 100644
--- a/tex/context/interface/cont-pe.xml
+++ b/tex/context/interface/cont-pe.xml
@@ -1148,6 +1148,10 @@
<cd:constant type="بله"/>
<cd:constant type="نه"/>
</cd:parameter>
+ <cd:parameter name="پاراگراف">
+ <cd:constant type="بله"/>
+ <cd:constant type="نه" default="yes"/>
+ </cd:parameter>
<cd:parameter name="عامل">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -3166,6 +3170,10 @@
<cd:parameter name="فرمان">
<cd:constant type="cd:command"/>
</cd:parameter>
+ <cd:parameter name="نمایش">
+ <cd:constant type="بله" default="yes"/>
+ <cd:constant type="نه"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -5056,10 +5064,11 @@
<cd:constant type="cd:oneargument"/>
</cd:parameter>
<cd:parameter name="پانل">
- <cd:constant type="cd:sectionnumber"/>
- <cd:constant type="cd:text"/>
+ <cd:constant type="شماره‌بخش"/>
+ <cd:constant type="متن"/>
<cd:constant type="شماره‌صفحه"/>
<cd:constant type="همه"/>
+ <cd:constant type="هیچکدام"/>
</cd:parameter>
<cd:parameter name="قبل‌از">
<cd:constant type="cd:command"/>
@@ -6062,6 +6071,10 @@
<cd:constant type="بله"/>
<cd:constant type="نه"/>
</cd:parameter>
+ <cd:parameter name="پانل">
+ <cd:constant type="لیست"/>
+ <cd:constant type="هیچکدام"/>
+ </cd:parameter>
<cd:inherit name="بارگذاری‌سرها" n="1"/>
</cd:assignments>
</cd:arguments>
@@ -8513,6 +8526,11 @@
<cd:parameter name="پیشوند">
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="پانل">
+ <cd:constant type="بله"/>
+ <cd:constant type="نه"/>
+ <!-- more will follow -->
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -9319,6 +9337,12 @@
<cd:constant type="cd:name"/>
<cd:constant type="همه"/>
</cd:keywords>
+ <cd:assignments n="3" optional="yes" list="yes">
+ <cd:parameter name="اجبار">
+ <cd:constant type="بله"/>
+ <cd:constant type="نه"/>
+ </cd:parameter>
+ </cd:assignments>
</cd:arguments>
</cd:command>
diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml
index dcaa288da..3433709bd 100644
--- a/tex/context/interface/cont-ro.xml
+++ b/tex/context/interface/cont-ro.xml
@@ -1148,6 +1148,10 @@
<cd:constant type="da"/>
<cd:constant type="nu"/>
</cd:parameter>
+ <cd:parameter name="paragraf">
+ <cd:constant type="da"/>
+ <cd:constant type="nu" default="yes"/>
+ </cd:parameter>
<cd:parameter name="factor">
<cd:constant type="cd:number"/>
</cd:parameter>
@@ -3166,6 +3170,10 @@
<cd:parameter name="comanda">
<cd:constant type="cd:command"/>
</cd:parameter>
+ <cd:parameter name="display">
+ <cd:constant type="da" default="yes"/>
+ <cd:constant type="nu"/>
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -5056,10 +5064,11 @@
<cd:constant type="cd:oneargument"/>
</cd:parameter>
<cd:parameter name="interactiune">
- <cd:constant type="cd:sectionnumber"/>
- <cd:constant type="cd:text"/>
+ <cd:constant type="numarsetiune"/>
+ <cd:constant type="text"/>
<cd:constant type="numarpagina"/>
<cd:constant type="tot"/>
+ <cd:constant type="niciunul"/>
</cd:parameter>
<cd:parameter name="inainte">
<cd:constant type="cd:command"/>
@@ -6062,6 +6071,10 @@
<cd:constant type="da"/>
<cd:constant type="nu"/>
</cd:parameter>
+ <cd:parameter name="interactiune">
+ <cd:constant type="lista"/>
+ <cd:constant type="niciunul"/>
+ </cd:parameter>
<cd:inherit name="seteazatitluri" n="1"/>
</cd:assignments>
</cd:arguments>
@@ -8513,6 +8526,11 @@
<cd:parameter name="prefix">
<cd:constant type="cd:text"/>
</cd:parameter>
+ <cd:parameter name="interactiune">
+ <cd:constant type="da"/>
+ <cd:constant type="nu"/>
+ <!-- more will follow -->
+ </cd:parameter>
</cd:assignments>
</cd:arguments>
</cd:command>
@@ -9319,6 +9337,12 @@
<cd:constant type="cd:name"/>
<cd:constant type="tot"/>
</cd:keywords>
+ <cd:assignments n="3" optional="yes" list="yes">
+ <cd:parameter name="fortat">
+ <cd:constant type="da"/>
+ <cd:constant type="nu"/>
+ </cd:parameter>
+ </cd:assignments>
</cd:arguments>
</cd:command>
diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml
index 40d5f2fae..f45cd0892 100644
--- a/tex/context/interface/keys-cs.xml
+++ b/tex/context/interface/keys-cs.xml
@@ -662,6 +662,7 @@
<cd:constant name='footer' value='upati'/>
<cd:constant name='footerdistance' value='vzdalenostupati'/>
<cd:constant name='footerstate' value='statusupati'/>
+ <cd:constant name='force' value='sila'/>
<cd:constant name='foregroundcolor' value='foregroundcolor'/>
<cd:constant name='foregroundstyle' value='foregroundstyle'/>
<cd:constant name='format' value='formatovat'/>
@@ -860,6 +861,7 @@
<cd:constant name='previous' value='predchozi'/>
<cd:constant name='previousnumber' value='predchozicislo'/>
<cd:constant name='process' value='process'/>
+ <cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
<cd:constant name='radius' value='polomer'/>
<cd:constant name='random' value='nahodne'/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 4ded5c635..0f0cd6da5 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -662,6 +662,7 @@
<cd:constant name='footer' value='fusszeile'/>
<cd:constant name='footerdistance' value='fusszeilenabstand'/>
<cd:constant name='footerstate' value='fusszeilenstatus'/>
+ <cd:constant name='force' value='zwinge'/>
<cd:constant name='foregroundcolor' value='foregroundcolor'/>
<cd:constant name='foregroundstyle' value='foregroundstyle'/>
<cd:constant name='format' value='formatieren'/>
@@ -860,6 +861,7 @@
<cd:constant name='previous' value='vorige'/>
<cd:constant name='previousnumber' value='vorigenummer'/>
<cd:constant name='process' value='process'/>
+ <cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
<cd:constant name='radius' value='radius'/>
<cd:constant name='random' value='zufaellig'/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index 995f53c93..2d2dfe04a 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -662,6 +662,7 @@
<cd:constant name='footer' value='footer'/>
<cd:constant name='footerdistance' value='footerdistance'/>
<cd:constant name='footerstate' value='footerstate'/>
+ <cd:constant name='force' value='force'/>
<cd:constant name='foregroundcolor' value='foregroundcolor'/>
<cd:constant name='foregroundstyle' value='foregroundstyle'/>
<cd:constant name='format' value='format'/>
@@ -860,6 +861,7 @@
<cd:constant name='previous' value='previous'/>
<cd:constant name='previousnumber' value='previousnumber'/>
<cd:constant name='process' value='process'/>
+ <cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
<cd:constant name='radius' value='radius'/>
<cd:constant name='random' value='random'/>
diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index 3e52b484e..0ff5eabe2 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -662,6 +662,7 @@
<cd:constant name='footer' value='pdp'/>
<cd:constant name='footerdistance' value='dsitancepdp'/>
<cd:constant name='footerstate' value='etatpdp'/>
+ <cd:constant name='force' value='force'/>
<cd:constant name='foregroundcolor' value='couleurpremierplan'/>
<cd:constant name='foregroundstyle' value='stylepremierplan'/>
<cd:constant name='format' value='formatter'/>
@@ -860,6 +861,7 @@
<cd:constant name='previous' value='precedent'/>
<cd:constant name='previousnumber' value='numeroprecedent'/>
<cd:constant name='process' value='process'/>
+ <cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
<cd:constant name='radius' value='rayon'/>
<cd:constant name='random' value='aleatoire'/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 944dea0e9..543c67949 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -662,6 +662,7 @@
<cd:constant name='footer' value='piedipagina'/>
<cd:constant name='footerdistance' value='distanzapdp'/>
<cd:constant name='footerstate' value='statopdp'/>
+ <cd:constant name='force' value='forza'/>
<cd:constant name='foregroundcolor' value='coloreprimopiano'/>
<cd:constant name='foregroundstyle' value='foregroundstyle'/>
<cd:constant name='format' value='format'/>
@@ -860,6 +861,7 @@
<cd:constant name='previous' value='precedente'/>
<cd:constant name='previousnumber' value='numeroprecedente'/>
<cd:constant name='process' value='process'/>
+ <cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
<cd:constant name='radius' value='raggio'/>
<cd:constant name='random' value='casuale'/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index 30044d0f1..0ac9763ec 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -662,6 +662,7 @@
<cd:constant name='footer' value='voet'/>
<cd:constant name='footerdistance' value='voetafstand'/>
<cd:constant name='footerstate' value='voetstatus'/>
+ <cd:constant name='force' value='forceer'/>
<cd:constant name='foregroundcolor' value='voorgrondkleur'/>
<cd:constant name='foregroundstyle' value='voorgrondletter'/>
<cd:constant name='format' value='formatteer'/>
@@ -860,6 +861,7 @@
<cd:constant name='previous' value='vorige'/>
<cd:constant name='previousnumber' value='vorigenummer'/>
<cd:constant name='process' value='proces'/>
+ <cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
<cd:constant name='radius' value='straal'/>
<cd:constant name='random' value='willekeur'/>
diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml
index 543880d25..0cb1f8a70 100644
--- a/tex/context/interface/keys-pe.xml
+++ b/tex/context/interface/keys-pe.xml
@@ -662,6 +662,7 @@
<cd:constant name='footer' value='ته‌برگ'/>
<cd:constant name='footerdistance' value='فاصله‌ته‌برگ'/>
<cd:constant name='footerstate' value='وضعیت‌ته‌برگ'/>
+ <cd:constant name='force' value='اجبار'/>
<cd:constant name='foregroundcolor' value='رنگ‌پیش‌زمینه'/>
<cd:constant name='foregroundstyle' value='سبک‌پیش‌زمینه'/>
<cd:constant name='format' value='شمایل'/>
@@ -860,6 +861,7 @@
<cd:constant name='previous' value='قبلی'/>
<cd:constant name='previousnumber' value='شماره‌قبلی'/>
<cd:constant name='process' value='پردازش'/>
+ <cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
<cd:constant name='radius' value='شعاع'/>
<cd:constant name='random' value='تصادفی'/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index b5d98845f..8665521df 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -662,6 +662,7 @@
<cd:constant name='footer' value='subsol'/>
<cd:constant name='footerdistance' value='distantasubsol'/>
<cd:constant name='footerstate' value='staresubsol'/>
+ <cd:constant name='force' value='fortat'/>
<cd:constant name='foregroundcolor' value='foregroundcolor'/>
<cd:constant name='foregroundstyle' value='foregroundstyle'/>
<cd:constant name='format' value='format'/>
@@ -860,6 +861,7 @@
<cd:constant name='previous' value='precendent'/>
<cd:constant name='previousnumber' value='numarprecedent'/>
<cd:constant name='process' value='process'/>
+ <cd:constant name='profile' value='profile'/>
<cd:constant name='pubsep' value='pubsep'/>
<cd:constant name='radius' value='raza'/>
<cd:constant name='random' value='aleator'/>
diff --git a/tex/context/patterns/lang-agr.hyp b/tex/context/patterns/lang-agr.hyp
index 9e36be3de..831a09e82 100644
--- a/tex/context/patterns/lang-agr.hyp
+++ b/tex/context/patterns/lang-agr.hyp
@@ -1,32 +1,8 @@
-% context hyphenation file, see lang-all.xml for original comment
+% generated by mtxrun --script pattern --convert
-% source of data: grahyph4.tex oldgrhyph.tex
+% for comment and copyright, see e:/tmp/patterns/lang-agr.rme
-% begin description data
-
-% <!-- copied from lang-all.xml
-%
-% <?xml version='1.0' standalone='yes'?>
-%
-% <description language='agr'>
-% <sourcefile>grahyph4.tex</sourcefile>
-% <title>TeX hyphenation patterns for the ancient Greek language</title>
-% <copyright>
-% <year>2004</year>
-% <owner>Dimitrios Filippou</owner>
-% <comment>These hyphenation patterns are explained in "ancient.pdf".
-% Hyphenation examples are given in the file "anc-test.pdf".
-% Some doubtful patterns are marked by three question marks "???".</comment>
-% </copyright>
-% </description>
-%
-% end of copy -->
-
-% end description data
-
-% begin hyphenation data
-
-\hyphenation {}
-
-% end hyphenation data
+% used:
+\hyphenation{
+} \ No newline at end of file
diff --git a/tex/context/patterns/lang-agr.lua b/tex/context/patterns/lang-agr.lua
new file mode 100644
index 000000000..a0c363916
--- /dev/null
+++ b/tex/context/patterns/lang-agr.lua
@@ -0,0 +1,55 @@
+return {
+ ["comment"]="% generated by mtxrun --script pattern --convert",
+ ["exceptions"]={
+ ["n"]=0,
+ },
+ ["metadata"]={
+ ["mnemonic"]="agr",
+ ["source"]="hyph-grc",
+ ["texcomment"]="% Hyphenation patterns for Ancient Greek\
+% \
+% (more info about the licence to be added later)\
+% \
+% ****************************************************************\
+%\
+% File name: grahyph5-unicode.tex\
+%\
+% This file was first created by mechanical translation from\
+% GRAhyph5.tex via \"elhyph-utf8 -a -c\" (version 0.1 by Peter\
+% Heslin -- p.j.heslin@durham.ac.uk). Some additions were\
+% also made by hand.\
+%\
+% Created: June 6, 2008\
+%\
+% Hyphenation patterns for Ancient Greek.\
+%\
+% Created by Dimitrios Filippou with some ideas borrowed from\
+% Yannis Haralambous, Kostis Dryllerakis and Claudio Beccari.\
+%\
+% These hyphenation patterns are explained in \"ancient.pdf\".\
+% Hyphenation examples are given in the file \"anc-test.pdf\".\
+% Some doubtful patterns are marked by three question marks \"???\".\
+%\
+% Documentation in English can be found in: D. Filippou,\
+% \"Hyphenation patterns for Ancient and Modern Greek,\" in\
+% \"TeX, XML, and Digital Typography\" (A. Syropoulos et al.,\
+% eds.), Lecture Notes in Computer Science 3130, Springer-Verlag\
+% Berlin-Heidelberg, 2004. ISBN 3-540-22801-2.\
+%\
+% Thanks to Thomas Schmitz (thomas.schmitz@uni-bonn.de)\
+% for pointing out a few mistakes. (Marked by %%%TS%%%)\
+%\
+% ****************************************************************\
+%\
+% \\message{UTF-8 hyphenation patterns for Ancient Greek}\
+%",
+ },
+ ["patterns"]={
+ ["characters"]="ʼΐάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϲἀἁἂἃἄἅἆἇἐἑἒἓἔἕἠἡἢἣἤἥἦἧἰἱἲἳἴἵἶἷὀὁὂὃὄὅὐὑὒὓὔὕὖὗὠὡὢὣὤὥὦὧὰάὲέὴήὶίὸόὺύὼώᾀᾁᾂᾃᾄᾅᾆᾇᾐᾑᾒᾓᾔᾕᾖᾗᾠᾡᾢᾣᾤᾥᾦᾧᾲᾳᾴᾶᾷ᾽᾿ῂῃῄῆῇῒΐῖῗῢΰῤῥῦῧῲῳῴῶῷ’",
+ ["data"]="α1 ε1 η1 ι1 ο1 υ1 ω1 ϊ1 ϋ1 ἀ1 ἁ1 ἂ1 ἃ1 ἄ1 ἅ1 ἆ1 ἇ1 ἐ1 ἑ1 ἒ1 ἓ1 ἔ1 ἕ1 ἠ1 ἡ1 ἢ1 ἣ1 ἤ1 ἥ1 ἦ1 ἧ1 ἰ1 ἱ1 ἲ1 ἳ1 ἴ1 ἵ1 ἶ1 ἷ1 ὀ1 ὁ1 ὂ1 ὃ1 ὄ1 ὅ1 ὐ1 ὑ1 ὒ1 ὓ1 ὔ1 ὕ1 ὖ1 ὗ1 ὠ1 ὡ1 ὢ1 ὣ1 ὤ1 ὥ1 ὦ1 ὧ1 ὰ1 ὲ1 ὴ1 ὶ1 ὸ1 ὺ1 ὼ1 ᾀ1 ᾁ1 ᾂ1 ᾃ1 ᾄ1 ᾅ1 ᾆ1 ᾇ1 ᾐ1 ᾑ1 ᾒ1 ᾓ1 ᾔ1 ᾕ1 ᾖ1 ᾗ1 ᾠ1 ᾡ1 ᾢ1 ᾣ1 ᾤ1 ᾥ1 ᾦ1 ᾧ1 ᾲ1 ᾳ1 ᾴ1 ᾶ1 ᾷ1 ῂ1 ῃ1 ῄ1 ῆ1 ῇ1 ῒ1 ῖ1 ῗ1 ῢ1 ῦ1 ῧ1 ῲ1 ῳ1 ῴ1 ῶ1 ῷ1 ά1 έ1 ή1 ί1 ό1 ύ1 ώ1 ΐ1 ΰ1 ά1 έ1 ή1 ί1 ό1 ύ1 ώ1 ΐ1 ΰ1 α2ι α2ί α2ί α2ὶ α2ῖ α2ἰ α2ἴ α2ἲ α2ἶ α2ἱ α2ἵ α2ἳ α2ἷ ά3ι ά3ι ᾶ3ι ἀ3ι ἁ3ι α2υ α2ύ α2ύ α2ὺ α2ῦ α2ὐ α2ὔ α2ὒ α2ὖ α2ὑ α2ὕ α2ὓ α2ὗ ά3υ ά3υ ᾶ3υ ἀ3υ ἁ3υ ε2ι ε2ί ε2ί ε2ὶ ε2ῖ ε2ἰ ε2ἴ ε2ἲ ε2ἶ ε2ἱ ε2ἵ ε2ἳ ε2ἷ έ3ι έ3ι ἐ3ι ἑ3ι ε2υ ε2ύ ε2ύ ε2ὺ ε2ῦ ε2ὐ ε2ὔ ε2ὒ ε2ὖ ε2ὑ ε2ὕ ε2ὓ ε2ὗ έ3υ έ3υ ἑ3υ ἐ3υ η2υ η2ύ η2ύ η2ὺ η2ῦ η2ὐ η2ὔ η2ὒ η2ὖ η2ὑ η2ὕ η2ὓ η2ὗ ή3υ ή3υ ῆ3υ ἠ3υ ἡ3υ ο2ι ο2ί ο2ί ο2ὶ ο2ῖ ο2ἰ ο2ἴ ο2ἲ ο2ἶ ο2ἱ ο2ἵ ο2ἳ ο2ἷ ό3ι ό3ι ὀ3ι ὁ3ι ο2υ ο2ύ ο2ύ ο2ὺ ο2ῦ ο2ὐ ο2ὔ ο2ὒ ο2ὖ ο2ὑ ο2ὕ ο2ὓ ο2ὗ ό3υ ό3υ ὀ3υ ὁ3υ υ2ι υ2ί υ2ί υ2ὶ υ2ῖ υ2ἰ υ2ἴ υ2ἲ υ2ἶ υ2ἱ υ2ἵ υ2ἳ υ2ἷ ύ3ι ύ3ι ῦ3ι ὐ3ι ὑ3ι ου3ι όυ4ι όυ4ι ὀυ4ι ὁυ4ι ο3υί ο3υί ο3υῖ 4β. 4γ. 4δ. 4ζ. 4θ. 4κ. 4λ. 4μ. 4ν. 4ξ. 4π. 4ρ. 4σ. 4ϲ. 4ς. 4τ. 4φ. 4χ. 4ψ. 4’ 4ʼ 4᾿ 4β’ 4βʼ 4β᾿ 4γ’ 4γʼ 4γ᾿ 4δ’ 4δʼ 4δ᾿ 4ζ’ 4ζʼ 4ζ᾿ 4θ’ 4θʼ 4θ᾿ 4κ’ 4κʼ 4κ᾿ 4λ’ 4λʼ 4λ᾿ 4μ’ 4μʼ 4μ᾿ 4ν’ 4νʼ 4ν᾿ 4ξ’ 4ξʼ 4ξ᾿ 4π’ 4πʼ 4π᾿ 4ρ’ 4ρʼ 4ρ᾿ 4σ’ 4σʼ 4σ᾿ 4ϲ’ 4ϲʼ 4ϲ᾿ 4τ’ 4τʼ 4τ᾿ 4φ’ 4φʼ 4φ᾿ 4χ’ 4χʼ 4χ᾿ 4ψ’ 4ψʼ 4ψ᾿ .β4 .γ4 .δ4 .ζ4 .θ4 .κ4 .λ4 .μ4 .ν4 .ξ4 .π4 .ρ4 .σ4 .ϲ4 .τ4 .φ4 .χ4 .ψ4 2β1β 2γ1γ 2δ1δ 2ζ1ζ 2θ1θ 2κ1κ 2λ1λ 2μ1μ 2ν1ν 2π1π 2ρ1ρ 2ῤ1ῥ 2σ1σ 2ϲ1ϲ 2τ1τ 2φ1φ 2χ1χ 2ψ1ψ 2β1γ 2β1ζ 2β1θ 2β1κ 2β1ξ 2β1π 2β1σ 2β1ϲ 2β1τ 2β1φ 2β1χ 2β1ψ 2γ1β 2γ1ζ 2γ1θ 2γ1κ 2γ1ξ 2γ1π 2γ1σ 2γ1ϲ 2γ1τ 2γ1φ 2γ1χ 2γ1ψ 2δ1β 2δ1γ 2δ1ζ 2δ1θ 2δ1κ 2δ1λ 2δ1ξ 2δ1π 2δ1σ 2δ1ϲ 2δ1τ 2δ1φ 2δ1χ 2δ1ψ 2ζ1β 2ζ1γ 2ζ1δ 2ζ1θ 2ζ1κ 2ζ1λ 2ζ1μ 2ζ1ν 2ζ1ξ 2ζ1π 2ζ1ρ 2ζ1σ 2ζ1ϲ 2ζ1τ 2ζ1φ 2ζ1χ 2ζ1ψ 2θ1β 2θ1γ 2θ1δ 2θ1ζ 2θ1κ 2θ1ξ 2θ1π 2θ1σ 2θ1ϲ 2θ1τ 2θ1φ 2θ1χ 2θ1ψ 2κ1β 2κ1γ 2κ1δ 2κ1ζ 2κ1θ 2κ1ξ 2κ1π 2κ1σ 2κ1ϲ 2κ1φ 2κ1χ 2κ1ψ 2λ1β 2λ1γ 2λ1δ 2λ1ζ 2λ1θ 2λ1κ 2λ1μ 2λ1ν 2λ1ξ 2λ1π 2λ1ρ 2λ1σ 2λ1ϲ 2λ1τ 2λ1φ 2λ1χ 2λ1ψ 2μ1β 2μ1γ 2μ1δ 2μ1ζ 2μ1θ 2μ1κ 2μ1λ 2μ1ξ 2μ1π 2μ1ρ 2μ1σ 2μ1ϲ 2μ1τ 2μ1φ 2μ1χ 2μ1ψ 2ν1β 2ν1γ 2ν1δ 2ν1ζ 2ν1θ 2ν1κ 2ν1λ 2ν1μ 2ν1ξ 2ν1π 2ν1ρ 2ν1σ 2ν1ϲ 2νς. 2νϲ. 2ν1τ 2ν1φ 2ν1χ 2ν1ψ 2ξ1β 2ξ1γ 2ξ1δ 2ξ1ζ 2ξ1θ 2ξ1κ 2ξ1λ 2ξ1μ 2ξ1ν 2ξ1π 2ξ1ρ 2ξ1σ 2ξ1ϲ 2ξ1τ 2ξ1φ 2ξ1χ 2ξ1ψ 2π1β 2π1γ 2π1δ 2π1ζ 2π1θ 2π1κ 2π1ξ 2π1σ 2π1ϲ 2π1φ 2π1χ 2π1ψ 2ρ1β 2ρ1γ 2ρ1δ 2ρ1ζ 2ρ1θ 2ρ1κ 2ρ1λ 2ρ1μ 2ρ1ν 2ρ1ξ 2ρ1π 2ρ1σ 2ρ1ϲ 2ρ1τ 2ρ1φ 2ρ1χ 2ρ1ψ 2σ1δ 2ϲ1δ 2σ1ζ 2ϲ1ζ 2σ1λ 2ϲ1λ 2σ1ν 2ϲ1ν 2σ1ξ 2ϲ1ξ 2σ1ρ 2ϲ1ρ 2σ1ψ 2ϲ1ψ 2τ1β 2τ1γ 2τ1δ 2τ1ζ 2τ1θ 2τ1κ 2τ1ξ 2τ1π 2τ1σ 2τ1ϲ 2τ1φ 2τ1χ 2τ1ψ 2φ1β 2φ1γ 2φ1δ 2φ1ζ 2φ1κ 2φ1ξ 2φ1π 2φ1σ 2φ1ϲ 2φ1τ 2φ1χ 2φ1ψ 2χ1β 2χ1γ 2χ1δ 2χ1ζ 2χ1κ 2χ1ξ 2χ1π 2χ1σ 2χ1ϲ 2χ1τ 2χ1φ 2χ1ψ 2ψ1β 2ψ1γ 2ψ1δ 2ψ1ζ 2ψ1θ 2ψ1κ 2ψ1λ 2ψ1μ 2ψ1ν 2ψ1ξ 2ψ1π 2ψ1ρ 2ψ1σ 2ψ1ϲ 2ψ1τ 2ψ1φ 2ψ1χ 4βδ’ 4βδʼ 4βδ᾽ 4βδ᾿ 4βλ’ 4βλʼ 4βλ᾽ 4βλ᾿ 4βμ’ 4βμʼ 4βμ᾽ 4βμ᾿ 4βν’ 4βνʼ 4βν᾽ 4βν᾿ 4βρ’ 4βρʼ 4βρ᾽ 4βρ᾿ 4γδ’ 4γδʼ 4γδ᾽ 4γδ᾿ 4γλ’ 4γλʼ 4γλ᾽ 4γλ᾿ 4γμ’ 4γμʼ 4γμ᾽ 4γμ᾿ 4γν’ 4γνʼ 4γν᾽ 4γν᾿ 4γρ’ 4γρʼ 4γρ᾽ 4γρ᾿ 4δμ’ 4δμʼ 4δμ᾽ 4δμ᾿ 4δν’ 4δνʼ 4δν᾽ 4δν᾿ 4δρ’ 4δρʼ 4δρ᾽ 4δρ᾿ 4ζβ’ 4ζβʼ 4ζβ᾽ 4ζβ᾿ 4θλ’ 4θλʼ 4θλ᾽ 4θλ᾿ 4λμ’ 4λμʼ 4λμ᾽ 4λμ᾿ 4θν’ 4θνʼ 4θν᾽ 4θν᾿ 4θρ’ 4θρʼ 4θρ᾽ 4θρ᾿ 4κλ’ 4κλʼ 4κλ᾽ 4κλ᾿ 4κμ’ 4κμʼ 4κμ᾽ 4κμ᾿ 4κν’ 4κνʼ 4κν᾽ 4κν᾿ 4κρ’ 4κρʼ 4κρ᾽ 4κρ᾿ 4κτ’ 4κτʼ 4κτ᾽ 4κτ᾿ 4μν’ 4μνʼ 4μν᾽ 4μν᾿ 4πλ’ 4πλʼ 4πλ᾽ 4πλ᾿ 4πμ’ 4πμʼ 4πμ᾽ 4πμ᾿ 4πν’ 4πνʼ 4πν᾽ 4πν᾿ 4πρ’ 4πρʼ 4πρ᾽ 4πρ᾿ 4πτ’ 4πτʼ 4πτ᾽ 4πτ᾿ 4σβ’ 4σβʼ 4σβ᾽ 4σβ᾿ 4ϲβ’ 4ϲβʼ 4ϲβ᾽ 4ϲβ᾿ 4σγ’ 4σγʼ 4σγ᾽ 4σγ᾿ 4ϲγ’ 4ϲγʼ 4ϲγ᾽ 4ϲγ᾿ 4σδ’ 4σδʼ 4σδ᾽ 4σδ᾿ 4ϲδ’ 4ϲδʼ 4ϲδ᾽ 4ϲδ᾿ 4σθ’ 4σθʼ 4σθ᾽ 4σθ᾿ 4ϲθ’ 4ϲθʼ 4ϲθ᾽ 4ϲθ᾿ 4σκ’ 4σκʼ 4σκ᾽ 4σκ᾿ 4ϲκ’ 4ϲκʼ 4ϲκ᾽ 4ϲκ᾿ 4σμ’ 4σμʼ 4σμ᾽ 4σμ᾿ 4ϲμ’ 4ϲμʼ 4ϲμ᾽ 4ϲμ᾿ 4σπ’ 4σπʼ 4σπ᾽ 4σπ᾿ 4ϲπ’ 4ϲπʼ 4ϲπ᾽ 4ϲπ᾿ 4στ’ 4στʼ 4στ᾽ 4στ᾿ 4ϲτ’ 4ϲτʼ 4ϲτ᾽ 4ϲτ᾿ 4σφ’ 4σφʼ 4σφ᾽ 4σφ᾿ 4ϲφ’ 4ϲφʼ 4ϲφ᾽ 4ϲφ᾿ 4σχ’ 4σχʼ 4σχ᾽ 4σχ᾿ 4ϲχ’ 4ϲχʼ 4ϲχ᾽ 4ϲχ᾿ 4φθ’ 4φθʼ 4φθ᾽ 4φθ᾿ 4φλ’ 4φλʼ 4φλ᾽ 4φλ᾿ 4φμ’ 4φμʼ 4φμ᾽ 4φμ᾿ 4φν’ 4φνʼ 4φν᾽ 4φν᾿ 4φρ’ 4φρʼ 4φρ᾽ 4φρ᾿ 4χθ’ 4χθʼ 4χθ᾽ 4χθ᾿ 4χλ’ 4χλʼ 4χλ᾽ 4χλ᾿ 4χμ’ 4χμʼ 4χμ᾽ 4χμ᾿ 4χν’ 4χνʼ 4χν᾽ 4χν᾿ 4χρ’ 4χρʼ 4χρ᾽ 4χρ᾿ ἀγω2ν1άρ ἀγω2ν1άρ ἀγω2ν1αρ ἀδιέ2ξ1 ἀδιέ2ξ1 ἀδιε2ξ1 ἀδυ2σ1ώ ἀδυ2σ1ώ ἀδυ2ϲ1ώ ἀδυ2ϲ1ώ ἀδυ2σ1ω ἀδυ2ϲ1ω ἁλό2σ1 ἁλό2σ1 ἁλό2ϲ1 ἁλό2ϲ1 ἁλο2σ1 ἁλο2ϲ1 ἀμπαλί2ν1 ἀμπαλί2ν1 ἀμπαλι2ν1 ἀμφί2σ1β ἀμφί2σ1β ἀμφί2ϲ1β ἀμφί2ϲ1β ἀμφι2σ1β ἀμφι2ϲ1β ἀμφί2σ1ω ἀμφί2σ1ω ἀμφί2ϲ1ω ἀμφί2ϲ1ω ἀμφι2σ1ώ ἀμφι2σ1ώ ἀμφι2ϲ1ώ ἀμφι2ϲ1ώ ἀ2ν1αγής. ἀ2ν1αγής. ἀ2ν1αγήϲ. ἀ2ν1αγήϲ. ἀ2ν1αγὴς. ἀ2ν1αγὴϲ. ἀ2ν1αγήσ. ἀ2ν1αγήσ. ἀ2ν1αγὴσ. ἀ2ν1αγο ἀ2ν1αγεῖ. ἀ2ν1αγῆ. ἀ2ν1αγές. ἀ2ν1αγές. ἀ2ν1αγέϲ. ἀ2ν1αγέϲ. ἀ2ν1αγὲς. ἀ2ν1αγὲϲ. ἀ2ν1αγέσ. ἀ2ν1αγέσ. ἀ2ν1αγὲσ. ἀ2ν1αγεῖς. ἀ2ν1αγεῖϲ. ἀ2ν1αγεῖσ. ἀ2ν1αγῶν. ἀ2ν1αγέσι ἀ2ν1αγέσι ἀ2ν1αγέϲι ἀ2ν1αγέϲι ἀ2ν1αγῆ ἀ2ν1άγκυ ἀ2ν1άγκυ ἀ2ν1αγκύ ἀ2ν1αγκύ ἄ2ν1αγν ἀ2ν1άγν ἀ2ν1άγν ἀ2ν1αγν ἀ3ν2αγνά ἀ3ν2αγνά ἀ3ν2αγνω ἀ3ν2άγνω ἀ3ν2άγνω ἀ3ν2αγνώ ἀ3ν2αγνώ ἀ2ν1αγρί ἀ2ν1αγρί ἀ2ν1αγρῖ ἀ2ν1αγρι ἀ2ν1άγωγ ἀ2ν1άγωγ ἀ2ν1αγώγ ἀ2ν1αγώγ ἀ3ν2αγώγι ἀ3ν2αγώγι ἀ3ν2αγωγί ἀ3ν2αγωγί ἀ4ν3αγωγία ἀ4ν3αγωγία ἀ2ν1άδελ ἀ2ν1άδελ ἀ2ν1αδέλ ἀ2ν1αδέλ ἀ2ν1άελπ ἀ2ν1άελπ ἀ2ν1αέλπ ἀ2ν1αέλπ ἄ2ν1αθλ ἀ2ν1άθλ ἀ2ν1άθλ ἀ2ν1αίδ ἀ2ν1αίδ ἀ2ν1αιδ ἄ2ν1αιμ ἀ2ν1αίμ ἀ2ν1αίμ ἀ2ν1αιμ ἀ2ν1αίσθ ἀ2ν1αίσθ ἀ2ν1αίϲθ ἀ2ν1αίϲθ ἀ2ν1αισθ ἀ2ν1αιϲθ ἀ2ν1αισι ἀ2ν1αιϲι ἀ2ν1αισί ἀ2ν1αισί ἀ2ν1αιϲί ἀ2ν1αιϲί ἀ2ν1αίσχ ἀ2ν1αίσχ ἀ2ν1αίϲχ ἀ2ν1αίϲχ ἀ2ν1αισχ ἀ2ν1αιϲχ ἀ2ν1αίτ ἀ2ν1αίτ ἀ2ν1αιτ ἀ2ν1άκαν ἀ2ν1άκαν ἀ2ν1ακάν ἀ2ν1ακάν ἀ2ν1ακόλο ἀ2ν1ακόλο ἀ2ν1ακολο ἀ2ν1αλγ ἀ2ν1αλδ ἀ3ν2αλδα ἀ3ν2αλδήσκ ἀ3ν2αλδήσκ ἀ3ν2αλδήϲκ ἀ3ν2αλδήϲκ ἀ2ν1άλειπ ἀ2ν1άλειπ ἀ2ν1αλείπ ἀ2ν1αλείπ ἀ2ν1αλειφ ἀ2ν1άλειφ ἀ2ν1άλειφ ἀ2ν1αλείφ ἀ2ν1αλείφ ἀ2ν1αλήθ ἀ2ν1αλήθ ἀ2ν1αληθ ἀ2ν1άλθ ἀ2ν1άλθ ἀ2ν1αλθ ἀ2ν1άλιπ ἀ2ν1άλιπ ἀ2ν1αλίπ ἀ2ν1αλίπ ἀ2ν1άλιστ ἀ2ν1άλιστ ἀ2ν1άλιϲτ ἀ2ν1άλιϲτ ἀ2ν1αλίστ ἀ2ν1αλίστ ἀ2ν1αλίϲτ ἀ2ν1αλίϲτ ἀ2ν1αλκ ἄ2ν1αλκ ἀ2ν1άλκ ἀ2ν1άλκ ἀ2ν1άλλ ἀ2ν1άλλ ἀ2ν1αλλ ἀ3ν2άλλο ἀ3ν2άλλο ἀ3ν2άλλε ἀ3ν2άλλε ἄ2ν1αλμ ἀ2ν1άλμ ἀ2ν1άλμ ἀ2ν1αλμ ἄ2ν1αλο ἀ2ν1άλου ἀ2ν1άλου ἀ2ν1άλῳ. ἀ2ν1άλῳ. ἄ2ν1αλε. ἀ2ν1άλοι ἀ2ν1άλοι ἀ2ν1άλων. ἀ2ν1άλων. ἄ2ν1αλτ ἀ2ν1άλτ ἀ2ν1άλτ ἀ2ν1αμάξ ἀ2ν1αμάξ ἀ2ν1αμαξ ἀ2ν1αμάρτ ἀ2ν1αμάρτ ἀ2ν1αμαρτ ἀ2ν1αμέλγ ἀ2ν1αμέλγ ἀ2ν1αμελγ ἀ2ν1αμπ ἀ2ν1άμπ ἀ2ν1άμπ ἀ2ν1αμφ ἀναμφι2σ1 ἀναμφι2ϲ1 ἀ2ν1ανάγκ ἀ2ν1ανάγκ ἀ2ν1αναγκ ἄ2ν1ανδ ἀ2ν1άνδ ἀ2ν1άνδ ἀ2ν1ανθ ἀ3ν2ανθέ ἀ3ν2ανθέ ἀ4ν3ανθές. ἀ4ν3ανθές. ἀ4ν3ανθέϲ. ἀ4ν3ανθέϲ. ἀ4ν3ανθὲς. ἀ4ν3ανθὲϲ. ἀ4ν3ανθέσ. ἀ4ν3ανθέσ. ἀ4ν3ανθὲσ. ἀ4ν3ανθέσι ἀ4ν3ανθέσι ἀ4ν3ανθέϲι ἀ4ν3ανθέϲι ἀ2ν1άνιο ἀ2ν1άνιο ἀ2ν1ανίο ἀ2ν1ανίο ἀ2ν1ανίω ἀ2ν1ανίω ἀ2ν1ανταγ ἀ2ν1ανταπ ἀ2ν1αντί ἀ2ν1αντί ἀ2ν1αντι ἀνα2ξ1αγ ἀνά2ξ1αν ἀνά2ξ1αν ἀνα2ξ1άν ἀνα2ξ1άν ἀνα2ξ1αν ἀνά2ξ1αρ ἀνά2ξ1αρ ἀνα2ξ1άρ ἀνα2ξ1άρ ἀνά2ξ1ιπ ἀνά2ξ1ιπ ἀνα2ξ1ίπ ἀνα2ξ1ίπ ἀ2ν1αξιόλ ἀ2ν1αξιόλ ἀ2ν1αξιολ ἀ2ν1αξιόπ ἀ2ν1αξιόπ ἀ2ν1αξιοπ ἀ2ν1άξιο ἀ2ν1άξιο ἀ2ν1αξίο ἀ2ν1αξίο ἀ2ν1αξίω ἀ2ν1αξίω ἀ2ν1αξία ἀ2ν1αξία ἀ2ν1αξῖα ἀ2ν1απάλλα ἀ2ν1απάλλα ἀ2ν1απαλλά ἀ2ν1απαλλά ἀ2ν1απάρτ ἀ2ν1απάρτ ἀ2ν1απαρτ ἀ2ν1απαύδ ἀ2ν1απαύδ ἀ2ν1απαυδ ἀ2ν1απόβ ἀ2ν1απόβ ἀ2ν1αποβ ἀ2ν1απόγ ἀ2ν1απόγ ἀ2ν1απογ ἀ2ν1αποδή ἀ2ν1αποδή ἀ2ν1αποδη ἀ2ν1απόδο ἀ2ν1απόδο ἀ2ν1αποδό ἀ2ν1αποδό ἀ2ν1απόδρ ἀ2ν1απόδρ ἀ2ν1αποδρ ἀ2ν1απόλαυ ἀ2ν1απόλαυ ἀ2ν1απολαύ ἀ2ν1απολαύ ἀ2ν1απολό ἀ2ν1απολό ἀ2ν1απολο ἀ2ν1απόλυ ἀ2ν1απόλυ ἀ2ν1απολύ ἀ2ν1απολύ ἀ2ν1απόν ἀ2ν1απόν ἀ2ν1απον ἀ2ν1απόπ ἀ2ν1απόπ ἀ2ν1αποπ ἀ2ν1απόσ ἀ2ν1απόσ ἀ2ν1απόϲ ἀ2ν1απόϲ ἀ2ν1αποσ ἀ2ν1αποϲ ἀ2ν1απότε ἀ2ν1απότε ἀ2ν1αποτε ἀ2ν1απότμ ἀ2ν1απότμ ἀ2ν1αποτμ ἀ2ν1απότρ ἀ2ν1απότρ ἀ2ν1αποτρ ἀ2ν1αρά ἀ2ν1αρά ἀ2ν1αρα ἀ2ν1άρ ἀ2ν1άρ ἀ2ν1αρ ἄ2ν1αρ ἀ3ν2αρίτ ἀ3ν2αρίτ ἀ3ν2αρῖτ ἀ3ν2αριτ ἀ3ν2αρπ ἀ3ν2άρρ ἀ3ν2άρρ ἀ3ν2αρρ ἀ4ν3αρραγ ἀ3ν2αρτ ἀ3ν2αρύτ ἀ3ν2αρύτ ἀ2ν1άσκη ἀ2ν1άσκη ἀ2ν1άϲκη ἀ2ν1άϲκη ἀ2ν1ασκή ἀ2ν1ασκή ἀ2ν1αϲκή ἀ2ν1αϲκή ἄ2ν1ασπι ἄ2ν1αϲπι ἀ2ν1ασπί ἀ2ν1ασπί ἀ2ν1αϲπί ἀ2ν1αϲπί ἀ2ν1άσσατ ἀ2ν1άσσατ ἀ2ν1άϲϲατ ἀ2ν1άϲϲατ ἀ2ν1ασσάτ ἀ2ν1ασσάτ ἀ2ν1αϲϲάτ ἀ2ν1αϲϲάτ ἀ2ν1άστει ἀ2ν1άστει ἀ2ν1άϲτει ἀ2ν1άϲτει ἀ2ν1αστεί ἀ2ν1αστεί ἀ2ν1αϲτεί ἀ2ν1αϲτεί ἀ3ν2αστείβ ἀ3ν2αστείβ ἀ3ν2αϲτείβ ἀ3ν2αϲτείβ ἀ3ν2άστειρ ἀ3ν2άστειρ ἀ3ν2άϲτειρ ἀ3ν2άϲτειρ ἀ3ν2αστείρ ἀ3ν2αστείρ ἀ3ν2αϲτείρ ἀ3ν2αϲτείρ ἀ3ν2άστειχ ἀ3ν2άστειχ ἀ3ν2άϲτειχ ἀ3ν2άϲτειχ ἀ3ν2αστείχ ἀ3ν2αστείχ ἀ3ν2αϲτείχ ἀ3ν2αϲτείχ ἀ2ν1ατεὶ. ἀ2ν1ατεί. ἀ2ν1ατεί. ἀ2ν1ατὶ. ἀ2ν1ατί. ἀ2ν1ατί. ἄ2ν1ατος. ἄ2ν1ατοϲ. ἄ2ν1ατοσ. ἀ2ν1άτου. ἀ2ν1άτου. ἀ2ν1άτω ἀ2ν1άτω ἄ2ν1ατον. ἄ2ν1ατε ἄ2ν1ατοι. ἀ2ν1άτοις. ἀ2ν1άτοις. ἀ2ν1άτοιϲ. ἀ2ν1άτοιϲ. ἀ2ν1άτοισ. ἀ2ν1άτοισ. ἀ2ν1άττ ἀ2ν1άττ ἀ2ν1αττ ἀ2ν1αύγ ἀ2ν1αύγ ἀ2ν1αυγ ἀ2ν1αύδ ἀ2ν1αύδ ἀ2ν1αυδ ἀ3ν2αυδί ἀ3ν2αυδί ἀ3ν2αυδι ἄ2ν1αυδ ἄ2ν1αυλ ἀ2ν1αύλ ἀ2ν1αύλ ἀ2ν1αύξ ἀ2ν1αύξ ἀ2ν1αυξ ἀ2ν1αύχ ἀ2ν1αύχ ἀ2ν1αυχ ἀ2ν1αφαίρ ἀ2ν1αφαίρ ἀ2ν1αφαιρ ἀ2ν1αφή ἀ2ν1αφή ἀ2ν1αφὴ ἀ2ν1αφοῦ ἀ2ν1αφῆ ἀ2ν1αφεῖ ἀ2ν1αφοῖ ἀ2ν1εφῶν. ἀ2ν1αφέ ἀ2ν1αφέ ἀ2ν1αφὲ ἀ3ν2αφῆν ἀ2ν1αφρόδ ἀ2ν1αφρόδ ἀ2ν1αφροδ ἄ2ν1αφρ ἀ2ν1άφρ ἀ2ν1άφρ ἀ2ν1αχύρ ἀ2ν1αχύρ ἀ2ν1αχυρ ἀνδρό2σ1α ἀνδρό2σ1α ἀνδρό2ϲ1α ἀνδρό2ϲ1α ἀνδρο2σ1α ἀνδρο2ϲ1α ἀ2ν1έγγ ἀ2ν1έγγ ἀ2ν1εγγ ἀ2ν1έγερτ ἀ2ν1έγερτ ἀ2ν1εγέρτ ἀ2ν1εγέρτ ἀ2ν1εγκ ἀ2ν1έγκ ἀ2ν1έγκ ἀ2ν1εγχ ἀ2ν1εδά ἀ2ν1εδά ἀ2ν1εδα ἀ2ν1έδεσ ἀ2ν1έδεσ ἀ2ν1έδεϲ ἀ2ν1έδεϲ ἀ2ν1εδέσ ἀ2ν1εδέσ ἀ2ν1εδέϲ ἀ2ν1εδέϲ ἀ2ν1έδρασ ἀ2ν1έδρασ ἀ2ν1έδραϲ ἀ2ν1έδραϲ ἀ2ν1εδράσ ἀ2ν1εδράσ ἀ2ν1εδράϲ ἀ2ν1εδράϲ ἀ2ν1εέρ ἀ2ν1εέρ ἀ2ν1εερ ἀ2ν1εθέλ ἀ2ν1εθέλ ἀ2ν1εθελ ἀ2ν1έθι ἀ2ν1έθι ἀ2ν1εθί ἀ2ν1εθί ἀ2ν1είδε ἀ2ν1είδε ἀ2ν1ειδέ ἀ2ν1ειδέ ἀ2ν1είδω ἀ2ν1είδω ἀ2ν1ειδώ ἀ2ν1ειδώ ἀ2ν1είκα ἀ2ν1είκα ἀ2ν1εικά ἀ2ν1εικά ἀ2ν1εικό ἀ2ν1εικό ἀ2ν1εικο ἀ2ν1ειλεί ἀ2ν1ειλεί ἀ2ν1ειλει ἀ2ν1είμα ἀ2ν1είμα ἀ2ν1εί2σ1ακ ἀ2ν1εί2σ1ακ ἀ2ν1εί2ϲ1ακ ἀ2ν1εί2ϲ1ακ ἀ2ν1ει2σ1άκ ἀ2ν1ει2σ1άκ ἀ2ν1ει2ϲ1άκ ἀ2ν1ει2ϲ1άκ ἀ2ν1εί2σ1ο ἀ2ν1εί2σ1ο ἀ2ν1εί2ϲ1ο ἀ2ν1εί2ϲ1ο ἀ2ν1ει2σ1ό ἀ2ν1ει2σ1ό ἀ2ν1ει2ϲ1ό ἀ2ν1ει2ϲ1ό ἀ2ν1ει2σ1φορ ἀ2ν1ει2ϲ1φορ ἀ2ν1εί2σ1φορ ἀ2ν1εί2σ1φορ ἀ2ν1εί2ϲ1φορ ἀ2ν1εί2ϲ1φορ ἀ2ν1ει2σ1φόρ ἀ2ν1ει2σ1φόρ ἀ2ν1ει2ϲ1φόρ ἀ2ν1ει2ϲ1φόρ ἀ2ν1έκ ἀ2ν1έκ ἀ2ν1εκ ἀ3ν2έκα ἀ3ν2έκα ἀ3ν2εκάς. ἀ3ν2εκάς. ἀ3ν2εκάϲ. ἀ3ν2εκάϲ. ἀ3ν2εκὰς. ἀ3ν2εκὰϲ. ἀ3ν2εκάσ. ἀ3ν2εκάσ. ἀ3ν2εκὰσ. ἀ3ν2εκτ ἀ4ν3έ2κ1τιτ ἀ4ν3έ2κ1τιτ ἀ4ν3ε2κ1τίτ ἀ4ν3ε2κ1τίτ ἀνε2κ1λιπ ἀνε2κ1λό ἀνε2κ1λό ἀνε2κ1λο ἀ2ν1έλαι ἀ2ν1έλαι ἀ2ν1ελαι ἀ2ν1ελάτ ἀ2ν1ελάτ ἀ2ν1ελατ ἀ2ν1έλεγκ ἀ2ν1έλεγκ ἀ2ν1ελέγκ ἀ2ν1ελέγκ ἀ2ν1ελεγξ ἀ2ν1ελέη ἀ2ν1ελέη ἀ2ν1ελεή ἀ2ν1ελεή ἀ2ν1έλεο ἀ2ν1έλεο ἀ2ν1ελέο ἀ2ν1ελέο ἀ2ν1ελέω ἀ2ν1ελέω ἀ2ν1έλεε ἀ2ν1έλεε ἀ2ν1ελκή ἀ2ν1ελκή ἀ2ν1ελκὴ ἀ2ν1ελκο ἀ2ν1ελκῆ ἀ2ν1ελκές. ἀ2ν1ελκές. ἀ2ν1ελκέϲ. ἀ2ν1ελκέϲ. ἀ2ν1ελκὲς. ἀ2ν1ελκὲϲ. ἀ2ν1ελκέσ. ἀ2ν1ελκέσ. ἀ2ν1ελκὲσ. ἀ2ν1ελκε ἀ2ν1ελκῶ ἀ2ν1ελκέσ ἀ2ν1ελκέσ ἀ2ν1ελκέϲ ἀ2ν1ελκέϲ ἄ2ν1ελκτ ἀ2ν1έλκτ ἀ2ν1έλκτ ἀ2ν1έλκω ἀ2ν1έλκω ἀ2ν1ελκώ ἀ2ν1ελκώ ἀ2ν1έλλ ἀ2ν1έλλ ἀ2ν1έλπι ἀ2ν1έλπι ἀ2ν1ελπί ἀ2ν1ελπί ἀ2ν1έλυτρ ἀ2ν1έλυτρ ἀ2ν1ελύτρ ἀ2ν1ελύτρ ἀ2ν1έμβ ἀ2ν1έμβ ἀ2ν1εμβ ἀ2ν1έμετ ἀ2ν1έμετ ἀ2ν1εμέτ ἀ2ν1εμέτ ἀ2ν1έμπ ἀ2ν1έμπ ἀ2ν1εμπ ἀ2ν1έμφ ἀ2ν1έμφ ἀ2ν1εμφ ἀ2ν1έν ἀ2ν1έν ἀ2ν1εν ἀ3ν2ένει ἀ3ν2ένει ἀ3ν2ενή ἀ3ν2ενή ἀ3ν2έντες. ἀ3ν2έντες. ἀ3ν2έντεϲ. ἀ3ν2έντεϲ. ἀ3ν2έντεσ. ἀ3ν2έντεσ. ἀ2ν1ε2ξ1 ἀ3ν2ε3ξ2ίκα ἀ3ν2ε3ξ2ίκα ἀ3ν2ε3ξ2ικά ἀ3ν2ε3ξ2ικά ἀ2ν1έορ ἀ2ν1έορ ἀ2ν1εόρ ἀ2ν1εόρ ἀ2ν1επ ἀ3ν2επν ἀ3ν2επτ ἀ2ν1εραστ ἀ2ν1εραϲτ ἀ2ν1έραστ ἀ2ν1έραστ ἀ2ν1έραϲτ ἀ2ν1έραϲτ ἀ2ν1εράστ ἀ2ν1εράστ ἀ2ν1εράϲτ ἀ2ν1εράϲτ ἀ2ν1εργ ἄ2ν1εργ ἀ2ν1έργ ἀ2ν1έργ ἀ2ν1έρεικ ἀ2ν1έρεικ ἀ2ν1ερείκ ἀ2ν1ερείκ ἀ2ν1έρεισ ἀ2ν1έρεισ ἀ2ν1έρειϲ ἀ2ν1έρειϲ ἀ2ν1ερείσ ἀ2ν1ερείσ ἀ2ν1ερείϲ ἀ2ν1ερείϲ ἀ2ν1ερεύνητ ἀ2ν1ερεύνητ ἀ2ν1ερευνήτ ἀ2ν1ερευνήτ ἀ2ν1ερί ἀ2ν1ερί ἀ2ν1ερι ἀ2ν1ερυθρίαστ ἀ2ν1ερυθρίαστ ἀ2ν1ερυθρίαϲτ ἀ2ν1ερυθρίαϲτ ἀ2ν1ερυθριάστ ἀ2ν1ερυθριάστ ἀ2ν1ερυθριάϲτ ἀ2ν1ερυθριάϲτ ἀ2ν1έστι ἀ2ν1έστι ἀ2ν1έϲτι ἀ2ν1έϲτι ἀ2ν1εστί ἀ2ν1εστί ἀ2ν1εϲτί ἀ2ν1εϲτί ἀ2ν1έται ἀ2ν1έται ἀ2ν1εταί ἀ2ν1εταί ἀ2ν1έτοι ἀ2ν1έτοι ἀ2ν1ετοί ἀ2ν1ετοί ἀ2ν1ετυ ἀ2ν1έτυ ἀ2ν1έτυ ἀ2ν1ετύ ἀ2ν1ετύ ἀ2ν1εύθ ἀ2ν1εύθ ἀ2ν1ευθ ἄ2ν1ευκ ἀ2ν1εύκ ἀ2ν1εύκ ἀ2ν1ευλ ἀ2ν1εύρετ ἀ2ν1εύρετ ἀ2ν1ευρέτ ἀ2ν1ευρέτ ἀ2ν1ευφήμητ ἀ2ν1ευφήμητ ἀ2ν1ευφημήτ ἀ2ν1ευφημήτ ἀ2ν1εύχ ἀ2ν1εύχ ἀ2ν1ευχ ἀ2ν1εύξ ἀ2ν1εύξ ἀ2ν1ευξ ἀ2ν1ηυξ ἀ2ν1ηῦγ ἀ2ν1ηυγ ἀ2ν1ευκτ ἀ2ν1έφ ἀ2ν1έφ ἀ2ν1εφ ἀ3ν2εφάλ ἀ3ν2εφάλ ἀ3ν2έφελ ἀ3ν2έφελ ἀ3ν2εφέλ ἀ3ν2εφέλ ἀ2ν1εχέ ἀ2ν1εχέ ἀ2ν1εχε ἀ2ν1έψα ἀ2ν1έψα ἀ2ν1εψά ἀ2ν1εψά ἀ2ν1ηγεμ ἀ2ν1ήδ ἀ2ν1ήδ ἀ2ν1ηδ ἀ2ν1ήκεσ ἀ2ν1ήκεσ ἀ2ν1ήκεϲ ἀ2ν1ήκεϲ ἀ2ν1ηκέσ ἀ2ν1ηκέσ ἀ2ν1ηκέϲ ἀ2ν1ηκέϲ ἀ2ν1ήκο ἀ2ν1ήκο ἀ2ν1ηκό ἀ2ν1ηκό ἀ2ν1ηκο ἀ2ν1ηλάκ ἀ2ν1ηλάκ ἀ2ν1ηλακ ἀ2ν1ήλατος. ἀ2ν1ήλατος. ἀ2ν1ήλατοϲ. ἀ2ν1ήλατοϲ. ἀ2ν1ήλατοσ. ἀ2ν1ήλατοσ. ἀ2ν1ηλάτου ἀ2ν1ηλάτου ἀ2ν1ηλάτω ἀ2ν1ηλάτω ἀ2ν1ήλατον. ἀ2ν1ήλατον. ἀ2ν1ήλατε. ἀ2ν1ήλατε. ἀ2ν1ηλάτοι ἀ2ν1ηλάτοι ἀ2ν1ήλατοι ἀ2ν1ήλατοι ἀ2ν1ήλατα ἀ2ν1ήλατα ἀ2ν1ηλεγ ἀ2ν1ηλεή ἀ2ν1ηλεή ἀ2ν1ηλεὴ ἀ2ν1ηλεο ἀ2ν1ηλεε ἀ2ν1ηλεῶ ἀ2ν1ηλεέ ἀ2ν1ηλεέ ἀ2ν1ηλεὲ ἀ2ν1ηλεῆ ἀ2ν1ηλέη ἀ2ν1ηλέη ἀ2ν1ήλειπ ἀ2ν1ήλειπ ἀ2ν1ηλείπ ἀ2ν1ηλείπ ἀ2ν1ηλή ἀ2ν1ηλή ἀ2ν1ηλὴ ἀ2ν1ηλοῦ ἀ2ν1ηλεῖ ἀ2ν1ηλῆ ἀ2ν1ηλέ ἀ2ν1ηλέ ἀ2ν1ηλὲ ἀ2ν1ηλοῖ ἀ2ν1ηλῶ ἀ2ν1ήλικ ἀ2ν1ήλικ ἀ2ν1ηλίκ ἀ2ν1ηλίκ ἀ2ν1ήλιο ἀ2ν1ήλιο ἀ2ν1ηλίο ἀ2ν1ηλίο ἀ2ν1ηλίω ἀ2ν1ηλίω ἀ2ν1ήλια ἀ2ν1ήλια ἀ2ν1ήλιπ ἀ2ν1ήλιπ ἀ2ν1ηλίπ ἀ2ν1ηλίπ ἀ2ν1ηλιφ ἀ2ν1ήμ ἀ2ν1ήμ ἀ2ν1ημ ἀ2ν1ήνυ ἀ2ν1ήνυ ἀ2ν1ηνύ ἀ2ν1ηνύ ἀ2ν1ήρει ἀ2ν1ήρει ἀ2ν1ηρεί ἀ2ν1ηρεί ἀ2ν1ηρέμ ἀ2ν1ηρέμ ἀ2ν1ηρεμ ἀ2ν1ηρεφ ἀ2ν1ήρι ἀ2ν1ήρι ἀ2ν1ηρί ἀ2ν1ηρί ἀ2ν1ήροτ ἀ2ν1ήροτ ἀ2ν1ηρότ ἀ2ν1ηρότ ἀ2ν1ήσσ ἀ2ν1ήσσ ἀ2ν1ήϲϲ ἀ2ν1ήϲϲ ἀ2ν1ησσ ἀ2ν1ηϲϲ ἀ2ν1ήττ ἀ2ν1ήττ ἀ2ν1ηττ ἀ2ν1ήφα ἀ2ν1ήφα ἀ2ν1ηφα ἀ2ν1ίατ ἀ2ν1ίατ ἀ2ν1ιάτ ἀ2ν1ιάτ ἀ2ν1ίδιο ἀ2ν1ίδιο ἀ2ν1ιδίο ἀ2ν1ιδίο ἀ2ν1ιδίω ἀ2ν1ιδίω ἀ2ν1ίδια ἀ2ν1ίδια ἀ2ν1ιδιτ ἄ2ν1ιδρος ἄ2ν1ιδροϲ ἄ2ν1ιδροσ ἀ2ν1ίδρου ἀ2ν1ίδρου ἀ2ν1ίδρω ἀ2ν1ίδρω ἄ2ν1ιδρον ἄ2ν1ιδρε ἀ2ν1ίδροι ἀ2ν1ίδροι ἄ2ν1ιδροι ἀ2ν1ίδρυτ ἀ2ν1ίδρυτ ἀ2ν1ιδρύτ ἀ2ν1ιδρύτ ἀ2ν1ιδρωτ ἀ2ν1ιδρώτ ἀ2ν1ιδρώτ ἀ2ν1ίερ ἀ2ν1ίερ ἀ2ν1ιέρ ἀ2ν1ιέρ ἀ2ν1ιεράτ ἀ2ν1ιεράτ ἀ3ν2ιέρω ἀ3ν2ιέρω ἀ2ν1ίκ ἀ2ν1ίκ ἀ2ν1ικ ἄ2ν1ικ ἀ3ν2ίκη ἀ3ν2ίκη ἀ3ν2ική ἀ3ν2ική ἀ2ν1ίλ ἀ2ν1ίλ ἀ2ν1ιλ ἀ2ν1ίμαστ ἀ2ν1ίμαστ ἀ2ν1ίμαϲτ ἀ2ν1ίμαϲτ ἀ2ν1ιμάστ ἀ2ν1ιμάστ ἀ2ν1ιμάϲτ ἀ2ν1ιμάϲτ ἀ2ν1ίου ἀ2ν1ίου ἀ2ν1ιού ἀ2ν1ιού ἄ2ν1ιππ ἀ2ν1ίππ ἀ2ν1ίππ ἀ2ν1ισ ἀ2ν1ιϲ ἄ2ν1ισ ἄ2ν1ιϲ ἀ2ν1ίσ ἀ2ν1ίσ ἀ2ν1ίϲ ἀ2ν1ίϲ ἀ3ν2ισᾶτ ἀ3ν2ιϲᾶτ ἀ3ν2ισάτ ἀ3ν2ισάτ ἀ3ν2ιϲάτ ἀ3ν2ιϲάτ ἀ3ν2ίστ ἀ3ν2ίστ ἀ3ν2ίϲτ ἀ3ν2ίϲτ ἀ3ν2ιστ ἀ3ν2ιϲτ ἀ4ν3ιστορη ἀ4ν3ιϲτορη ἀ4ν3ιστόρη ἀ4ν3ιστόρη ἀ4ν3ιϲτόρη ἀ4ν3ιϲτόρη ἀ4ν3ιστορή ἀ4ν3ιστορή ἀ4ν3ιϲτορή ἀ4ν3ιϲτορή ἀ3ν2ίσχ ἀ3ν2ίσχ ἀ3ν2ίϲχ ἀ3ν2ίϲχ ἀ4ν3ίσχυ ἀ4ν3ίσχυ ἀ4ν3ίϲχυ ἀ4ν3ίϲχυ ἄ2ν1ιχ ἀ2ν1ίχ ἀ2ν1ίχ ἀ2ν1ιχνεύτ ἀ2ν1ιχνεύτ ἀ2ν1ίψ ἀ2ν1ίψ ἀ2ν1ιψ ἀ2ν1όδε ἀ2ν1όδε ἀ2ν1οδέ ἀ2ν1οδέ ἄ2ν1οζ ἀ2ν1όζ ἀ2ν1όζ ἀ2ν1οικε ἀ2ν1οικον ἄ2ν1οικ ἀ2ν1οίκ ἀ2ν1οίκ ἀ2ν1οικτί ἀ2ν1οικτί ἄ2ν1οικτ ἀ2ν1οίκτ ἀ2ν1οίκτ ἀ2ν1οίμωκ ἀ2ν1οίμωκ ἀ2ν1οιμώκ ἀ2ν1οιμώκ ἀ2ν1οιμωκ ἀ2ν1οιν ἄ2ν1οιν ἀ2ν1οίν ἀ2ν1οίν ἄ2ν1οιστρ ἄ2ν1οιϲτρ ἀ2ν1οίστρ ἀ2ν1οίστρ ἀ2ν1οίϲτρ ἀ2ν1οίϲτρ ἀ2ν1όλ ἀ2ν1όλ ἀ2ν1ολ ἄ2ν1ολ ἀ3ν2ολκ ἀ3ν2ολο ἀ2ν1ομβρί ἀ2ν1ομβρί ἀ2ν1ομβρῖ ἄ2ν1ομβρο ἀ2ν1όμβρο ἀ2ν1όμβρο ἀ2ν1όμβρω ἀ2ν1όμβρω ἄ2ν1ομβρα ἀ2ν1ομήλ ἀ2ν1ομήλ ἀ2ν1ομηλ ἀ2ν1ομίλ ἀ2ν1ομίλ ἀ2ν1ομιλ ἀ2ν1όμιχ ἀ2ν1όμιχ ἀ2ν1ομιχ ἀ2ν1όμο ἀ2ν1όμο ἀ2ν1ομό ἀ2ν1ομό ἀ2ν1ομο ἀ3ν2ομοθ ἀ3ν2όμου. ἀ3ν2όμου. ἀ3ν2όμῳ. ἀ3ν2όμῳ. ἀ3ν2όμω. ἀ3ν2όμω. ἀ2ν2όμοιν. ἀ2ν2όμοιν. ἀ3ν2όμων. ἀ3ν2όμων. ἀ3ν2όμοις. ἀ3ν2όμοις. ἀ3ν2όμοιϲ. ἀ3ν2όμοιϲ. ἀ3ν2όμοισ. ἀ3ν2όμοισ. ἀ3ν2όμους. ἀ3ν2όμους. ἀ3ν2όμουϲ. ἀ3ν2όμουϲ. ἀ3ν2όμουσ. ἀ3ν2όμουσ. ἀ2ν1όν ἀ2ν1όν ἀ2ν1ον ἄ2ν1οπ ἀ2ν1όπ ἀ2ν1όπ ἀ2ν1όρ ἀ2ν1όρ ἀ2ν1ορ ἄ2ν1ορ ἀ3ν2οργάζ ἀ3ν2οργάζ ἄ3ν2ορθ ἀ3ν2όρθ ἀ3ν2όρθ ἀ3ν2ορμά ἀ3ν2ορμά ἀ3ν2ορτ ἀ3ν2ορύ ἀ3ν2ορύ ἀ2ν1όσι ἀ2ν1όσι ἀ2ν1όϲι ἀ2ν1όϲι ἀ2ν1οσί ἀ2ν1οσί ἀ2ν1οϲί ἀ2ν1οϲί ἀ2ν1οσι ἀ2ν1οϲι ἄ2ν1οσμ ἄ2ν1οϲμ ἀ2ν1όσμ ἀ2ν1όσμ ἀ2ν1όϲμ ἀ2ν1όϲμ ἀ2ν1όσφρ ἀ2ν1όσφρ ἀ2ν1όϲφρ ἀ2ν1όϲφρ ἀ2ν1οσφρ ἀ2ν1οϲφρ ἀ2ν1ούα ἀ2ν1ούα ἀ2ν1ουά ἀ2ν1ουά ἀ2ν1ούσι ἀ2ν1ούσι ἀ2ν1ούϲι ἀ2ν1ούϲι ἀ2ν1ουσί ἀ2ν1ουσί ἀ2ν1ουϲί ἀ2ν1ουϲί ἀ2ν1ούτ ἀ2ν1ούτ ἀ2ν1ουτ ἀ2ν1οφθ ἀ2ν1όχευτ ἀ2ν1όχευτ ἀ2ν1οχεύτ ἀ2ν1οχεύτ ἄ2ν1οχλ ἀ2ν1όχλ ἀ2ν1όχλ ἀ2ν1οψ ἄ2ν1οψ ἀ2ν1όψ ἀ2ν1όψ ἀντα2ν1ισ ἀντα2ν1ιϲ ἀντα2ν1ίσ ἀντα2ν1ίσ ἀντα2ν1ίϲ ἀντα2ν1ίϲ ἀντει2σ1 ἀντει2ϲ1 ἀντε2κ1 ἀντε2ν1 ἀντε2ξ1 ἀντιδυ2σ1 ἀντιδυ2ϲ1 ἀντιπαρε2κ1 ἀντιπαρε2ξ1 ἀντιπρο2σ1 ἀντιπρο2ϲ1 ἀντιπροσ3κ2υ ἀντιπροϲ3κ2υ ἀντισύ2ν1 ἀντισύ2ν1 ἀντιϲύ2ν1 ἀντιϲύ2ν1 ἀντισυ2ν1 ἀντιϲυ2ν1 ἀ2ν1ύ ἀ2ν1ύ ἀ2ν1υ ἀ3ν2υμ ἀ3ν2ύσ ἀ3ν2ύσ ἀ3ν2ύϲ ἀ3ν2ύϲ ἀ3ν2υσ ἀ3ν2υϲ ἀ2ν1υπέ2ρ1 ἀ2ν1υπέ2ρ1 ἀ2ν1υπε2ρ1 ἄ2ν1ῳδ ἀ2ν1ῴδ ἀ2ν1ώδυ ἀ2ν1ώδυ ἀ2ν1ωδύ ἀ2ν1ωδύ ἀ2ν1ώι ἀ2ν1ώι ἀ2ν1ωί ἀ2ν1ωί ἀ2ν1ώλ ἀ2ν1ώλ ἀ2ν1ωλ ἀ2ν1ώμ ἀ2ν1ώμ ἀ2ν1ωμ ἀ2ν1ών ἀ2ν1ών ἀ2ν1ων ἀ2ν1ωρ ἄ2ν1ωρ ἀ2ν1ώρ ἀ2ν1ώρ ἄ2ν1ωτο ἀ2ν1ώτο ἀ2ν1ώτο ἀ2ν1ωφέλ ἀ2ν1ωφέλ ἀ2ν1ωφελ ἀ2ν1ώχυ ἀ2ν1ώχυ ἀ2ν1ωχύ ἀ2ν1ωχύ ἀπα2ν1αι ἀπά2ν1ου ἀπά2ν1ου ἀπα2ν1ούρ ἀπα2ν1ούρ ἁπα2ξ1 ἀπε2κ1λ ἁπε2ρ1 ἀποσυ2ν1 ἀποϲυ2ν1 ἀπρό2σ1 ἀπρό2σ1 ἀπρό2ϲ1 ἀπρό2ϲ1 ἀπρο2σ1 ἀπρο2ϲ1 ἀπρό3σ2κε ἀπρό3σ2κε ἀπρό3ϲ2κε ἀπρό3ϲ2κε ἀπρο3σ2κέ ἀπρο3σ2κέ ἀπρο3ϲ2κέ ἀπρο3ϲ2κέ ἀπρό3σ2κο ἀπρό3σ2κο ἀπρό3ϲ2κο ἀπρό3ϲ2κο ἀπρο3σ2κό ἀπρο3σ2κό ἀπρο3ϲ2κό ἀπρο3ϲ2κό ἀπρο3σ2τ ἀπρο3ϲ2τ ἁρπα2ξ1 ἀρρε2ν1ω ἀρχισυ2ν1 ἀρχιϲυ2ν1 ἀστε2ρ1ω ἀϲτε2ρ1ω ἀσύ2ν1 ἀσύ2ν1 ἀϲύ2ν1 ἀϲύ2ν1 ἀσυ2ν1 ἀϲυ2ν1 ἀξύ2ν1 ἀξύ2ν1 ἀξυ2ν1 αὐτέ2κ1μ αὐτέ2κ1μ αὐτε2κ1μ αὐτε2ξ1 ἀω2σ1φ ἀω2ϲ1φ .γερα2σ1φ .γερα2ϲ1φ .δα2σ1π .δα2ϲ1π .διαμφι2σ1β .διαμφι2ϲ1β .διέ2κ1ρο .διέ2κ1ρο .διε2κ1ρό .διε2κ1ρό .διέ2ξ1 .διέ2ξ1 .διε2ξ1 .δικα2σ1π .δικα2ϲ1π .διό2σ1κ .διό2σ1κ .διό2ϲ1κ .διό2ϲ1κ .διο2σ1κ .διο2ϲ1κ .διό2σ1π .διό2σ1π .διό2ϲ1π .διό2ϲ1π .διο2σ1π .διο2ϲ1π .δί2σ1α .δί2σ1α .δί2ϲ1α .δί2ϲ1α .δι2σ1ά .δι2σ1ά .δι2ϲ1ά .δι2ϲ1ά .δί2σ1η .δί2σ1η .δί2ϲ1η .δί2ϲ1η .δι2σ1ή .δι2σ1ή .δι2ϲ1ή .δι2ϲ1ή .δί2σ1ε .δί2σ1ε .δί2ϲ1ε .δί2ϲ1ε .δι2σ1ε .δι2ϲ1ε .δι2σ1θ .δι2ϲ1θ .δύ2σ1 .δύ2σ1 .δύ2ϲ1 .δύ2ϲ1 .δυ2σ1 .δυ2ϲ1 δύ3σ2ω. δύ3σ2ω. δύ3ϲ2ω. δύ3ϲ2ω. δύ3σ2εις. δύ3σ2εις. δύ3ϲ2ειϲ. δύ3ϲ2ειϲ. δύ3σ2εισ. δύ3σ2εισ. δύ3σ2ει. δύ3σ2ει. δύ3ϲ2ει. δύ3ϲ2ει. .δύ3σ2ετ .δύ3σ2ετ .δύ3ϲ2ετ .δύ3ϲ2ετ δύ3σ2ομεν. δύ3σ2ομεν. δύ3ϲ2ομεν. δύ3ϲ2ομεν. δύ3σ2ουσιν. δύ3σ2ουσιν. δύ3ϲ2ουϲιν. δύ3ϲ2ουϲιν. δύ3σ2οιμι. δύ3σ2οιμι. δύ3ϲ2οιμι. δύ3ϲ2οιμι. δύ3σ2οις. δύ3σ2οις. δύ3ϲ2οιϲ. δύ3ϲ2οιϲ. δύ3σ2οισ. δύ3σ2οισ. δύ3σ2οι. δύ3σ2οι. δύ3ϲ2οι. δύ3ϲ2οι. δύ3σ2οιτον. δύ3σ2οιτον. δύ3ϲ2οιτον. δύ3ϲ2οιτον. δυ3σ2οίτην. δυ3σ2οίτην. δυ3ϲ2οίτην. δυ3ϲ2οίτην. δύ3σ2οιμεν. δύ3σ2οιμεν. δύ3ϲ2οιμεν. δύ3ϲ2οιμεν. δύ3σ2οιτε. δύ3σ2οιτε. δύ3ϲ2οιτε. δύ3ϲ2οιτε. δύ3σ2οιεν. δύ3σ2οιεν. δύ3ϲ2οιεν. δύ3ϲ2οιεν. δύ3σ2ειν. δύ3σ2ειν. δύ3ϲ2ειν. δύ3ϲ2ειν. δύ3σ2ων. δύ3σ2ων. δύ3ϲ2ων. δύ3ϲ2ων. δύ3σ2ον δύ3σ2ον δύ3ϲ2ον δύ3ϲ2ον δυ3σ2όν δυ3σ2όν δυ3ϲ2όν δυ3ϲ2όν δύ3σ2ουσ δύ3σ2ουσ δύ3ϲ2ουϲ δύ3ϲ2ουϲ δυ3σ2ούσ δυ3σ2ούσ δυ3ϲ2ούϲ δυ3ϲ2ούϲ δύ3σ2ῃ δύ3σ2ῃ δύ3ϲ2ῃ δύ3ϲ2ῃ δύ3σ2ητον. δύ3σ2ητον. δύ3ϲ2ητον. δύ3ϲ2ητον. δύ3σ2ωμεν. δύ3σ2ωμεν. δύ3ϲ2ωμεν. δύ3ϲ2ωμεν. δύ3σ2ωσι. δύ3σ2ωσι. δύ3ϲ2ωϲι. δύ3ϲ2ωϲι. δύ3σ2αιμι. δύ3σ2αιμι. δύ3ϲ2αιμι. δύ3ϲ2αιμι. δύ3σ2αις. δύ3σ2αις. δύ3ϲ2αιϲ. δύ3ϲ2αιϲ. δύ3σ2ειας. δύ3σ2ειας. δύ3ϲ2ειαϲ. δύ3ϲ2ειαϲ. δύ3σ2αισ. δύ3σ2αισ. δύ3σ2ειασ. δύ3σ2ειασ. δύ3σ2αι. δύ3σ2αι. δύ3ϲ2αι. δύ3ϲ2αι. δύ3σ2ειε. δύ3σ2ειε. δύ3ϲ2ειε. δύ3ϲ2ειε. δύ3σ2αιτον. δύ3σ2αιτον. δύ3ϲ2αιτον. δύ3ϲ2αιτον. δυ3σ2αίτην. δυ3σ2αίτην. δυ3ϲ2αίτην. δυ3ϲ2αίτην. δύ3σ2αιμεν. δύ3σ2αιμεν. δύ3ϲ2αιμεν. δύ3ϲ2αιμεν. δύ3σ2αιτε. δύ3σ2αιτε. δύ3ϲ2αιτε. δύ3ϲ2αιτε. δύ3σ2αιεν δύ3σ2αιεν δύ3ϲ2αιεν δύ3ϲ2αιεν δύ3σ2ειαν. δύ3σ2ειαν. δύ3ϲ2ειαν. δύ3ϲ2ειαν. δύ3σ2ον. δύ3σ2ον. δύ3ϲ2ον. δύ3ϲ2ον. δυ3σ2άτω. δυ3σ2άτω. δυ3ϲ2άτω. δυ3ϲ2άτω. δύ3σ2ατον. δύ3σ2ατον. δύ3ϲ2ατον. δύ3ϲ2ατον. δυ3σ2άτων. δυ3σ2άτων. δυ3ϲ2άτων. δυ3ϲ2άτων. δύ3σ2ατε. δύ3σ2ατε. δύ3ϲ2ατε. δύ3ϲ2ατε. δυ3σ2άντων. δυ3σ2άντων. δυ3ϲ2άντων. δυ3ϲ2άντων. δύ3σ2ας. δύ3σ2ας. δύ3ϲ2αϲ. δύ3ϲ2αϲ. δύ3σ2αν. δύ3σ2αν. δύ3ϲ2αν. δύ3ϲ2αν. δύ3σ2αντ δύ3σ2αντ δύ3ϲ2αντ δύ3ϲ2αντ δυ3σ2άντ δυ3σ2άντ δυ3ϲ2άντ δυ3ϲ2άντ δύ3σ2ασ δύ3σ2ασ δύ3ϲ2αϲ δύ3ϲ2αϲ δυ3σ2άσ δυ3σ2άσ δυ3ϲ2άϲ δυ3ϲ2άϲ δύ3σ2ομαι. δύ3σ2ομαι. δύ3ϲ2ομαι. δύ3ϲ2ομαι. .δύ3σ2εσ .δύ3σ2εσ .δύ3ϲ2εϲ .δύ3ϲ2εϲ δυ3σ2όμεθα. δυ3σ2όμεθα. δυ3ϲ2όμεθα. δυ3ϲ2όμεθα. δύ3σ2ονται. δύ3σ2ονται. δύ3ϲ2ονται. δύ3ϲ2ονται. δυ3σ2οίμην. δυ3σ2οίμην. δυ3ϲ2οίμην. δυ3ϲ2οίμην. δύ3σ2οιο. δύ3σ2οιο. δύ3ϲ2οιο. δύ3ϲ2οιο. δύ3σ2οιτο. δύ3σ2οιτο. δύ3ϲ2οιτο. δύ3ϲ2οιτο. δύ3σ2οισθον. δύ3σ2οισθον. δύ3ϲ2οιϲθον. δύ3ϲ2οιϲθον. δυ3σ2οίσθην. δυ3σ2οίσθην. δυ3ϲ2οίϲθην. δυ3ϲ2οίϲθην. δυ3σ2οίμεθα. δυ3σ2οίμεθα. δυ3ϲ2οίμεθα. δυ3ϲ2οίμεθα. δύ3σ2οισθε. δύ3σ2οισθε. δύ3ϲ2οιϲθε. δύ3ϲ2οιϲθε. δύ3σ2οιντο. δύ3σ2οιντο. δύ3ϲ2οιντο. δύ3ϲ2οιντο. δύ3σ2εσθαι. δύ3σ2εσθαι. δύ3ϲ2εϲθαι. δύ3ϲ2εϲθαι. .δυ3σ2όμεν .δυ3σ2όμεν .δυ3ϲ2όμεν .δυ3ϲ2όμεν .δυ3σ2ομέν .δυ3σ2ομέν .δυ3ϲ2ομέν .δυ3ϲ2ομέν δύ3σ2ωμαι. δύ3σ2ωμαι. δύ3ϲ2ωμαι. δύ3ϲ2ωμαι. δύ3σ2ηται. δύ3σ2ηται. δύ3ϲ2ηται. δύ3ϲ2ηται. δυ3σ2ώμεθα δυ3σ2ώμεθα δυ3ϲ2ώμεθα δυ3ϲ2ώμεθα δύ3σ2ησθε. δύ3σ2ησθε. δύ3ϲ2ηϲθε. δύ3ϲ2ηϲθε. δυ3σ2αίμην. δυ3σ2αίμην. δυ3ϲ2αίμην. δυ3ϲ2αίμην. δύ3σ2αιο. δύ3σ2αιο. δύ3ϲ2αιο. δύ3ϲ2αιο. δύ3σ2αιτο. δύ3σ2αιτο. δύ3ϲ2αιτο. δύ3ϲ2αιτο. δύ3σ2αισθον. δύ3σ2αισθον. δύ3ϲ2αιϲθον. δύ3ϲ2αιϲθον. δυ3σ2αίσθην. δυ3σ2αίσθην. δυ3ϲ2αίϲθην. δυ3ϲ2αίϲθην. δυ3σ2αίμεθα. δυ3σ2αίμεθα. δυ3ϲ2αίμεθα. δυ3ϲ2αίμεθα. δύ3σ2αισθαι. δύ3σ2αισθαι. δύ3ϲ2αιϲθαι. δύ3ϲ2αιϲθαι. δύ3σ2αιντο. δύ3σ2αιντο. δύ3ϲ2αιντο. δύ3ϲ2αιντο. δυ3σ2άσθω. δυ3σ2άσθω. δυ3ϲ2άϲθω. δυ3ϲ2άϲθω. δύ3σ2ασθον. δύ3σ2ασθον. δύ3ϲ2αϲθον. δύ3ϲ2αϲθον. δυ3σ2άσθων. δυ3σ2άσθων. δυ3ϲ2άϲθων. δυ3ϲ2άϲθων. δύ3σ2ασθε. δύ3σ2ασθε. δύ3ϲ2αϲθε. δύ3ϲ2αϲθε. δύ3σ2ασθαι. δύ3σ2ασθαι. δύ3ϲ2αϲθαι. δύ3ϲ2αϲθαι. δυ3σ2άμεν δυ3σ2άμεν δυ3ϲ2άμεν δυ3ϲ2άμεν δυσ3σ2αμέν δυσ3σ2αμέν δυϲ3ϲ2αμέν δυϲ3ϲ2αμέν δύ3σ2ατο. δύ3σ2ατο. δύ3ϲ2ατο. δύ3ϲ2ατο. δύ3σ2ετο. δύ3σ2ετο. δύ3ϲ2ετο. δύ3ϲ2ετο. δύ3σ2αντο. δύ3σ2αντο. δύ3ϲ2αντο. δύ3ϲ2αντο. δύ3σ2εο. δύ3σ2εο. δύ3ϲ2εο. δύ3ϲ2εο. .δυσεί2σ1β .δυσεί2σ1β .δυϲεί2ϲ1β .δυϲεί2ϲ1β .δυσει2σ1β .δυϲει2ϲ1β .δυσέ2κ1 .δυσέ2κ1 .δυϲέ2κ1 .δυϲέ2κ1 .δυσε2κ1 .δυϲε2κ1 .δυσέ2ξ1 .δυσέ2ξ1 .δυϲέ2ξ1 .δυϲέ2ξ1 .δυσε2ξ1 .δυϲε2ξ1 .δυ3σ2ιθ .δυ3ϲ2ιθ δύ3σ2ις. δύ3σ2ις. δύ3ϲ2ιϲ. δύ3ϲ2ιϲ. δύ3σ2ισ. δύ3σ2ισ. δύ3σ2εω δύ3σ2εω δύ3ϲ2εω δύ3ϲ2εω δύ3σ2ιν. δύ3σ2ιν. δύ3ϲ2ιν. δύ3ϲ2ιν. δύ3σ2ι. δύ3σ2ι. δύ3ϲ2ι. δύ3ϲ2ι. δυ3σ2έοιν. δυ3σ2έοιν. δυ3ϲ2έοιν. δυ3ϲ2έοιν. δύ3σ2εσι. δύ3σ2εσι. δύ3ϲ2εϲι. δύ3ϲ2εϲι. δύ3σ2εσιν. δύ3σ2εσιν. δύ3ϲ2εϲιν. δύ3ϲ2εϲιν. .δύ3σ2κε .δύ3σ2κε .δύ3ϲ2κε .δύ3ϲ2κε .δυ3σ2μή. .δυ3σ2μή. .δυ3ϲ2μή. .δυ3ϲ2μή. .δυ3σ2μὴ. .δυ3ϲ2μὴ. .δυ3σ2μῆς. .δυ3ϲ2μῆϲ. .δυ3σ2μῆσ. .δυ3σ2μῇ .δυ3ϲ2μῇ .δυ3σ2μῆ. .δυ3ϲ2μῆ. .δυ3σ2μᾶ .δυ3ϲ2μᾶ .δυ3σ2μα .δυ3ϲ2μα .δυ3σ2μῶ .δυ3ϲ2μῶ .δυσξύ2ν1 .δυσξύ2ν1 .δυϲξύ2ν1 .δυϲξύ2ν1 .δυσξυ2ν1 .δυϲξυ2ν1 .δύ3σ2ταν .δύ3σ2ταν .δύ3ϲ2ταν .δύ3ϲ2ταν .δυ3σ2τάν .δυ3σ2τάν .δυ3ϲ2τάν .δυ3ϲ2τάν .δυ3σ2την .δυ3ϲ2την .δυ3σ2τήν .δυ3σ2τήν .δυ3ϲ2τήν .δυ3ϲ2τήν ἐδυ2σ1τ ἐδυ2ϲ1τ εἰ2ν1όδ εἰ2ν1όδ εἰ2ν1οδ εἰ2σ1 εἰ2ϲ1 εἴ2σ1 εἴ2ϲ1 εἰ3σ2ί. εἰ3σ2ί. εἰ3ϲ2ί. εἰ3ϲ2ί. εἰ3σ2ὶ. εἰ3ϲ2ὶ. εἰ3σ2ι. εἰ3ϲ2ι. εἰ3σ2ίν. εἰ3σ2ίν. εἰ3ϲ2ίν. εἰ3ϲ2ίν. εἰ3σ2ὶν. εἰ3ϲ2ὶν. εἰ3σ2ιν. εἰ3ϲ2ιν. εἴ3σ2ομ εἴ3ϲ2ομ εἴ3σ2ῃ. εἴ3ϲ2ῃ. εἴσει. εἴϲει. εἴ3σ2εται. εἴ3ϲ2εται. εἴ3σ2εσθον. εἴ3ϲ2εϲθον. εἰ3σ2όμ εἰ3σ2όμ εἰ3ϲ2όμ εἰ3ϲ2όμ εἴ3σ2εσθε. εἴ3ϲ2εϲθε. εἴ3σ2ονται εἴ3ϲ2ονται εἰ3σ2οίμην εἰ3σ2οίμην εἰ3ϲ2οίμην εἰ3ϲ2οίμην εἴ3σ2οιο εἴ3ϲ2οιο εἴ3σ2οιτο εἴ3ϲ2οιτο εἴ3σ2οισθον εἴ3ϲ2οιϲθον εἰ3σ2οίσθην εἰ3σ2οίσθην εἰ3ϲ2οίϲθην εἰ3ϲ2οίϲθην εἰ3σ2οίμεθα εἰ3σ2οίμεθα εἰ3ϲ2οίμεθα εἰ3ϲ2οίμεθα εἴ3σ2οισθε εἴ3ϲ2οιϲθε εἴ3σ2οιντο εἴ3ϲ2οιντο εἴ3σ2εσθαι εἴ3ϲ2εϲθαι εἰ3σ2όμεν εἰ3σ2όμεν εἰ3ϲ2όμεν εἰ3ϲ2όμεν εἰ3σ2ομέν εἰ3σ2ομέν εἰ3ϲ2ομέν εἰ3ϲ2ομέν εἴ3σ2άμην. εἴ3σ2άμην. εἴ3ϲ2άμην. εἴ3ϲ2άμην. εἴ3σ2ω εἴ3ϲ2ω εἴ3σ2ατο εἴ3ϲ2ατο εἴ3σ2ασθον εἴ3ϲ2αϲθον εἰ3σ2άσθην εἰ3σ2άσθην εἰ3ϲ2άϲθην εἰ3ϲ2άϲθην εἰ3σ2άμεθα εἰ3σ2άμεθα εἰ3ϲ2άμεθα εἰ3ϲ2άμεθα εἴ3σ2ασθε εἴ3ϲ2αϲθε εἴ3σ2αντο εἴ3ϲ2αντο εἴ3σ2ωμαι εἴ3ϲ2ωμαι εἴ3σ2ησθον εἴ3ϲ2ηϲθον εἰ3σ2ώμεθα εἰ3σ2ώμεθα εἰ3ϲ2ώμεθα εἰ3ϲ2ώμεθα εἴ3σ2ησθε εἴ3ϲ2ηϲθε εἴ3σ2ωνται εἴ3ϲ2ωνται εἰ3σ2αίμην εἰ3σ2αίμην εἰ3ϲ2αίμην εἰ3ϲ2αίμην εἴ3σ2αιο εἴ3ϲ2αιο εἴ3σ2αιτο εἴ3ϲ2αιτο εἴ3σ2αισθον εἴ3ϲ2αιϲθον εἴ3σ2αίσθην εἴ3σ2αίσθην εἴ3ϲ2αίϲθην εἴ3ϲ2αίϲθην εἰ3σ2αίμεθα εἰ3σ2αίμεθα εἰ3ϲ2αίμεθα εἰ3ϲ2αίμεθα εἴ3σ2αισθε εἴ3ϲ2αιϲθε εἴ3σ2αιντο εἴ3ϲ2αιντο εἰ3σ2άσθω εἰ3σ2άσθω εἰ3ϲ2άϲθω εἰ3ϲ2άϲθω εἰ3σ2άσθων εἰ3σ2άσθων εἰ3ϲ2άϲθων εἰ3ϲ2άϲθων εἴ3σ2ασθαι εἴ3ϲ2αϲθαι εἰ3σ2άμεν εἰ3σ2άμεν εἰ3ϲ2άμεν εἰ3ϲ2άμεν εἰ3σ2αμέν εἰ3σ2αμέν εἰ3ϲ2αμέν εἰ3ϲ2αμέν ἐ2κ1λ ἐ3κ2λήθη ἐ3κ2λήθη ἐ3κ2λάζ ἐ3κ2λάζ ἐ3κ2λάγ ἐ3κ2λάγ ἐ3κ2λάο ἐ3κ2λάο ἐ3κ2λάσ ἐ3κ2λάσ ἐ3κ2λάϲ ἐ3κ2λάϲ ἐ3κ2λαί ἐ3κ2λαί ἐ3κ2λαύ ἐ3κ2λαύ ἐ3κ2λεί ἐ3κ2λεί ἐ4κ3λείπ ἐ4κ3λείπ ἐ4κ3λείψ ἐ4κ3λείψ ἐ3κ2λῄ ἐ3κ2κλέπ ἐ3κ2κλέπ ἐ3κ2κλέψ ἐ3κ2κλέψ ἐ3κ2λάπ ἐ3κ2λάπ ἐ3κ2λαπ ἐ4κ3λάπτ ἐ4κ3λάπτ ἐ4κ3λαπτ ἐ3κ2λέφ ἐ3κ2λέφ ἐ3κ2λεφ ἐ3κ2λήρ ἐ3κ2λήρ ἐ3κ2ληρ ἐ3κ2λίν ἐ3κ2λίν ἐ3κ2λιν ἐ3κ2λύ ἐ3κ2λύ ἐ4κ3λύσεω ἐ4κ3λύσεω ἐ4κ3λύϲεω ἐ4κ3λύϲεω ἐ4κ3λύσει ἐ4κ3λύσει ἐ4κ3λύϲει ἐ4κ3λύϲει ἐ4κ3λύσεοι ἐ4κ3λύσεοι ἐ4κ3λύϲεοι ἐ4κ3λύϲεοι ἐ4κ3λύσεσι ἐ4κ3λύσεσι ἐ4κ3λύϲεϲι ἐ4κ3λύϲεϲι ἐ3κ2λόμ ἐ3κ2λόμ ἐ3κ2κλώσ ἐ3κ2κλώσ ἐ3κ2κλώϲ ἐ3κ2κλώϲ ἔ2κ1λει ἔ3κ2λεισ ἔ3κ2λειϲ ἔ2κ1λυσ ἔ2κ1λυϲ ἐ2κ1μ ἔ2κ1μ ἐ2κ1ν ἔ2κ1ν ἔ3κ2ναι ἐ3κ2ναί ἐ3κ2ναί ἔ3κ2νησ ἔ3κ2νηϲ ἐ3κ2νήσ ἐ3κ2νήσ ἐ3κ2νήϲ ἐ3κ2νήϲ ἐ3κ2νυ ἐ2κ1ρ ἔ2κ1ρ ἐ3κ2ράδ ἐ3κ2ράδ ἐ3κ2ραδ ἔ3κ2ραζ ἐ3κ2ράζ ἐ3κ2ράζ ἔ3κ2ραγ ἐ3κ2ράγ ἐ3κ2ράγ ἐ3κ2ράτ ἐ3κ2ράτ ἐ3κ2ρατ ἐ3κ2ραύγ ἐ3κ2ραύγ ἐ3κ2ραυγ ἔ3κ2ραι ἐ3κ2ραί ἐ3κ2ραί ἔ3κ2ραν ἐ3κ2ράν ἐ3κ2ράν ἐ3κ2ρήη ἐ3κ2ρήη ἐ3κ2ράα ἐ3κ2ράα ἐ3κ2ραά ἐ3κ2ραά ἐ3κ2ράθ ἐ3κ2ράθ ἐ3κ2ραθ ἔ3κ2ρεκ ἐ3κ2ρέκ ἐ3κ2ρέκ ἔ3κ2ρεξ ἐ3κ2ρέξ ἐ3κ2ρέξ ἐ3κ2ρέμ ἐ3κ2ρέμ ἐ3κ2ρεμ ἐ3κ2ρήμ ἐ3κ2ρήμ ἐ3κ2ρημ ἔ3κ2ριν ἐ3κ2ρίν ἐ3κ2ρίν ἐ3κ2ρίθ ἐ3κ2ρίθ ἐ3κ2ρότ ἐ3κ2ρότ ἐ3κ2ροτ ἔ3κ2ρου ἐ3κ2ρού ἐ3κ2ρού ἔ3κ2ρυπ ἐ3κ2ρύπ ἐ3κ2ρύπ ἔ3κ2ρυψ ἐ3κ2ρύψ ἐ3κ2ρύψ ἐ3κ2ρύβ ἐ3κ2ρύβ ἐ3κ2ρύφ ἐ3κ2ρύφ ἐ3κ2ρυσ ἐ3κ2ρυϲ ἔ3κ2ρωζ ἐ3κ2ρώζ ἐ3κ2ρώζ ἔ3κ2ρωξ ἐ3κ2ρώξ ἐ3κ2ρώξ ἐ2κ1ταθ ἔ2κ1ταμε. ἐ2κ1τάμν ἐ2κ1τάμν ἐ2κ1ταν ἐ2κ1ταρ ἐ2κ1τάσ ἐ2κ1τάσ ἐ2κ1τάϲ ἐ2κ1τάϲ ἐ2κ1τε ἐ2κ1τέ ἐ2κ1τέ ἐ3κ2τείν ἐ3κ2τείν ἐ2κ1τήκ ἐ2κ1τήκ ἐ2κ1τι ἔ2κ1τι ἐ2κ1τί ἐ2κ1τί ἔ3κ2τιζ ἐ3κ2τίζ ἐ3κ2τίζ ἔ3κ2τισα ἔ3κ2τιϲα ἐ3κ2τίσα ἐ3κ2τίσα ἐ3κ2τίϲα ἐ3κ2τίϲα ἐ2κ1τό ἐ2κ1τό ἐ2κ1το ἔ2κ1το ἐ3κ2τός. ἐ3κ2τός. ἐ3κ2τόϲ. ἐ3κ2τόϲ. ἐ3κ2τὸς. ἐ3κ2τὸϲ. ἐ3κ2τόσ. ἐ3κ2τόσ. ἐ3κ2τὸσ. ἐ2κ1τρ ἔ2κ1τυπο ἐ2κ1τύπου. ἐ2κ1τύπου. ἐ2κ1τύπῳ. ἐ2κ1τύπῳ. ἔ2κ1τυπε. ἐ2κ1τύπω. ἐ2κ1τύπω. ἐ2κτύποι. ἐ2κτύποι. ἐ2κ1τύπων. ἐ2κ1τύπων. ἐ2κ1τύποις. ἐ2κ1τύποις. ἐ2κ1τύποιϲ. ἐ2κ1τύποιϲ. ἐ2κ1τύποισ. ἐ2κ1τύποισ. ἐ2κ1τύπους. ἐ2κ1τύπους. ἐ2κ1τύπουϲ. ἐ2κ1τύπουϲ. ἐ2κ1τύπουσ. ἐ2κ1τύπουσ. ἔ2κ1τυπα. ἐ2κ1τυ ἑλλή2σ1π ἑλλή2σ1π ἑλλή2ϲ1π ἑλλή2ϲ1π ἑλλη2σ1π ἑλλη2ϲ1π ἐ2ν1 ἔ2ν1 ἐ3ν2άκις ἐ3ν2άκις ἐ3ν2άκιϲ ἐ3ν2άκιϲ ἐ3ν2ακισ ἐ3ν2ακιϲ ἐ3ν2ακόσ ἐ3ν2ακόσ ἐ3ν2ακόϲ ἐ3ν2ακόϲ ἐ3ν2ακοσ ἐ3ν2ακοϲ ἔ3ν2αρα. ἐ3ν2άρων. ἐ3ν2άρων. ἐ3ν2άροις. ἐ3ν2άροις. ἐ3ν2άροιϲ. ἐ3ν2άροιϲ. ἐ3ν2άροισ. ἐ3ν2άροισ. ἐ3ν2αρηφ ἐ4ν3αραρ ἐ3ν2άρεε ἐ3ν2άρεε ἐ3ν2αρέω ἐ3ν2αρέω ἐ3ν2αρέα ἐ3ν2αρέα ἐ3ν2αρεά ἐ3ν2αρεά ἐ3ν2άριε ἐ3ν2άριε ἐ3ν2αρίω ἐ3ν2αρίω ἐ3ν2αρία ἐ3ν2αρία ἐ3ν2αριά ἐ3ν2αριά ἔ3ν2ασσ ἔ3ν2αϲϲ ἐ3ν2άσσ ἐ3ν2άσσ ἐ3ν2άϲϲ ἐ3ν2άϲϲ ἐ3ν2άσθ ἐ3ν2άσθ ἐ3ν2άϲθ ἐ3ν2άϲθ ἐ3ν2ασθ ἐ3ν2αϲθ ἔ3ν2ατ ἐ3ν2άτ ἐ3ν2άτ ἐνδυ2σ1τ ἐνδυ2ϲ1τ ἐ3ν2έγκ ἐ3ν2έγκ ἐ3ν2εγκ ἔ3ν2εικ ἐ3ν2εῖκ ἐ3ν2εικ ἐ3ν2είκ ἐ3ν2είκ ἔ3ν2ειμ ἐ3ν2είμ ἐ3ν2είμ ἐ3ν2εμέσσ ἐ3ν2εμέσσ ἐ3ν2εμέϲϲ ἐ3ν2εμέϲϲ ἐ3ν2εμήθ ἐ3ν2εμήθ ἐ3ν2ενή ἐ3ν2ενή ἐ3ν2εό ἐ3ν2εό ἐ3ν2εὸ ἐ3ν2εο ἐ3ν2εῶ ἐ3ν2εά ἐ3ν2εά ἐ3ν2εὰ ἐ3ν2εᾶ ἐ3ν2έπει ἐ3ν2έπει ἔ3ν2ερθε ἔ3ν2ευσ ἔ3ν2ευϲ ἐ3ν2εύσ ἐ3ν2εύσ ἐ3ν2εύϲ ἐ3ν2εύϲ ἐ3ν2έχθ ἐ3ν2έχθ ἐ3ν2εχθ ἔ3ν2ησ ἔ3ν2ηϲ ἐ3ν2ήσ ἐ3ν2ήσ ἐ3ν2ήϲ ἐ3ν2ήϲ ἐ3ν2ηή ἐ3ν2ηή ἐ3ν2ηὴ ἔ3ν2ην. ἐ3ν2ηεί ἐ3ν2ηεί ἐ3ν2ηο ἐ3ν2ηῶ ἐ3νηέ ἐ3νηέ ἐ3ν2ήνο ἐ3ν2ήνο ἐ3ν2ί ἐ3ν2ί ἐ3ν2ι ἔ3ν2ι ἐ4ν3ιαύ ἐ4ν3ιαύ ἐ5ν4ιαύσ ἐ5ν4ιαύσ ἐ5ν4ιαύϲ ἐ5ν4ιαύϲ ἐ5ν4ιαυσ ἐ5ν4ιαυϲ ἐ4ν3ιδρ ἐ4ν3ίδρ ἐ4ν3ίδρ ἐ4ν3ίζ ἐ4ν3ίζ ἐ4ν3ίη ἐ4ν3ίη ἐ4ν3ιέτον. ἐ4ν3ιέτον. ἐ4ν3ίεμεν. ἐ4ν3ίεμεν. ἐ4ν3ίω. ἐ4ν3ίω. ἐ4ν3ιππ ἐ4ν3ίππ ἐ4ν3ίππ ἐ4ν3ίπτ ἐ4ν3ίπτ ἐ4ν3ίψ ἐ4ν3ίψ ἐ4ν3ίσσ ἐ4ν3ίσσ ἐ4ν3ίϲϲ ἐ4ν3ίϲϲ ἐ4ν3ίστ ἐ4ν3ίστ ἐ4ν3ίϲτ ἐ4ν3ίϲτ ἐ4ν3ιστ ἐ4ν3ιϲτ ἐ4ν3ισχ ἐ4ν3ιϲχ ἐ4ν3ίσχ ἐ4ν3ίσχ ἐ4ν3ίϲχ ἐ4ν3ίϲχ ἔ3ν2ος. ἔ3ν2οϲ. ἔ3ν2οσ. ἔ3ν2ου. ἔ3ν2ον. ἔ3ν2ω ἔ3ν2οι. ἔ3ν2οις. ἔ3ν2οιϲ. ἔ3ν2οισ. ἔ3ν2ης. ἔ3ν2ηϲ. ἔ3ν2ησ. ἔ3ν2ῃ. ἔ3ν2η. ἔ3ν2οσι ἔ3ν2οϲι ἐ3ν2όσε ἐ3ν2όσε ἐ3ν2όϲε ἐ3ν2όϲε ἐ3ν2υάλ ἐ3ν2υάλ ἐ3ν2υαλ ἔ3ν2υξ ἐ3ν2υξ ἐ3ν2ύξ ἐ3ν2ύξ ἐ3ν2ύσ ἐ3ν2ύσ ἐ3ν2ύϲ ἐ3ν2ύϲ ἐ3ν2υσ ἐ3ν2υϲ ἐ3ν2υώ ἐ3ν2υώ ἐ3ν2υὼ ἐ3ν2υόο ἐ3ν2υόο ἐ3ν2υοῦς ἐ3ν2υοῦϲ ἐ2ξ1 ἔ2ξ1 ἐ3ξ2ήρ ἐ3ξ2ήρ ἐ3ξ2ηρ ἐ3ξ2υ2ν1 ἐ3ξ2υρ ἐ3ξ2ύρ ἐ3ξ2ύρ ἔ3ξ2υσ ἔ3ξ2υϲ ἔ3ξ2ω. ἑ2ξ1ήρετμ ἑ2ξ1ήρετμ ἑ2ξ1ηρέτμ ἑ2ξ1ηρέτμ ἐπεί2σ1 ἐπεί2σ1 ἐπεί2ϲ1 ἐπεί2ϲ1 ἐπει2σ1 ἐπει2ϲ1 ἐπεί3σ2ατον. ἐπεί3σ2ατον. ἐπεί3ϲ2ατον. ἐπεί3ϲ2ατον. ἐπει3σ2άτην. ἐπει3σ2άτην. ἐπει3ϲ2άτην. ἐπει3ϲ2άτην. ἐπεί3σ2αμεν. ἐπεί3σ2αμεν. ἐπεί3ϲ2αμεν. ἐπεί3ϲ2αμεν. ἐπεί3σ2ατε ἐπεί3σ2ατε ἐπεί3ϲ2ατε ἐπεί3ϲ2ατε ἐπει3σ2άμην. ἐπει3σ2άμην. ἐπει3ϲ2άμην. ἐπει3ϲ2άμην. ἐπεί3σ2ω. ἐπεί3σ2ω. ἐπεί3ϲ2ω. ἐπεί3ϲ2ω. ἐπεί3σ2ατο ἐπεί3σ2ατο ἐπεί3ϲ2ατο ἐπεί3ϲ2ατο ἐπεί3σ2ασθον. ἐπεί3σ2ασθον. ἐπεί3ϲ2αϲθον. ἐπεί3ϲ2αϲθον. ἐπει3σ2άμεθα. ἐπει3σ2άμεθα. ἐπει3ϲ2άμεθα. ἐπει3ϲ2άμεθα. ἐπεί3σ2ασθε. ἐπεί3σ2ασθε. ἐπεί3ϲ2αϲθε. ἐπεί3ϲ2αϲθε. ἐπεί3σ2αντο. ἐπεί3σ2αντο. ἐπεί3ϲ2αντο. ἐπεί3ϲ2αντο. ἐπεί3σ2θ ἐπεί3σ2θ ἐπεί3ϲ2θ ἐπεί3ϲ2θ ἐπει3σ2θ ἐπει3ϲ2θ ἐπε2κ1τεί ἐπε2κ1τεί ἐπέ2κ1τει ἐπέ2κ1τει ἐπε2κ1τρ ἐπέ2κ1τρ ἐπέ2κ1τρ ἐπε2ξ1 ἐπε2σ1β ἐπε2ϲ1β ἐπιπρό2σ1θ ἐπιπρό2σ1θ ἐπιπρό2ϲ1θ ἐπιπρό2ϲ1θ ἐπιπρο2σ1θ ἐπιπρο2ϲ1θ ἐπισυ2ν1 ἐπιϲυ2ν1 ἐ2σ1 ἐ2ϲ1 ἐ3σ2άω ἐ3σ2άω ἐ3ϲ2άω ἐ3ϲ2άω ἐ3σ2ημ ἐ3ϲ2ημ ἐ3σ2θ ἐ3ϲ2θ ἐ4σ3θέσ ἐ4σ3θέσ ἐ4ϲ3θέϲ ἐ4ϲ3θέϲ ἐ3σ2ιγ ἐ3ϲ2ιγ ἐ3σ2κ ἐ3ϲ2κ ἐ4σ3κά ἐ4σ3κά ἐ4ϲ3κά ἐ4ϲ3κά ἐ4σ3κα ἐ4ϲ3κα ἐ3σ2μὲν. ἐ3ϲ2μὲν. ἐ3σ2μέν. ἐ3σ2μέν. ἐ3ϲ2μέν. ἐ3ϲ2μέν. ἐ3σ2τ ἐ3ϲ2τ ἐ3σ2όμεθα ἐ3σ2όμεθα ἐ3ϲ2όμεθα ἐ3ϲ2όμεθα ἐ3σ2οίμην ἐ3σ2οίμην ἐ3ϲ2οίμην ἐ3ϲ2οίμην ἐ3σ2όμ ἐ3σ2όμ ἐ3ϲ2όμ ἐ3ϲ2όμ ἐ3σ2ομ ἐ3ϲ2ομ ἐ3σ2οῦ ἐ3ϲ2οῦ ἐ3σ2ού ἐ3σ2ού ἐ3ϲ2ού ἐ3ϲ2ού ἐ3σ2ου ἐ3ϲ2ου ἐ3σ2υ ἐ3ϲ2υ ἐ3σ2ύ ἐ3σ2ύ ἐ3ϲ2ύ ἐ3ϲ2ύ ἐσύ2ν1 ἐσύ2ν1 ἐϲύ2ν1 ἐϲύ2ν1 ἐσυ2ν1 ἐϲυ2ν1 ἐ3σ2χ ἐ3ϲ2χ ἐ4σ3χέ ἐ4σ3χέ ἐ4ϲ3χέ ἐ4ϲ3χέ ἐ3σ2ώ ἐ3σ2ώ ἐ3ϲ2ώ ἐ3ϲ2ώ ἐ3σ2ω ἐ3ϲ2ω ἔ2σ1οπ ἔ2ϲ1οπ εὐε2ξ1 εὐε3ξ2ί εὐε3ξ2ί εὐε3ξ2ι εὐπρό2σ1 εὐπρό2σ1 εὐπρό2ϲ1 εὐπρό2ϲ1 εὐπρο2σ1 εὐπρο2ϲ1 εὐσύ2ν1 εὐσύ2ν1 εὐϲύ2ν1 εὐϲύ2ν1 εὐσυ2ν1 εὐϲυ2ν1 εὐξύ2ν1 εὐξύ2ν1 εὐξυ2ν1 ἐω2σ1φ ἐω2ϲ1φ ἤ2ν1οψ. ἤ2ν1οπ ἠ2ν1όπ ἠ2ν1όπ .θεμι2σ1κρ .θεμι2ϲ1κρ .θεό2σ1δ .θεό2σ1δ .θεό2ϲ1δ .θεό2ϲ1δ .θεο2σ1δ .θεο2ϲ1δ .θεοι2σ1εχθρ .θεοι2ϲ1εχθρ .θη2ρ1αγρ .θυο2σ1κ .θυο2ϲ1κ .καθυπε2ρ1 .καλω2σ1ορ .καλω2ϲ1ορ .καλω2σ1όρ .καλω2σ1όρ .καλω2ϲ1όρ .καλω2ϲ1όρ .κα2ν1είς. .κα2ν1είς. .κα2ν1είϲ. .κα2ν1είϲ. .κα2ν1εὶς. .κα2ν1εὶϲ. .κα2ν1είσ. .κα2ν1είσ. .κα2ν1εὶσ. .κα2ν1εν .κα2ν1έν .κα2ν1έν .καταδυ2σ1ωπ .καταδυ2ϲ1ωπ .κατεδυ2σ1ώπ .κατεδυ2σ1ώπ .κατεδυ2ϲ1ώπ .κατεδυ2ϲ1ώπ .κατει2σ1 .κατει2ϲ1 .κατε2ν1αί .κατε2ν1αί .κατε2ν1ή .κατε2ν1ή .κατε2ξ1α2ν1ί .κατε2ξ1α2ν1ί .κατε2ξ1α2ν1έσ .κατε2ξ1α2ν1έσ .κατε2ξ1α2ν1έϲ .κατε2ξ1α2ν1έϲ .κερα2σ1φ .κερα2ϲ1φ .κρά2σ1π .κρά2σ1π .κρά2ϲ1π .κρά2ϲ1π .κρα2σ1π .κρα2ϲ1π .κυνό2σ1α .κυνό2σ1α .κυνό2ϲ1α .κυνό2ϲ1α .κυνό2σ1β .κυνό2σ1β .κυνό2ϲ1β .κυνό2ϲ1β .κυνο2σ1β .κυνο2ϲ1β .κυνό2σ1ο .κυνό2σ1ο .κυνό2ϲ1ο .κυνό2ϲ1ο .κυνο2σ1ο .κυνο2ϲ1ο .κυνο2σ1φ .κυνο2ϲ1φ .μελα2ν1άγ .μελα2ν1άγ .μελα2ν1αγ .μελα2ν1άε .μελα2ν1άε .μελα2ν1αέ .μελα2ν1αέ .μελα2ν1αθ .μελα2ν1αιγ .μελα2ν1αυγ .μελα2ν1είμ .μελα2ν1είμ .μελα2ν1εῖμ .μελά2ν1ιππ .μελά2ν1ιππ .μελα2ν1ίππ .μελα2ν1ίππ .μελα2ν1όμμ .μελα2ν1όμμ .μελα2ν1ομμ .μελά2ν1οσσ .μελά2ν1οσσ .μελά2ν1οϲϲ .μελά2ν1οϲϲ .μελα2ν1όσσ .μελα2ν1όσσ .μελα2ν1όϲϲ .μελα2ν1όϲϲ .μελά2ν1οστ .μελά2ν1οστ .μελά2ν1οϲτ .μελά2ν1οϲτ .μελα2ν1όστ .μελα2ν1όστ .μελα2ν1όϲτ .μελα2ν1όϲτ .μελά2ν1ουρ .μελά2ν1ουρ .μελα2ν1ούρ .μελα2ν1ούρ .μελα2ν1ουρ .μελά2ν1υ .μελά2ν1υ .μελα2ν1ύ .μελα2ν1ύ .μετε2ξ1α .μετε2ξ1έ .μετε2ξ1έ .μετε2ξ1ε .μογι2σ1 .μογι2ϲ1 .μογο2σ1τ .μογο2ϲ1τ .μυ2σ1π .μυ2ϲ1π .μυ2σ1επ .μυ2ϲ1επ .νεώ2σ1οικ .νεώ2σ1οικ .νεώ2ϲ1οικ .νεώ2ϲ1οικ .νεω2σ1οίκ .νεω2σ1οίκ .νεω2ϲ1οίκ .νεω2ϲ1οίκ .νου2ν1ε .ξυ2ν1αγ .ξυ2ν1ε .ξυ2ν1έ .ξυ2ν1έ .ξύ2ν1ε .ξύ2ν1ε .ξυ3ν2εώ .ξυ3ν2εώ .ξυ3ν2εῶ .ξυ2ν1ῆκ .ξύ2ν1ι .ξύ2ν1ι .ξυ2ν1ί .ξυ2ν1ί οἱο2ν1εί. οἱο2ν1εί. οἱο2ν1εὶ. οἱό2σ1 οἱό2σ1 οἱό2ϲ1 οἱό2ϲ1 οἰ2σ1πώτ οἰ2σ1πώτ οἰ2ϲ1πώτ οἰ2ϲ1πώτ οἰ2σ1πωτ οἰ2ϲ1πωτ ὁλο2ν1έν. ὁλο2ν1έν. ὁλο2ν1ὲν. ὁπω2σ1 ὁπω2ϲ1 ὅ2σ1γε. ὅ2ϲ1γε. ὁσο2ν1ῶν. ὁϲο2ν1ῶν. ὅ2σ1περ. ὅ2ϲ1περ. ὅ2σ1τις ὅ2ϲ1τιϲ οἷ2σ1τισι οἷ2ϲ1τιϲι οὕ2σ1τινας οὕ2ϲ1τιναϲ ἧ2σ1τινος ἧ2ϲ1τινοϲ αἷ2σ1τισι αἷ2ϲ1τιϲι ἅ2σ1τινας ἅ2ϲ1τιναϲ ὁ2σ1τι2σ1οῦν. ὁ2ϲ1τι2ϲ1οῦν. ἡτι2σ1οῦν. ἡτι2ϲ1οῦν. ὁποιου2σ1τινα2σ1οῦν. ὁποιου2ϲ1τινα2ϲ1οῦν. οὐδενό2σ1ω οὐδενό2σ1ω οὐδενό2ϲ1ω οὐδενό2ϲ1ω οὐδενο2σ1ώ οὐδενο2σ1ώ οὐδενο2ϲ1ώ οὐδενο2ϲ1ώ .παλι2ν1 .παλί2ν1 .παλί2ν1 .πα2ν1 .πά2ν1 .πά2ν1 .πα3ν2ός. .πα3ν2ός. .πα3ν2όϲ. .πα3ν2όϲ. .πα3ν2ὸς. .πα3ν2ὸϲ. .πα3ν2όσ. .πα3ν2όσ. .πα3ν2ὸσ. .πα3ν2ί. .πα3ν2ί. .πα3ν2ὶ. .πάνα. .πάνα. .πα3ν2ῶν. .πα3ν2ικ .πα3ν2ίσδ .πα3ν2ίσδ .πα3ν2ίϲδ .πα3ν2ίϲδ .πα3ν2ισδ .πα3ν2ιϲδ .πα3ν2οῦ. .πα3ν2ῷ. .πα3ν2ό. .πα3ν2ό. .πα3ν2ὸ. .πα3ν2όν. .πα3ν2όν. .πα3ν2ὸν. .πα3ν2έ. .πα3ν2έ. .πα3ν2ὲ. .πα3ν2οί. .πα3ν2οί. .πα3ν2οὶ. .πα3ν2οῖς. .πα3ν2οῖϲ. .πα3ν2οῖσ. .πα3ν2ούς. .πα3ν2ούς. .πα3ν2ούϲ. .πα3ν2ούϲ. .πα3ν2οὺς. .πα3ν2οὺϲ. .πα3ν2ούσ. .πα3ν2ούσ. .πα3ν2οὺσ. .παρα2ν1ίσχ .παρα2ν1ίσχ .παρα2ν1ίϲχ .παρα2ν1ίϲχ .παρεί2σ1 .παρεί2σ1 .παρεί2ϲ1 .παρεί2ϲ1 .παρει2σ1 .παρει2ϲ1 .παρε2κ1λ .παρε2κ1τρ .παρε2ν1εῖ .παρε2ν1ο .παρε2ξ1 .παρέ2ξ1 .παρέ2ξ1 παρέ3ξ2ω. παρέ3ξ2ω. παρέ3ξ2εις. παρέ3ξ2εις. παρέ3ξ2ειϲ. παρέ3ξ2ειϲ. παρέ3ξ2εισ. παρέ3ξ2εισ. παρέ3ξ2ει. παρέ3ξ2ει. παρέ3ξ2ετον. παρέ3ξ2ετον. παρε3ξ2έτην. παρε3ξ2έτην. παρέ3ξ2ομεν. παρέ3ξ2ομεν. παρέ3ξ2ετε. παρέ3ξ2ετε. παρέ3ξ2ουσι. παρέ3ξ2ουσι. παρέ3ξ2ουϲι. παρέ3ξ2ουϲι. παρέ3ξ2ομαι παρέ3ξ2ομαι παρέ3ξ2ῃ παρέ3ξ2ῃ παρέ3ξ2εται. παρέ3ξ2εται. παρέ3ξ2εσθον. παρέ3ξ2εσθον. παρέ3ξ2εϲθον. παρέ3ξ2εϲθον. παρε3ξ2όμεθα. παρε3ξ2όμεθα. παρέ3ξ2εσθε. παρέ3ξ2εσθε. παρέ3ξ2εϲθε. παρέ3ξ2εϲθε. παρέ3ξ2ονται. παρέ3ξ2ονται. .πλεο2ν1έ .πλεο2ν1έ .πλεο2ν1ε .προει2σ1 .προει2ϲ1 .προε2κ1 .προε2ν1 .προε2ξ1 .προέ2ξ1 .προέ2ξ1 .προ2σ1 .προ2ϲ1 .προ3σ2άβ .προ3σ2άβ .προ3ϲ2άβ .προ3ϲ2άβ .προ3σ2αβ .προ3ϲ2αβ .προσει2σ1 .προϲει2ϲ1 .προ3σ2εί .προ3σ2εί .προ3ϲ2εί .προ3ϲ2εί .προ3σ2έσει .προ3σ2έσει .προ3ϲ2έϲει .προ3ϲ2έϲει .προ3σ2εσεί .προ3σ2εσεί .προ3ϲ2εϲεί .προ3ϲ2εϲεί .προσε2ν1 .προϲε2ν1 .προσε2ξ1 .προϲε2ξ1 .πρό3σ2θι .πρό3σ2θι .πρό3ϲ2θι .πρό3ϲ2θι .προ3σ2θί .προ3σ2θί .προ3ϲ2θί .προ3ϲ2θί .προ4σ3θιγ .προ4ϲ3θιγ .πρό3σ2κοπ .πρό3σ2κοπ .πρό3ϲ2κοπ .πρό3ϲ2κοπ .προ3σ2κόπ .προ3σ2κόπ .προ3ϲ2κόπ .προ3ϲ2κόπ .προ3σ2τασ .προ3ϲ2ταϲ .προ3σ2τάτ .προ3σ2τάτ .προ3ϲ2τάτ .προ3ϲ2τάτ .προ3σ2τατ .προ3ϲ2τατ .προ3σ2ταυ .προ3ϲ2ταυ .προ3σ2τεί .προ3σ2τεί .προ3ϲ2τεί .προ3ϲ2τεί .προ3σ2τεν .προ3ϲ2τεν .προ3σ2τέν .προ3σ2τέν .προ3ϲ2τέν .προ3ϲ2τέν .προ3σ2τερν .προ3ϲ2τερν .πρό3σ2τερν .πρό3σ2τερν .πρό3ϲ2τερν .πρό3ϲ2τερν .προ3σ2τέρν .προ3σ2τέρν .προ3ϲ2τέρν .προ3ϲ2τέρν .προ3σ2τήσ .προ3σ2τήσ .προ3ϲ2τήϲ .προ3ϲ2τήϲ .προ3σ2τόμ .προ3σ2τόμ .προ3ϲ2τόμ .προ3ϲ2τόμ .προ3σ2τομ .προ3ϲ2τομ .πρό3σ2τῳ .πρό3σ2τῳ .πρό3ϲ2τῳ .πρό3ϲ2τῳ .προ3σ2τῴ .προ3ϲ2τῴ .προ3σ2υγ .προ3ϲ2υγ .προ3σ2υμ .προ3ϲ2υμ .προ3σ2υ2ν1 .προ3ϲ2υ2ν1 .πρό3σ2φαγμ .πρό3σ2φαγμ .πρό3ϲ2φαγμ .πρό3ϲ2φαγμ .προ3σ2φάγμ .προ3σ2φάγμ .προ3ϲ2φάγμ .προ3ϲ2φάγμ .προ3σ2φάζ .προ3σ2φάζ .προ3ϲ2φάζ .προ3ϲ2φάζ .προ3σ2φάττ .προ3σ2φάττ .προ3ϲ2φάττ .προ3ϲ2φάττ .πρό3σ2χημ .πρό3σ2χημ .πρό3ϲ2χημ .πρό3ϲ2χημ .προ3σ2χήμ .προ3σ2χήμ .προ3ϲ2χήμ .προ3ϲ2χήμ .πρό3σ2ω. .πρό3σ2ω. .πρό3ϲ2ω. .πρό3ϲ2ω. .πρό3σ2ωθεν. .πρό3σ2ωθεν. .πρό3ϲ2ωθεν. .πρό3ϲ2ωθεν. .προ3σ2ώτ .προ3σ2ώτ .προ3ϲ2ώτ .προ3ϲ2ώτ .προ3σ2ωτ .προ3ϲ2ωτ .προϋπε2ξ1 .πυ2ρ1άγ .πυ2ρ1άγ .πυ2ρ1αγ .πυ2ρ1αίθ .πυ2ρ1αίθ .πυ2ρ1αιθ .πυ2ρ1ῆθ .πυ2ρ1ηθ .πυ2ρ1ήθ .πυ2ρ1ήθ .πυ2ρ1ακ .πύ2ρ1αυ .πύ2ρ1αυ .πυ2ρ1αύ .πυ2ρ1αύ .πυ2ρ1αυ .πυ2ρ1ήνεμ .πυ2ρ1ήνεμ .πυ2ρ1ηνέμ .πυ2ρ1ηνέμ .πυ2ρ1ωπ .σελα2σ1φό .σελα2σ1φό .ϲελα2ϲ1φό .ϲελα2ϲ1φό .σελα2σ1φο .ϲελα2ϲ1φο .συμπαρει2σ1 .ϲυμπαρει2ϲ1 .συ2ν1 .ϲυ2ν1 .σύ2ν1 .σύ2ν1 .ϲύ2ν1 .ϲύ2ν1 .συνδιέ2ξ1 .συνδιέ2ξ1 .ϲυνδιέ2ξ1 .ϲυνδιέ2ξ1 .συνδιε2ξ1 .ϲυνδιε2ξ1 .συνδυ2σ1 .ϲυνδυ2ϲ1 .συνε2ξ1 .ϲυνε2ξ1 .τεσσαρε2σ1κ .τεϲϲαρε2ϲ1κ .τρει2σ1κ .τρει2ϲ1κ .τρι2σ1 .τρι2ϲ1 .τρι3σ2μό .τρι3σ2μό .τρι3ϲ2μό .τρι3ϲ2μό .τρι3σ2μο .τρι3ϲ2μο .τρι3σ2μῶ .τρι3ϲ2μῶ .τρι3σ2π .τρι3ϲ2π .τρί3σ2τ .τρί3σ2τ .τρί3ϲ2τ .τρί3ϲ2τ .τρι3σ2τ .τρι3ϲ2τ .τρι3σ2ώ .τρι3σ2ώ .τρι3ϲ2ώ .τρι3ϲ2ώ .τρι3σ2ω .τρι3ϲ2ω ὑο2σ1κ ὑο2ϲ1κ ὑπεί2σ1 ὑπεί2σ1 ὑπεί2ϲ1 ὑπεί2ϲ1 ὑπει2σ1 ὑπει2ϲ1 ὑπεί3σ2ας ὑπεί3σ2ας ὑπεί3ϲ2αϲ ὑπεί3ϲ2αϲ ὑπεί3σ2ασ ὑπεί3σ2ασ ὑπεί3σ2αν ὑπεί3σ2αν ὑπεί3ϲ2αν ὑπεί3ϲ2αν ὑπει3σ2άν ὑπει3σ2άν ὑπει3ϲ2άν ὑπει3ϲ2άν ὑπει3σ2άσ ὑπει3σ2άσ ὑπει3ϲ2άϲ ὑπει3ϲ2άϲ ὑπε2κ1λαμ ὑπε2κ1λήψ ὑπε2κ1λήψ ὑπε2κ1τ ὑπε2ν1 ὑπε2ξ1 ὑπε2ρ1 ὑπέ2ρ1 ὑπέ2ρ1 ὑπέ3ρ2α. ὑπέ3ρ2α. ὑπέ3ρ2ης. ὑπέ3ρ2ης. ὑπέ3ρ2ηϲ. ὑπέ3ρ2ηϲ. ὑπέ3ρ2ησ. ὑπέ3ρ2ησ. ὑπέ3ρ2ᾳ. ὑπέ3ρ2ᾳ. ὑπέ3ρ2αν. ὑπέ3ρ2αν. ὑπέ3ρ2αι. ὑπέ3ρ2αι. ὑπε3ρ2ῶν. ὑπέ3ρ2αις. ὑπέ3ρ2αις. ὑπέ3ρ2αιϲ. ὑπέ3ρ2αιϲ. ὑπέ3ρ2αισ. ὑπέ3ρ2αισ. ὑπέ3ρ2ας. ὑπέ3ρ2ας. ὑπέ3ρ2αϲ. ὑπέ3ρ2αϲ. ὑπέ3ρ2ασ. ὑπέ3ρ2ασ. ὑπε3ρ2εθ ὑπε3ρ2έθ ὑπε3ρ2έθ ὑπε3ρ2εί ὑπε3ρ2εί ὑπέ3ρ2υθ ὑπέ3ρ2υθ ὑπε3ρ2ύθ ὑπε3ρ2ύθ ὑπε3ρ2υθ ὑπερε2κ1τε ὑπερε2κ1τί ὑπερε2κ1τί ὑπε3ρ2έπτ ὑπε3ρ2έπτ ὑπε3ρ2επτ ὑπε3ρ2έψ ὑπε3ρ2έψ ὑπε3ρ2εψ ὑπε3ρ2έω ὑπε3ρ2έω ὑπε3ρ2ῶ ὑπε3ρ2έε ὑπε3ρ2έε ὑπε3ρ2εῖς. ὑπε3ρ2εῖϲ. ὑπε3ρ2εῖσ. ὑπε3ρ2εῖ. ὑπε3ρ2έο ὑπε3ρ2έο ὑπε3ρ2οῦ ὑπε3ρ2εῖτ ὑπε3ρ2ώ ὑπε3ρ2ώ ὑπε3ρ2ω ὕ2σ1τρ ὕ2ϲ1τρ ὑ2σ1τρ ὑ2ϲ1τρ .φαε2σ1φ .φαε2ϲ1φ .φω2σ1φ .φω2ϲ1φ .χαρι2σ1ανδρ .χαρι2ϲ1ανδρ .χαρι2σ1άνδρ .χαρι2σ1άνδρ .χαρι2ϲ1άνδρ .χαρι2ϲ1άνδρ .χει2ρ1άγ .χει2ρ1άγ .χει2ρ1αγ .χει2ρ1απ .χει2ρ1αψ .χει2ρ1ου .χει2ρ1ῶν .χει2ρ1άν .χει2ρ1άν .χει2ρ1αν .χη2ν1ναλ ὡ2σ1α2ν1εί. ὡ2σ1α2ν1εί. ὡ2ϲ1α2ν1εί. ὡ2ϲ1α2ν1εί. ὡ2σ1α2ν1εὶ. ὡ2ϲ1α2ν1εὶ. ὡ2σ1αύτως. ὡ2σ1αύτως. ὡ2ϲ1αύτωϲ. ὡ2ϲ1αύτωϲ. ὡ2σ1αύτωσ. ὡ2σ1αύτωσ. ὡ2σ1εί. ὡ2σ1εί. ὡ2ϲ1εί. ὡ2ϲ1εί. ὡ2σ1εὶ. ὡ2ϲ1εὶ. ὥ2σ1περ. ὥ2ϲ1περ. ὡ2σ1πε2ρ1εί. ὡ2σ1πε2ρ1εί. ὡ2ϲ1πε2ρ1εί. ὡ2ϲ1πε2ρ1εί. ὡ2σ1πε2ρ1εὶ. ὡ2ϲ1πε2ρ1εὶ. ὥ2σ1τε ὥ2ϲ1τε ι2σ1χίλιοι. ι2σ1χίλιοι. ι2ϲ1χίλιοι. ι2ϲ1χίλιοι. ι2σ1χιλίων. ι2σ1χιλίων. ι2ϲ1χιλίων. ι2ϲ1χιλίων. ι2σ1χιλίοις. ι2σ1χιλίοις. ι2ϲ1χιλίοιϲ. ι2ϲ1χιλίοιϲ. ι2σ1χιλίοισ. ι2σ1χιλίοισ. ι2σ1χιλίους. ι2σ1χιλίους. ι2ϲ1χιλίουϲ. ι2ϲ1χιλίουϲ. ι2σ1χιλίουσ. ι2σ1χιλίουσ. ι2σ1χίλιαι. ι2σ1χίλιαι. ι2ϲ1χίλιαι. ι2ϲ1χίλιαι. ι2σ1χιλίαις. ι2σ1χιλίαις. ι2ϲ1χιλίαιϲ. ι2ϲ1χιλίαιϲ. ι2σ1χιλίαισ. ι2σ1χιλίαισ. ι2σ1χιλίας. ι2σ1χιλίας. ι2ϲ1χιλίαϲ. ι2ϲ1χιλίαϲ. ι2σ1χιλίασ. ι2σ1χιλίασ. ι2σ1χίλια. ι2σ1χίλια. ι2ϲ1χίλια. ι2ϲ1χίλια. ι2σ1μύριοι. ι2σ1μύριοι. ι2ϲ1μύριοι. ι2ϲ1μύριοι. ι2σ1μυρίων. ι2σ1μυρίων. ι2ϲ1μυρίων. ι2ϲ1μυρίων. ι2σ1μυρίοις. ι2σ1μυρίοις. ι2ϲ1μυρίοιϲ. ι2ϲ1μυρίοιϲ. ι2σ1μυρίοισ. ι2σ1μυρίοισ. ι2σ1μυρίους. ι2σ1μυρίους. ι2ϲ1μυρίουϲ. ι2ϲ1μυρίουϲ. ι2σ1μυρίουσ. ι2σ1μυρίουσ. ι2σ1μύριαι. ι2σ1μύριαι. ι2ϲ1μύριαι. ι2ϲ1μύριαι. ι2σ1μυρίαις. ι2σ1μυρίαις. ι2ϲ1μυρίαιϲ. ι2ϲ1μυρίαιϲ. ι2σ1μυρίαισ. ι2σ1μυρίαισ. ι2σ1μυρίας. ι2σ1μυρίας. ι2ϲ1μυρίαϲ. ι2ϲ1μυρίαϲ. ι2σ1μυρίασ. ι2σ1μυρίασ. ι2σ1μύρια. ι2σ1μύρια. ι2ϲ1μύρια. ι2ϲ1μύρια. ι2σ1χιλιοστ ι2ϲ1χιλιοϲτ ι2σ1μυριοστ ι2ϲ1μυριοϲτ ι2σ1χιλιάκις. ι2σ1χιλιάκις. ι2ϲ1χιλιάκιϲ. ι2ϲ1χιλιάκιϲ. ι2σ1χιλιάκισ. ι2σ1χιλιάκισ. ι2σ1μυριάκις. ι2σ1μυριάκις. ι2ϲ1μυριάκιϲ. ι2ϲ1μυριάκιϲ. ι2σ1μυριάκισ. ι2σ1μυριάκισ.",
+ ["minhyphenmax"]=1,
+ ["minhyphenmin"]=1,
+ ["n"]=4237,
+ },
+ ["version"]="1.001",
+} \ No newline at end of file
diff --git a/tex/context/patterns/lang-agr.pat b/tex/context/patterns/lang-agr.pat
index 122bcda21..409b8570d 100644
--- a/tex/context/patterns/lang-agr.pat
+++ b/tex/context/patterns/lang-agr.pat
@@ -1,32 +1,10 @@
-% context pattern file, see lang-all.xml for original comment
+% generated by mtxrun --script pattern --convert
-% source of data: grahyph4.tex oldgrhyph.tex
+% for comment and copyright, see e:/tmp/patterns/lang-agr.rme
-% begin description data
+% used: ʼ ΐ ά έ ή ί ΰ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ ς σ τ υ φ χ ψ ω ϊ ϋ ό ύ ώ ϲ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ ἐ ἑ ἒ ἓ ἔ ἕ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ ὀ ὁ ὂ ὃ ὄ ὅ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾲ ᾳ ᾴ ᾶ ᾷ ᾽ ᾿ ῂ ῃ ῄ ῆ ῇ ῒ ΐ ῖ ῗ ῢ ΰ ῤ ῥ ῦ ῧ ῲ ῳ ῴ ῶ ῷ ’
-% <!-- copied from lang-all.xml
-%
-% <?xml version='1.0' standalone='yes'?>
-%
-% <description language='agr'>
-% <sourcefile>grahyph4.tex</sourcefile>
-% <title>TeX hyphenation patterns for the ancient Greek language</title>
-% <copyright>
-% <year>2004</year>
-% <owner>Dimitrios Filippou</owner>
-% <comment>These hyphenation patterns are explained in "ancient.pdf".
-% Hyphenation examples are given in the file "anc-test.pdf".
-% Some doubtful patterns are marked by three question marks "???".</comment>
-% </copyright>
-% </description>
-%
-% end of copy -->
-
-% end description data
-
-% begin pattern data
-
-\patterns {
+\patterns{
α1
ε1
η1
@@ -34,9 +12,128 @@
ο1
υ1
ω1
+ϊ1
+ϋ1
+ἀ1
+ἁ1
+ἂ1
+ἃ1
+ἄ1
+ἅ1
+ἆ1
+ἇ1
+ἐ1
+ἑ1
+ἒ1
+ἓ1
+ἔ1
+ἕ1
+ἠ1
+ἡ1
+ἢ1
+ἣ1
+ἤ1
+ἥ1
+ἦ1
+ἧ1
+ἰ1
+ἱ1
+ἲ1
+ἳ1
+ἴ1
+ἵ1
+ἶ1
+ἷ1
+ὀ1
+ὁ1
+ὂ1
+ὃ1
+ὄ1
+ὅ1
+ὐ1
+ὑ1
+ὒ1
+ὓ1
+ὔ1
+ὕ1
+ὖ1
+ὗ1
+ὠ1
+ὡ1
+ὢ1
+ὣ1
+ὤ1
+ὥ1
+ὦ1
+ὧ1
+ὰ1
+ὲ1
+ὴ1
+ὶ1
+ὸ1
+ὺ1
+ὼ1
+ᾀ1
+ᾁ1
+ᾂ1
+ᾃ1
+ᾄ1
+ᾅ1
+ᾆ1
+ᾇ1
+ᾐ1
+ᾑ1
+ᾒ1
+ᾓ1
+ᾔ1
+ᾕ1
+ᾖ1
+ᾗ1
+ᾠ1
+ᾡ1
+ᾢ1
+ᾣ1
+ᾤ1
+ᾥ1
+ᾦ1
+ᾧ1
+ᾲ1
ᾳ1
+ᾴ1
+ᾶ1
+ᾷ1
+ῂ1
ῃ1
+ῄ1
+ῆ1
+ῇ1
+ῒ1
+ῖ1
+ῗ1
+ῢ1
+ῦ1
+ῧ1
+ῲ1
ῳ1
+ῴ1
+ῶ1
+ῷ1
+ά1
+έ1
+ή1
+ί1
+ό1
+ύ1
+ώ1
+ΐ1
+ΰ1
+ά1
+έ1
+ή1
+ί1
+ό1
+ύ1
+ώ1
α2ι
α2ί
α2ί
@@ -203,6 +300,24 @@
4φ.
4χ.
4ψ.
+4'
+4β'
+4γ'
+4δ'
+4ζ'
+4θ'
+4κ'
+4λ'
+4μ'
+4ν'
+4ξ'
+4π'
+4ρ'
+4σ'
+4τ'
+4φ'
+4χ'
+4ψ'
.β4
.γ4
.δ4
@@ -459,6 +574,55 @@
2ψ1τ
2ψ1φ
2ψ1χ
+4βδ'
+4βλ'
+4βμ'
+4βν'
+4βρ'
+4γδ'
+4γλ'
+4γμ'
+4γν'
+4γρ'
+4δμ'
+4δν'
+4δρ'
+4ζβ'
+4θλ'
+4λμ'
+4θν'
+4θρ'
+4κλ'
+4κμ'
+4κν'
+4κρ'
+4κτ'
+4μν'
+4πλ'
+4πμ'
+4πν'
+4πρ'
+4πτ'
+4σβ'
+4σγ'
+4σδ'
+4σθ'
+4σκ'
+4σμ'
+4σπ'
+4στ'
+4σφ'
+4σχ'
+4φθ'
+4φλ'
+4φμ'
+4φν'
+4φρ'
+4χθ'
+4χλ'
+4χμ'
+4χν'
+4χρ'
ἀγω2ν1άρ
ἀγω2ν1άρ
ἀγω2ν1αρ
@@ -1483,6 +1647,7 @@
ἀ2ν1ῴδ
ἀ2ν1ώδυ
ἀ2ν1ώδυ
+ἀ2ν1ωδύ
ἀ2ν1ωδύ
ἀ2ν1ώι
ἀ2ν1ώι
@@ -2324,7 +2489,9 @@
ἐ3σ2όμ
ἐ3σ2ομ
ἐ3σ2οῦ
+ἐ3σ2ού
ἐ3σ2ού
+ἐ3σ2ου
ἐ3σ2υ
ἐ3σ2ύ
ἐ3σ2ύ
@@ -2873,8 +3040,4 @@
ι2σ1μυριάκις.
ι2σ1μυριάκις.
ι2σ1μυριάκισ.
-ι2σ1μυριάκισ.
-}
-
-% end pattern data
-
+ι2σ1μυριάκισ.} \ No newline at end of file
diff --git a/tex/context/patterns/lang-agr.rme b/tex/context/patterns/lang-agr.rme
new file mode 100644
index 000000000..2e6ba153d
--- /dev/null
+++ b/tex/context/patterns/lang-agr.rme
@@ -0,0 +1,39 @@
+% generated by mtxrun --script pattern --convert
+
+Hyphenation patterns for Ancient Greek
+
+(more info about the licence to be added later)
+
+% ****************************************************************
+%
+% File name: grahyph5-unicode.tex
+%
+% This file was first created by mechanical translation from
+% GRAhyph5.tex via "elhyph-utf8 -a -c" (version 0.1 by Peter
+% Heslin -- p.j.heslin@durham.ac.uk). Some additions were
+% also made by hand.
+%
+% Created: June 6, 2008
+%
+% Hyphenation patterns for Ancient Greek.
+%
+% Created by Dimitrios Filippou with some ideas borrowed from
+% Yannis Haralambous, Kostis Dryllerakis and Claudio Beccari.
+%
+% These hyphenation patterns are explained in "ancient.pdf".
+% Hyphenation examples are given in the file "anc-test.pdf".
+% Some doubtful patterns are marked by three question marks "???".
+%
+% Documentation in English can be found in: D. Filippou,
+% "Hyphenation patterns for Ancient and Modern Greek," in
+% "TeX, XML, and Digital Typography" (A. Syropoulos et al.,
+% eds.), Lecture Notes in Computer Science 3130, Springer-Verlag
+% Berlin-Heidelberg, 2004. ISBN 3-540-22801-2.
+%
+% Thanks to Thomas Schmitz (thomas.schmitz@uni-bonn.de)
+% for pointing out a few mistakes. (Marked by %%%TS%%%)
+%
+% ****************************************************************
+%
+% \message{UTF-8 hyphenation patterns for Ancient Greek}
+%
diff --git a/tex/context/patterns/lang-bg.lua b/tex/context/patterns/lang-bg.lua
index 25d591b8b..9f6bbcabf 100644
--- a/tex/context/patterns/lang-bg.lua
+++ b/tex/context/patterns/lang-bg.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="bg",
- ["source"]="hyph-bg.tex",
- ["texcomment"]="% Bulgarian hyphenation patterns, version 1.7, July 2008\
+ ["source"]="hyph-bg",
+ ["texcomment"]="% Bulgarian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% Bulgarian hyphenation patterns, version 1.7, July 2008\
% Copyright 1994-2008 Georgi Boshnakov\
% Georgi dot Boshnakov at manchester dot ac dot uk\
%\
@@ -46,7 +50,7 @@ return {
% when the language is switched to Bulgarian. Developers who write\
% support for Bulgarian outside LaTeX and/or babel need to take care\
% of this.\
-% ",
+%",
},
["patterns"]={
["characters"]="абвгдежзийклмнопрстуфхцчшщъьюя",
diff --git a/tex/context/patterns/lang-bg.rme b/tex/context/patterns/lang-bg.rme
index 890f04fba..bb232f42f 100644
--- a/tex/context/patterns/lang-bg.rme
+++ b/tex/context/patterns/lang-bg.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Bulgarian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% Bulgarian hyphenation patterns, version 1.7, July 2008
% Copyright 1994-2008 Georgi Boshnakov
% Georgi dot Boshnakov at manchester dot ac dot uk
@@ -40,4 +44,4 @@
% when the language is switched to Bulgarian. Developers who write
% support for Bulgarian outside LaTeX and/or babel need to take care
% of this.
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-ca.lua b/tex/context/patterns/lang-ca.lua
index df6a520d0..f13067e3a 100644
--- a/tex/context/patterns/lang-ca.lua
+++ b/tex/context/patterns/lang-ca.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="ca",
- ["source"]="hyph-ca.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-ca",
+ ["texcomment"]="% Catalan Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: cahyph.tex (2003-09-08)\
diff --git a/tex/context/patterns/lang-ca.rme b/tex/context/patterns/lang-ca.rme
index 656141fbf..11c34acbf 100644
--- a/tex/context/patterns/lang-ca.rme
+++ b/tex/context/patterns/lang-ca.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Catalan Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -122,4 +126,4 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \message{Catalan Hyphenation Patterns `cahyphen' Version 1.11 <2003/07/15>}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-cs.lua b/tex/context/patterns/lang-cs.lua
index e4d5ee55e..ae0fa5ea4 100644
--- a/tex/context/patterns/lang-cs.lua
+++ b/tex/context/patterns/lang-cs.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="cs",
- ["source"]="hyph-cs.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-cs",
+ ["texcomment"]="% Czech Hyphenation Patterns (Pavel Sevecek, v3, 1995)\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: czhyphen.tex (), czhyphen.ex ()\
diff --git a/tex/context/patterns/lang-cs.rme b/tex/context/patterns/lang-cs.rme
index 672dac5a9..3fd4c78a6 100644
--- a/tex/context/patterns/lang-cs.rme
+++ b/tex/context/patterns/lang-cs.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Czech Hyphenation Patterns (Pavel Sevecek, v3, 1995)
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -82,4 +86,4 @@
% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
%%% --------------------------------------------------------------------
% \message {Czech Hyphenation Patterns (Pavel Sevecek, v3, 1995)}
-%\lefthyphenmin=2\righthyphenmin=2 \ No newline at end of file
+%\lefthyphenmin=2\righthyphenmin=2
diff --git a/tex/context/patterns/lang-cy.lua b/tex/context/patterns/lang-cy.lua
index 08f1f2915..e467a348c 100644
--- a/tex/context/patterns/lang-cy.lua
+++ b/tex/context/patterns/lang-cy.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="cy",
- ["source"]="hyph-cy.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-cy",
+ ["texcomment"]="% Welsh Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: cyhyph.tex ()\
diff --git a/tex/context/patterns/lang-cy.rme b/tex/context/patterns/lang-cy.rme
index 7a7ed6640..e921b877f 100644
--- a/tex/context/patterns/lang-cy.rme
+++ b/tex/context/patterns/lang-cy.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Welsh Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -61,4 +65,4 @@
%------------------------------------------------------------------------------
%
% Welsh patterns
-% Yannis Haralambous 1996 \ No newline at end of file
+% Yannis Haralambous 1996
diff --git a/tex/context/patterns/lang-da.lua b/tex/context/patterns/lang-da.lua
index 0832de69c..e6b356716 100644
--- a/tex/context/patterns/lang-da.lua
+++ b/tex/context/patterns/lang-da.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="da",
- ["source"]="hyph-da.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-da",
+ ["texcomment"]="% Danish Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: dkcommon.tex (yyyy-mm-dd), dkspecial.tex (yyyy-mm-dd)\
diff --git a/tex/context/patterns/lang-da.rme b/tex/context/patterns/lang-da.rme
index 2b9c01b54..b8de3bf19 100644
--- a/tex/context/patterns/lang-da.rme
+++ b/tex/context/patterns/lang-da.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Danish Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -71,4 +75,4 @@
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2003/12/01 or later.
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-de.lua b/tex/context/patterns/lang-de.lua
index 14653897f..215270418 100644
--- a/tex/context/patterns/lang-de.lua
+++ b/tex/context/patterns/lang-de.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="de",
- ["source"]="hyph-de-1996.tex",
- ["texcomment"]="% dehyphn-x-2009-06-19.pat\
+ ["source"]="hyph-de-1996",
+ ["texcomment"]="% German Hyphenation Patterns (Reformed Orthography)\
+% \
+% (more info about the licence to be added later)\
+% \
+% dehyphn-x-2009-06-19.pat\
% \
% \\message{German Hyphenation Patterns (Reformed Orthography, 2006) `dehyphn-x' 2009-06-19 (WL)}\
% \
@@ -34,7 +38,8 @@ return {
% 5 5 | 2 7 | 1 1 1\
% 6 6 | 2 7 | 1 6 1\
% 7 7 | 2 13 | 1 4 1\
-% 8 8 | 2 13 | 1 8 1",
+% 8 8 | 2 13 | 1 8 1\
+% ",
},
["patterns"]={
["characters"]="abcdefghijklmnopqrstuvwxyzßàáâäçèéêëíñóôöü",
diff --git a/tex/context/patterns/lang-de.rme b/tex/context/patterns/lang-de.rme
index ac6e14344..2fa886b6b 100644
--- a/tex/context/patterns/lang-de.rme
+++ b/tex/context/patterns/lang-de.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+German Hyphenation Patterns (Reformed Orthography)
+
+(more info about the licence to be added later)
+
% dehyphn-x-2009-06-19.pat
\message{German Hyphenation Patterns (Reformed Orthography, 2006) `dehyphn-x' 2009-06-19 (WL)}
@@ -29,3 +33,4 @@
% 6 6 | 2 7 | 1 6 1
% 7 7 | 2 13 | 1 4 1
% 8 8 | 2 13 | 1 8 1
+
diff --git a/tex/context/patterns/lang-deo.lua b/tex/context/patterns/lang-deo.lua
index 10ba74d1a..ca01106bf 100644
--- a/tex/context/patterns/lang-deo.lua
+++ b/tex/context/patterns/lang-deo.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="deo",
- ["source"]="hyph-de-1901.tex",
- ["texcomment"]="% dehypht-x-2009-06-19.pat\
+ ["source"]="hyph-de-1901",
+ ["texcomment"]="% German Hyphenation Patterns (Traditional Orthography)\
+% \
+% (more info about the licence to be added later)\
+% \
+% dehypht-x-2009-06-19.pat\
% \
% \\message{German Hyphenation Patterns (Traditional Orthography) `dehypht-x' 2009-06-19 (WL)}\
% \
@@ -34,7 +38,8 @@ return {
% 5 5 | 2 7 | 1 1 1\
% 6 6 | 2 7 | 1 6 1\
% 7 7 | 2 13 | 1 4 1\
-% 8 8 | 2 13 | 1 8 1",
+% 8 8 | 2 13 | 1 8 1\
+% ",
},
["patterns"]={
["characters"]="abcdefghijklmnopqrstuvwxyzßàáâäçèéêëíñóôöü",
diff --git a/tex/context/patterns/lang-deo.rme b/tex/context/patterns/lang-deo.rme
index b3a2b69cc..11d9ea01c 100644
--- a/tex/context/patterns/lang-deo.rme
+++ b/tex/context/patterns/lang-deo.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+German Hyphenation Patterns (Traditional Orthography)
+
+(more info about the licence to be added later)
+
% dehypht-x-2009-06-19.pat
\message{German Hyphenation Patterns (Traditional Orthography) `dehypht-x' 2009-06-19 (WL)}
@@ -29,3 +33,4 @@
% 6 6 | 2 7 | 1 6 1
% 7 7 | 2 13 | 1 4 1
% 8 8 | 2 13 | 1 8 1
+
diff --git a/tex/context/patterns/lang-es.lua b/tex/context/patterns/lang-es.lua
index c8157a3a3..6df284ea1 100644
--- a/tex/context/patterns/lang-es.lua
+++ b/tex/context/patterns/lang-es.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="es",
- ["source"]="hyph-es.tex",
- ["texcomment"]="% DIVISI'ON DE PALABRAS\
+ ["source"]="hyph-es",
+ ["texcomment"]="% Spanish Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% DIVISI'ON DE PALABRAS\
% ~~~~~~~~~~~~~~~~~~~~~\
% hyph-es.tex 4.6\
% This files corresponds to eshyph.tex 4.6.\
diff --git a/tex/context/patterns/lang-es.rme b/tex/context/patterns/lang-es.rme
index eab0c4485..237969d3d 100644
--- a/tex/context/patterns/lang-es.rme
+++ b/tex/context/patterns/lang-es.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Spanish Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% DIVISI'ON DE PALABRAS
% ~~~~~~~~~~~~~~~~~~~~~
% hyph-es.tex 4.6
@@ -23,3 +27,4 @@
% Javier Bezos | http://www.cervantex.es/
% .............................................................
% TeX y tipografia | http://www.tex-tipografia.com/
+
diff --git a/tex/context/patterns/lang-et.lua b/tex/context/patterns/lang-et.lua
index 230056194..e66cfe910 100644
--- a/tex/context/patterns/lang-et.lua
+++ b/tex/context/patterns/lang-et.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="et",
- ["source"]="hyph-et.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-et",
+ ["texcomment"]="% Estonian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: eehyph.tex (2004-04-13)\
diff --git a/tex/context/patterns/lang-et.rme b/tex/context/patterns/lang-et.rme
index 366ddcb90..38c21f4ad 100644
--- a/tex/context/patterns/lang-et.rme
+++ b/tex/context/patterns/lang-et.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Estonian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -77,4 +81,4 @@
% an Estonian dictionary; a few patterns were added later manually
% to prohibit aa-bits type cases.
% Declare the special characters
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-eu.lua b/tex/context/patterns/lang-eu.lua
index 47e1a96c4..633cdf701 100644
--- a/tex/context/patterns/lang-eu.lua
+++ b/tex/context/patterns/lang-eu.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="eu",
- ["source"]="hyph-eu.tex",
- ["texcomment"]="% Hyphenation patterns for Basque.\
+ ["source"]="hyph-eu",
+ ["texcomment"]="% Basque Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% Hyphenation patterns for Basque.\
%\
% This file has first been written by Juan M. Aguirregabiria\
% (juanmari.aguirregabiria@ehu.es) on February 1997 based on the\
@@ -48,7 +52,7 @@ return {
% Some of the patterns below represent combinations that never\
% happen in Basque. Would they happen, they would be hyphenated\
% according to the rules.\
-% ",
+%",
},
["patterns"]={
["characters"]="abcdefgijklmnopqrstuvwxyzñ",
diff --git a/tex/context/patterns/lang-eu.rme b/tex/context/patterns/lang-eu.rme
index 9ad59af7d..7f18201e6 100644
--- a/tex/context/patterns/lang-eu.rme
+++ b/tex/context/patterns/lang-eu.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Basque Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% Hyphenation patterns for Basque.
%
% This file has first been written by Juan M. Aguirregabiria
@@ -42,4 +46,4 @@
% Some of the patterns below represent combinations that never
% happen in Basque. Would they happen, they would be hyphenated
% according to the rules.
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-fi.lua b/tex/context/patterns/lang-fi.lua
index c17a9a63a..92c0a3910 100644
--- a/tex/context/patterns/lang-fi.lua
+++ b/tex/context/patterns/lang-fi.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="fi",
- ["source"]="hyph-fi.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-fi",
+ ["texcomment"]="% Finnish Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: fihyph.tex (yyyy-mm-dd)\
diff --git a/tex/context/patterns/lang-fi.rme b/tex/context/patterns/lang-fi.rme
index e41b98a9e..624b72ddc 100644
--- a/tex/context/patterns/lang-fi.rme
+++ b/tex/context/patterns/lang-fi.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Finnish Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -75,4 +79,4 @@
%
% ********* Patterns may be freely distributed **********
%
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-fr.lua b/tex/context/patterns/lang-fr.lua
index 01c41b64b..e465dfcfe 100644
--- a/tex/context/patterns/lang-fr.lua
+++ b/tex/context/patterns/lang-fr.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="fr",
- ["source"]="hyph-fr.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-fr",
+ ["texcomment"]="% French hyphenation patterns (V2.12, 2002/12/11)\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: frhyph.tex <2006-10-20>\
@@ -112,11 +116,11 @@ return {
%",
},
["patterns"]={
- ["characters"]="abcdefghijklmnopqrstuvwxyzàâçèéêîïôûœ",
- ["data"]=".a4 .â4 ab2h .ab3réa ad2h a1è2dre .ae3s4ch 1alcool a2l1algi .amino1a2c .ana3s4tr 1a2nesthési .anti1a2 .anti1e2 .anti1é2 .anti2enne .anti1s2 .apo2s3ta apo2s3tr archi1é2pis .as2ta a2s3tro 1ba 1bâ .bai2se3main 1be 1bé 1bè 1bê 4be. 4bes. 2bent. 1bi 1bî .bi1a2c .bi1a2t .bi1au .bio1a2 .bi2s1a2 .bi1u2 1b2l 4ble. 4bles. 2blent. 1bo 1bô 1b2r 4bre. 4bres. 2brent. 1bu 1bû 1by 1ç 1ca 1câ ca3ou3t2 1ce 1cé 1cè 1cê 4ce. 4ces. 2cent. ja3cent. ac3cent. é3cent. munifi3cent. réti3cent. privatdo3cent. inno3cent. es3cent. acquies4cent. is3cent. immis4cent. .ch4 1c2h 4ch. 2chb 4che. 4ches. 2chent. .chè2vre3feuille 2chg ch2l 4chle. 4chles. chlo2r3a2c chlo2r3é2t 2chm 2chn 2chp ch2r 4chre. 4chres. 2chs 2cht 2chw 1ci 1cî .ci2s1alp 1c2k 4ck. 2ckb 4cke. 4ckes. 2ckent. 2ckf 2ckg 2ck3h 2ckp 2cks 2ckt 1c2l 4cle. 4cles. 2clent. 1co 1cô co1acc co1acq co1a2d co1ap co1ar co1assoc co1assur co1au co1ax 1cœ co1é2 co1ef co1en co1ex .con4 .cons4 .contre1s2c .contre3maître co2nurb .co1o2 .co2o3lie 1c2r 4cre. 4cres. 2crent. 1cu 1cû 1cy .cul4 1da 1dâ .dacryo1a2 d1d2h 1de 1dé 1dè 1dê 4de. 4des. 2dent. déca3dent. é3dent. cci3dent. inci3dent. confi3dent. tri3dent. dissi3dent. chien3dent. .ar3dent. impu3dent. pru3dent. .dé1a2 .dé1io .dé1o2 .dé2s .dé3s2a3cr .dés2a3m .dé3s2a3tell .dé3s2astr .dé3s2c .dé2s1é2 .dé3s2é3gr .dé3s2ensib .dé3s2ert .dé3s2exu .dé2s1i2 .dé3s2i3d .dé3s2i3gn .dé3s2i3li .dé3s2i3nen .dé3s2invo .dé3s2i3r .dé3s2ist .dé3s2o3dé .dé2s1œ .dé3s2o3l .dé3s2o3pil .dé3s2orm .dé3s2orp .dé3s2oufr .dé3s2p .dé3s2t .dé2s1u2n 3d2hal 3d2houd 1di 1dî di2s3cop .di1a2cé .di1a2cid .di1ald .di1a2mi .di1a2tom .di1e2n .di2s3h 2dlent. 1do 1dô 1d2r 4dre. 4dres. 2drent. d1s2 1du 1dû 1dy .dy2s3 .dy2s1a2 .dy2s1i2 .dy2s1o2 .dy2s1u2 .e4 .ê4 .é4 .è4 éd2hi 1é2drie 1é2drique 1é2lectr 1é2lément .en1a2 1é2nerg e2n1i2vr .en1o2 épi2s3cop épi3s4cope e2s3cop .eu2r1a2 eu1s2tat extra1 extra2c extra2i 1fa 1fâ 1fe 1fé 1fè 1fê 4fe. 4fes. 2fent. 1fi 1fî 1f2l 4fle. 4fles. 2flent. 1fo 1fô 1f2r 4fre. 4fres. 2frent. f1s2 1fu 1fû 1fy 1ga 1gâ 1ge 1gé 1gè 1gê 4ge. 4ges. 2gent. ré3gent. entre3gent. indi3gent. dili3gent. intelli3gent. indul3gent. tan3gent. rin3gent. contin3gent. .ar3gent. ser3gent. ter3gent. résur3gent. 1g2ha 1g2he 1g2hi 1g2ho 1g2hy 1gi 1gî 1g2l 4gle. 4gles. 2glent. 1g2n .a2g3nat a2g3nos co2g3niti .i2g3né .i2g3ni .ma2g3nicide .ma2g3nificat .ma2g3num o2g3nomoni o2g3nosi .pro2g3nath pu2g3nable pu2g3nac .sta2g3n .syn2g3nath wa2g3n 4gne. 4gnes. 2gnent. 1go 1gô 1g2r 4gre. 4gres. 2grent. 1gu 1gû g1s2 4gue. 4gues. 2guent. .on3guent. 1gy 1ha 1hâ 1he 1hé 1hè 1hê hémi1é hémo1p2t 4he. 4hes. 1hi 1hî 1ho 1hô 1hu 1hû 1hy hypera2 hypere2 hyperé2 hyperi2 hypero2 hypers2 hype4r1 hyperu2 hypo1a2 hypo1e2 hypo1é2 hypo1i2 hypo1o2 hypo1s2 hypo1u2 .i4 .î4 i1algi i1arthr i1è2dre il2l cil3l rcil4l ucil4l vacil4l gil3l hil3l lil3l l3lion mil3l mil4let émil4l semil4l rmil4l armil5l capil3l papil3la papil3le papil3li papil3lom pupil3l piril3l thril3l cyril3l ibril3l pusil3l .stil3l distil3l instil3l fritil3l boutil3l vanil3lin vanil3lis vil3l avil4l chevil4l uevil4l uvil4l xil3l 1informat .in1a2 .in2a3nit .in2augur .in1e2 .in1é2 .in2effab .in2é3lucta .in2é3narra .in2ept .in2er .in2exora .in1i2 .in2i3miti .in2i3q .in2i3t .in1o2 .in2o3cul .in2ond .in1s2tab .intera2 .intere2 .interé2 .interi2 .intero2 .inte4r3 .interu2 .inters2 .in1u2 .in2uit .in2u3l io1a2ct i1oxy i1s2tat 1j 2jk 4je. 4jes. 2jent. 1ka 1kâ 1ke 1ké 1kè 1kê 4ke. 4kes. 2kent. 1k2h 4kh. .kh4 1ki 1kî 1ko 1kô 1k2r 1ku 1kû 1ky 1la 1lâ 1là la2w3re 1le 1lé 1lè 1lê 4le. 4les. 2lent. .ta3lent. iva3lent. équiva4lent. monova3lent. polyva3lent. re3lent. .do3lent. indo3lent. inso3lent. turbu3lent. succu3lent. fécu3lent. trucu3lent. opu3lent. corpu3lent. ru3lent. sporu4lent. 1li 1lî 1lo 1lô l1s2t 1lu 1lû 1ly 1ma 1mâ .ma2c3k .macro1s2c .ma2l1a2dres .ma2l1a2dro .ma2l1aisé .ma2l1ap .ma2l1a2v .ma2l1en .ma2l1int .ma2l1oc .ma2l1o2d .ma2r1x 1me 1mé 1mè 1mê .mé2g1oh .mé2sa .mé3san .mé2s1es .mé2s1i .mé2s1u2s .méta1s2ta 4me. 4mes. â2ment. da2ment. fa2ment. amalga2ment. cla2ment. ra2ment. tempéra3ment. ta2ment. testa3ment. qua2ment. è2ment. carê2ment. diaphrag2ment. ryth2ment. ai2ment. rai3ment. abî2ment. éci2ment. vidi2ment. subli2ment. éli2ment. reli2ment. mi2ment. ani2ment. veni2ment. ri2ment. détri3ment. nutri3ment. inti2ment. esti2ment. l2ment. flam2ment. gram2ment. .gem2ment. om2ment. .com3ment. ô2ment. slalo2ment. chro2ment. to2ment. ar2ment. .sar3ment. er2ment. antifer3ment. .ser3ment. fir2ment. or2ment. as2ment. au2ment. écu2ment. fu2ment. hu2ment. fichu3ment. llu2ment. plu2ment. bou2ment. bru2ment. su2ment. tu2ment. 1mi 1mî .milli1am 1m2némo 1m2nès 1m2nési 1mo 1mô 1mœ .mono1a2 .mono1e2 .mono1é2 .mono1i2 .mono1ï2dé .mono1o2 .mono1u2 .mono1s2 mon2t3réal m1s2 1mu 1mû 1my moye2n1â2g 1na 1nâ 1ne 1né 1nè 1nê 4ne. 4nes. 2nent. réma3nent. imma3nent. perma3nent. .émi3nent. préémi3nent. proémi3nent. surémi3nent. immi3nent. conti3nent. perti3nent. absti3nent. 1ni 1nî 1no 1nô 1nœ .no2n1obs 1nu 1nû n3s2at. n3s2ats. n1x 1ny .o4 .ô4 o2b3long 1octet o1d2l o1è2dre o1ioni ombud2s3 omni1s2 o1s2tas o1s2tat o1s2téro o1s2tim o1s2tom o1s2trad o1s2tratu o1s2triction .oua1ou .ovi1s2c oxy1a2 1pa 1pâ paléo1é2 .pa2n1a2f .pa2n1a2mé .pa2n1a2ra .pa2n1is .pa2n1o2ph .pa2n1opt .pa2r1a2che .pa2r1a2chè .para1s2 .pa2r3hé 1pe 1pé 1pè 1pê 4pe. 4pes. 2pent. re3pent. .ar3pent. ser3pent. .pen2ta per3h pé2nul .pe4r .per1a2 .per1e2 .per1é2 .per1i2 .per1o2 .per1u2 pé1r2é2q .péri1os .péri1s2 .péri2s3s .péri2s3ta .péri1u2 1p2h .ph4 4ph. .phalan3s2t 4phe. 4phes. 2phent. ph2l 4phle. 4phles. 2phn photo1s2 ph2r 4phre. 4phres. 2phs 2pht 3ph2talé 3ph2tis 1pi 1pî 1p2l 4ple. 4ples. 2plent. .pluri1a 1p2né 1p2neu 1po 1pô po1astre poly1a2 poly1e2 poly1é2 poly1è2 poly1i2 poly1o2 poly1s2 poly1u2 .pon2tet .pos2t3h .pos2t1in .pos2t1o2 .pos2t3r .post1s2 1p2r 4pre. 4pres. 2prent. .pré1a2 .pré2a3la .pré2au .pré1é2 .pré1e2 .pré1i2 .pré1o2 .pré1u2 .pré1s2 .pro1é2 .pro1s2cé pro2s3tat .prou3d2h 1p2sych .psycho1a2n 1p2tèr 1p2tér 1pu .pud1d2l 1pû 1py 1q 4que. 4ques. 2quent. é3quent. élo3quent. grandilo3quent. 1ra 1râ radio1a2 1re 1ré 1rè 1rê .ré1a2 .ré2a3le .ré2a3lis .ré2a3lit .ré2aux .ré1é2 .ré1e2 .ré2el .ré2er .ré2èr .ré1i2 .ré2i3fi .ré1o2 .re1s2 .re2s3cap .re2s3cisi .re2s3ciso .re2s3cou .re2s3cri .re2s3pect .re2s3pir .re2s3plend .re2s3pons .re2s3quil .re2s3s .re2s3t .re3s4tab .re3s4tag .re3s4tand .re3s4tat .re3s4tén .re3s4tér .re3s4tim .re3s4tip .re3s4toc .re3s4top .re3s4tr .re4s5trein .re4s5trict .re4s5trin .re3s4tu .re3s4ty .réu2 .ré2uss .rétro1a2 4re. 4res. 2rent. .pa3rent. appa3rent. transpa3rent. é3rent. tor3rent. cur3rent. 1r2h 4rhe. 4rhes. 2r3heur 2r3hydr 1ri 1rî 1ro 1rô 1ru 1rû 1ry 1sa 1sâ .sch4 1s2caph 1s2clér 1s2cop 1s2ch e2s3ch i2s3ché i2s3chia i2s3chio 4sch. 4sche. 4sches. 2schs 1se 1sé 1sè 1sê sesqui1a2 4se. 4ses. 2sent. ab3sent. pré3sent. .res3sent. .seu2le .sh4 1s2h 4sh. 4she. 4shes. 2shent. 2shm 2s3hom 2shr 2shs 1si 1sî 1s2lav 1s2lov 1so 1sô 1sœ 1s2patia 1s2perm 1s2por 1s2phèr 1s2phér 1s2piel 1s2piros 1s2tandard 1s2tein stéréo1s2 1s2tigm 1s2tock 1s2tomos 1s2troph 1s2tructu 1s2tyle 1su 1sû .su2b1a2 .su3b2alt .su2b1é2 .su3b2é3r .su2b1in .su2b3limin .su2b3lin .su2b3lu sub1s2 .su2b1ur supero2 supe4r1 supers2 .su2r1a2 su3r2ah .su3r2a3t .su2r1e2 .su3r2eau .su3r2ell .su3r2et .su2r1é2 .su2r3h .su2r1i2m .su2r1inf .su2r1int .su2r1of .su2r1ox 1sy 1ta 1tâ 1tà tachy1a2 tchin3t2 1te 1té 1tè 1tê télé1e2 télé1i2 télé1o2b télé1o2p télé1s2 4te. 4tes. 2tent. .la3tent. .pa3tent. compé3tent. éni3tent. mécon3tent. omnipo3tent. ventripo3tent. équipo3tent. impo3tent. mit3tent. .th4 1t2h 4th. 4the. 4thes. thermo1s2 2t3heur 2thl 2thm 2thn th2r 4thre. 4thres. 2ths 1ti 1tî 1to 1tô 1t2r tran2s1a2 tran3s2act tran3s2ats tran2s3h tran2s1o2 tran2s3p tran2s1u2 4tre. 4tres. 2trent. .tri1a2c .tri1a2n .tri1a2t .tri1o2n t1t2l 1tu 1tû tung2s3 1ty .u4 .û4 uni1o2v uni1a2x u2s3tr 1va 1vâ 1ve 1vé 1vè 1vê vélo1s2ki 4ve. 4ves. 2vent. conni3vent. .sou3vent. 1vi 1vî 1vo 1vô vol2t1amp 1v2r 4vre. 4vres. 2vrent. 1vu 1vû 1vy 1wa 1we 4we. 4wes. 2went. 1wi 1wo 1wu 1w2r 2xent. .y4 y1asth y1s2tom y1algi 1za 1ze 1zé 1zè 4ze. 4zes. 2zent. privatdo3zent. 1zi 1zo 1zu 1zy",
+ ["characters"]="abcdefghijklmnopqrstuvwxyzàâçèéêîïôûœ’",
+ ["data"]="2’2 .a4 ’a4 .â4 ’â4 ab2h .ab3réa ’ab3réa ad2h a1è2dre .ae3s4ch ’ae3s4ch 1alcool a2l1algi .amino1a2c ’amino1a2c .ana3s4tr ’ana3s4tr 1a2nesthési .anti1a2 ’anti1a2 .anti1e2 ’anti1e2 .anti1é2 .anti2enne ’anti2enne ’anti1é2 .anti1s2 ’anti1s2 .apo2s3ta ’apo2s3ta apo2s3tr archi1é2pis .as2ta ’as2ta a2s3tro 1ba 1bâ .bai2se3main 1be 1bé 1bè 1bê 4be. 4bes. 2bent. 1bi 1bî .bi1a2c .bi1a2t .bi1au .bio1a2 .bi2s1a2 .bi1u2 1b2l 4ble. 4bles. 2blent. 1bo 1bô 1b2r 4bre. 4bres. 2brent. 1bu 1bû 1by 1ç 1ca 1câ ca3ou3t2 1ce 1cé 1cè 1cê 4ce. 4ces. 2cent. ja3cent. ac3cent. é3cent. munifi3cent. réti3cent. privatdo3cent. inno3cent. es3cent. acquies4cent. is3cent. immis4cent. .ch4 1c2h 4ch. 2chb 4che. 4ches. 2chent. .chè2vre3feuille 2chg ch2l 4chle. 4chles. chlo2r3a2c chlo2r3é2t 2chm 2chn 2chp ch2r 4chre. 4chres. 2chs 2cht 2chw 1ci 1cî .ci2s1alp 1c2k 4ck. 2ckb 4cke. 4ckes. 2ckent. 2ckf 2ckg 2ck3h 2ckp 2cks 2ckt 1c2l 4cle. 4cles. 2clent. 1co 1cô co1acc co1acq co1a2d co1ap co1ar co1assoc co1assur co1au co1ax 1cœ co1é2 co1ef co1en co1ex .con4 .cons4 .contre1s2c .contre3maître co2nurb .co1o2 .co2o3lie 1c2r 4cre. 4cres. 2crent. 1cu 1cû 1cy .cul4 1d’ 1da 1dâ .dacryo1a2 d1d2h 1de 1dé 1dè 1dê 4de. 4des. 2dent. déca3dent. é3dent. cci3dent. inci3dent. confi3dent. tri3dent. dissi3dent. chien3dent. .ar3dent. impu3dent. pru3dent. .dé1a2 .dé1io .dé1o2 .dé2s .dé3s2a3cr .dés2a3m .dé3s2a3tell .dé3s2astr .dé3s2c .dé2s1é2 .dé3s2é3gr .dé3s2ensib .dé3s2ert .dé3s2exu .dé2s1i2 .dé3s2i3d .dé3s2i3gn .dé3s2i3li .dé3s2i3nen .dé3s2invo .dé3s2i3r .dé3s2ist .dé3s2o3dé .dé2s1œ .dé3s2o3l .dé3s2o3pil .dé3s2orm .dé3s2orp .dé3s2oufr .dé3s2p .dé3s2t .dé2s1u2n 3d2hal 3d2houd 1di 1dî di2s3cop .di1a2cé .di1a2cid .di1ald .di1a2mi .di1a2tom .di1e2n .di2s3h 2dlent. 1do 1dô 1d2r 4dre. 4dres. 2drent. d1s2 1du 1dû 1dy .dy2s3 .dy2s1a2 .dy2s1i2 .dy2s1o2 .dy2s1u2 .e4 ’e4 .ê4 ’ê4 .é4 ’é4 .è4 ’è4 éd2hi 1é2drie 1é2drique 1é2lectr 1é2lément .en1a2 ’en1a2 1é2nerg e2n1i2vr .en1o2 ’en1o2 épi2s3cop épi3s4cope e2s3cop .eu2r1a2 ’eu2r1a2 eu1s2tat extra1 extra2c extra2i 1fa 1fâ 1fe 1fé 1fè 1fê 4fe. 4fes. 2fent. 1fi 1fî 1f2l 4fle. 4fles. 2flent. 1fo 1fô 1f2r 4fre. 4fres. 2frent. f1s2 1fu 1fû 1fy 1ga 1gâ 1ge 1gé 1gè 1gê 4ge. 4ges. 2gent. ré3gent. entre3gent. indi3gent. dili3gent. intelli3gent. indul3gent. tan3gent. rin3gent. contin3gent. .ar3gent. ’ar3gent. ser3gent. ter3gent. résur3gent. 1g2ha 1g2he 1g2hi 1g2ho 1g2hy 1gi 1gî 1g2l 4gle. 4gles. 2glent. 1g2n ’a2g3nat .a2g3nat a2g3nos co2g3niti ’i2g3né .i2g3né ’i2g3ni .i2g3ni .ma2g3nicide .ma2g3nificat .ma2g3num o2g3nomoni o2g3nosi .pro2g3nath pu2g3nable pu2g3nac .sta2g3n .syn2g3nath wa2g3n 4gne. 4gnes. 2gnent. 1go 1gô 1g2r 4gre. 4gres. 2grent. 1gu 1gû g1s2 4gue. 4gues. 2guent. .on3guent. ’on3guent. 1gy 1ha 1hâ 1he 1hé 1hè 1hê hémi1é hémo1p2t 4he. 4hes. 1hi 1hî 1ho 1hô 1hu 1hû 1hy hypera2 hypere2 hyperé2 hyperi2 hypero2 hypers2 hype4r1 hyperu2 hypo1a2 hypo1e2 hypo1é2 hypo1i2 hypo1o2 hypo1s2 hypo1u2 .i4 ’i4 .î4 ’î4 i1algi i1arthr i1è2dre il2l cil3l rcil4l ucil4l vacil4l gil3l hil3l lil3l l3lion mil3l mil4let émil4l semil4l rmil4l armil5l capil3l papil3la papil3le papil3li papil3lom pupil3l piril3l thril3l cyril3l ibril3l pusil3l .stil3l distil3l instil3l fritil3l boutil3l vanil3lin vanil3lis vil3l avil4l chevil4l uevil4l uvil4l xil3l 1informat .in1a2 ’in1a2 .in2a3nit ’in2a3nit .in2augur ’in2augur .in1e2 ’in1e2 .in1é2 ’in1é2 .in2effab ’in2effab .in2é3lucta ’in2é3lucta .in2é3narra ’in2é3narra .in2ept ’in2ept .in2er ’in2er .in2exora ’in2exora .in1i2 ’in1i2 .in2i3miti ’in2i3miti .in2i3q ’in2i3q .in2i3t ’in2i3t .in1o2 ’in1o2 .in2o3cul ’in2o3cul .in2ond ’in2ond .in1s2tab ’in1s2tab ’inte4r3 .intera2 ’intera2 .intere2 ’intere2 .interé2 ’interé2 .interi2 ’interi2 .intero2 ’intero2 .inte4r3 .interu2 ’interu2 .inters2 ’inters2 .in1u2 ’in1u2 .in2uit ’in2uit .in2u3l ’in2u3l io1a2ct i1oxy i1s2tat 1j 2jk 4je. 4jes. 2jent. 1ka 1kâ 1ke 1ké 1kè 1kê 4ke. 4kes. 2kent. 1k2h 4kh. .kh4 1ki 1kî 1ko 1kô 1k2r 1ku 1kû 1ky 1la 1lâ 1là la2w3re 1le 1lé 1lè 1lê 4le. 4les. 2lent. .ta3lent. iva3lent. équiva4lent. monova3lent. polyva3lent. re3lent. .do3lent. indo3lent. inso3lent. turbu3lent. succu3lent. fécu3lent. trucu3lent. opu3lent. corpu3lent. ru3lent. sporu4lent. 1li 1lî 1lo 1lô l1s2t 1lu 1lû 1ly 1ma 1mâ .ma2c3k .macro1s2c .ma2l1a2dres .ma2l1a2dro .ma2l1aisé .ma2l1ap .ma2l1a2v .ma2l1en .ma2l1int .ma2l1oc .ma2l1o2d .ma2r1x 1me 1mé 1mè 1mê .mé2g1oh .mé2sa .mé3san .mé2s1es .mé2s1i .mé2s1u2s .méta1s2ta 4me. 4mes. â2ment. da2ment. fa2ment. amalga2ment. cla2ment. ra2ment. tempéra3ment. ta2ment. testa3ment. qua2ment. è2ment. carê2ment. diaphrag2ment. ryth2ment. ai2ment. rai3ment. abî2ment. éci2ment. vidi2ment. subli2ment. éli2ment. reli2ment. mi2ment. ani2ment. veni2ment. ri2ment. détri3ment. nutri3ment. inti2ment. esti2ment. l2ment. flam2ment. gram2ment. .gem2ment. om2ment. .com3ment. ô2ment. slalo2ment. chro2ment. to2ment. ar2ment. .sar3ment. er2ment. antifer3ment. .ser3ment. fir2ment. or2ment. as2ment. au2ment. écu2ment. fu2ment. hu2ment. fichu3ment. llu2ment. plu2ment. bou2ment. bru2ment. su2ment. tu2ment. 1mi 1mî .milli1am 1m2némo 1m2nès 1m2nési 1mo 1mô 1mœ .mono1a2 .mono1e2 .mono1é2 .mono1i2 .mono1ï2dé .mono1o2 .mono1u2 .mono1s2 mon2t3réal m1s2 1mu 1mû 1my moye2n1â2g 1na 1nâ 1ne 1né 1nè 1nê 4ne. 4nes. 2nent. réma3nent. imma3nent. perma3nent. .émi3nent. préémi3nent. proémi3nent. surémi3nent. immi3nent. conti3nent. perti3nent. absti3nent. 1ni 1nî 1no 1nô 1nœ .no2n1obs 1nu 1nû n3s2at. n3s2ats. n1x 1ny .o4 ’o4 ’ô4 .ô4 o2b3long 1octet o1d2l o1è2dre o1ioni ombud2s3 omni1s2 o1s2tas o1s2tat o1s2téro o1s2tim o1s2tom o1s2trad o1s2tratu o1s2triction .oua1ou ’oua1ou .ovi1s2c ’ovi1s2c oxy1a2 1pa 1pâ paléo1é2 .pa2n1a2f .pa2n1a2mé .pa2n1a2ra .pa2n1is .pa2n1o2ph .pa2n1opt .pa2r1a2che .pa2r1a2chè .para1s2 .pa2r3hé 1pe 1pé 1pè 1pê 4pe. 4pes. 2pent. re3pent. .ar3pent. ’ar3pent. ser3pent. .pen2ta per3h pé2nul .pe4r .per1a2 .per1e2 .per1é2 .per1i2 .per1o2 .per1u2 pé1r2é2q .péri1os .péri1s2 .péri2s3s .péri2s3ta .péri1u2 1p2h .ph4 4ph. .phalan3s2t 4phe. 4phes. 2phent. ph2l 4phle. 4phles. 2phn photo1s2 ph2r 4phre. 4phres. 2phs 2pht 3ph2talé 3ph2tis 1pi 1pî 1p2l 4ple. 4ples. 2plent. .pluri1a 1p2né 1p2neu 1po 1pô po1astre poly1a2 poly1e2 poly1é2 poly1è2 poly1i2 poly1o2 poly1s2 poly1u2 .pon2tet .pos2t3h .pos2t1in .pos2t1o2 .pos2t3r .post1s2 1p2r 4pre. 4pres. 2prent. .pré1a2 .pré2a3la .pré2au .pré1é2 .pré1e2 .pré1i2 .pré1o2 .pré1u2 .pré1s2 .pro1é2 .pro1s2cé pro2s3tat .prou3d2h 1p2sych .psycho1a2n 1p2tèr 1p2tér 1pu .pud1d2l 1pû 1py 1q 4que. 4ques. 2quent. é3quent. élo3quent. grandilo3quent. 1ra 1râ radio1a2 1re 1ré 1rè 1rê .ré1a2 .ré2a3le .ré2a3lis .ré2a3lit .ré2aux .ré1é2 .ré1e2 .ré2el .ré2er .ré2èr .ré1i2 .ré2i3fi .ré1o2 .re1s2 .re2s3cap .re2s3cisi .re2s3ciso .re2s3cou .re2s3cri .re2s3pect .re2s3pir .re2s3plend .re2s3pons .re2s3quil .re2s3s .re2s3t .re3s4tab .re3s4tag .re3s4tand .re3s4tat .re3s4tén .re3s4tér .re3s4tim .re3s4tip .re3s4toc .re3s4top .re3s4tr .re4s5trein .re4s5trict .re4s5trin .re3s4tu .re3s4ty .réu2 .ré2uss .rétro1a2 4re. 4res. 2rent. .pa3rent. appa3rent. transpa3rent. é3rent. tor3rent. cur3rent. 1r2h 4rhe. 4rhes. 2r3heur 2r3hydr 1ri 1rî 1ro 1rô 1ru 1rû 1ry 1sa 1sâ .sch4 1s2caph 1s2clér 1s2cop 1s2ch e2s3ch i2s3ché i2s3chia i2s3chio 4sch. 4sche. 4sches. 2schs 1se 1sé 1sè 1sê sesqui1a2 4se. 4ses. 2sent. ab3sent. pré3sent. .res3sent. .seu2le .sh4 1s2h 4sh. 4she. 4shes. 2shent. 2shm 2s3hom 2shr 2shs 1si 1sî 1s2lav 1s2lov 1so 1sô 1sœ 1s2patia 1s2perm 1s2por 1s2phèr 1s2phér 1s2piel 1s2piros 1s2tandard 1s2tein stéréo1s2 1s2tigm 1s2tock 1s2tomos 1s2troph 1s2tructu 1s2tyle 1su 1sû .su2b1a2 .su3b2alt .su2b1é2 .su3b2é3r .su2b1in .su2b3limin .su2b3lin .su2b3lu sub1s2 .su2b1ur supero2 supe4r1 supers2 .su2r1a2 su3r2ah .su3r2a3t .su2r1e2 .su3r2eau .su3r2ell .su3r2et .su2r1é2 .su2r3h .su2r1i2m .su2r1inf .su2r1int .su2r1of .su2r1ox 1sy 1ta 1tâ 1tà tachy1a2 tchin3t2 1te 1té 1tè 1tê télé1e2 télé1i2 télé1o2b télé1o2p télé1s2 4te. 4tes. 2tent. .la3tent. .pa3tent. compé3tent. éni3tent. mécon3tent. omnipo3tent. ventripo3tent. équipo3tent. impo3tent. mit3tent. .th4 1t2h 4th. 4the. 4thes. thermo1s2 2t3heur 2thl 2thm 2thn th2r 4thre. 4thres. 2ths 1ti 1tî 1to 1tô 1t2r tran2s1a2 tran3s2act tran3s2ats tran2s3h tran2s1o2 tran2s3p tran2s1u2 4tre. 4tres. 2trent. .tri1a2c .tri1a2n .tri1a2t .tri1o2n t1t2l 1tu 1tû tung2s3 1ty .u4 ’u4 .û4 ’û4 uni1o2v uni1a2x u2s3tr 1va 1vâ 1ve 1vé 1vè 1vê vélo1s2ki 4ve. 4ves. 2vent. conni3vent. .sou3vent. 1vi 1vî 1vo 1vô vol2t1amp 1v2r 4vre. 4vres. 2vrent. 1vu 1vû 1vy 1wa 1we 4we. 4wes. 2went. 1wi 1wo 1wu 1w2r 2xent. .y4 ’y4 y1asth y1s2tom y1algi 1za 1ze 1zé 1zè 4ze. 4zes. 2zent. privatdo3zent. 1zi 1zo 1zu 1zy",
["minhyphenmax"]=1,
["minhyphenmin"]=1,
- ["n"]=1074,
+ ["n"]=1141,
},
["version"]="1.001",
} \ No newline at end of file
diff --git a/tex/context/patterns/lang-fr.pat b/tex/context/patterns/lang-fr.pat
index 2523c85cd..7b66b5468 100644
--- a/tex/context/patterns/lang-fr.pat
+++ b/tex/context/patterns/lang-fr.pat
@@ -2,30 +2,44 @@
% for comment and copyright, see e:/tmp/patterns/lang-fr.rme
-% used: a b c d e f g h i j k l m n o p q r s t u v w x y z à â ç è é ê î ï ô û œ
+% used: a b c d e f g h i j k l m n o p q r s t u v w x y z à â ç è é ê î ï ô û œ ’
\patterns{
+2'2
.a4
+'a4
.â4
+'â4
ab2h
.ab3réa
+'ab3réa
ad2h
a1è2dre
.ae3s4ch
+'ae3s4ch
1alcool
a2l1algi
.amino1a2c
+'amino1a2c
.ana3s4tr
+'ana3s4tr
1a2nesthési
.anti1a2
+'anti1a2
.anti1e2
+'anti1e2
.anti1é2
.anti2enne
+'anti2enne
+'anti1é2
.anti1s2
+'anti1s2
.apo2s3ta
+'apo2s3ta
apo2s3tr
archi1é2pis
.as2ta
+'as2ta
a2s3tro
1ba
1bâ
@@ -153,6 +167,7 @@ co2nurb
1cû
1cy
.cul4
+1d'
1da
1dâ
.dacryo1a2
@@ -236,22 +251,29 @@ d1s2
.dy2s1o2
.dy2s1u2
.e4
+'e4
.ê4
+'ê4
.é4
+'é4
.è4
+'è4
éd2hi
1é2drie
1é2drique
1é2lectr
1é2lément
.en1a2
+'en1a2
1é2nerg
e2n1i2vr
.en1o2
+'en1o2
épi2s3cop
épi3s4cope
e2s3cop
.eu2r1a2
+'eu2r1a2
eu1s2tat
extra1
extra2c
@@ -300,6 +322,7 @@ tan3gent.
rin3gent.
contin3gent.
.ar3gent.
+'ar3gent.
ser3gent.
ter3gent.
résur3gent.
@@ -315,10 +338,13 @@ résur3gent.
4gles.
2glent.
1g2n
+'a2g3nat
.a2g3nat
a2g3nos
co2g3niti
+'i2g3né
.i2g3né
+'i2g3ni
.i2g3ni
.ma2g3nicide
.ma2g3nificat
@@ -347,6 +373,7 @@ g1s2
4gues.
2guent.
.on3guent.
+'on3guent.
1gy
1ha
1hâ
@@ -381,7 +408,9 @@ hypo1o2
hypo1s2
hypo1u2
.i4
+'i4
.î4
+'î4
i1algi
i1arthr
i1è2dre
@@ -426,35 +455,65 @@ uvil4l
xil3l
1informat
.in1a2
+'in1a2
.in2a3nit
+'in2a3nit
.in2augur
+'in2augur
.in1e2
+'in1e2
.in1é2
+'in1é2
.in2effab
+'in2effab
.in2é3lucta
+'in2é3lucta
.in2é3narra
+'in2é3narra
.in2ept
+'in2ept
.in2er
+'in2er
.in2exora
+'in2exora
.in1i2
+'in1i2
.in2i3miti
+'in2i3miti
.in2i3q
+'in2i3q
.in2i3t
+'in2i3t
.in1o2
+'in1o2
.in2o3cul
+'in2o3cul
.in2ond
+'in2ond
.in1s2tab
+'in1s2tab
+'inte4r3
.intera2
+'intera2
.intere2
+'intere2
.interé2
+'interé2
.interi2
+'interi2
.intero2
+'intero2
.inte4r3
.interu2
+'interu2
.inters2
+'inters2
.in1u2
+'in1u2
.in2uit
+'in2uit
.in2u3l
+'in2u3l
io1a2ct
i1oxy
i1s2tat
@@ -661,6 +720,8 @@ n3s2ats.
n1x
1ny
.o4
+'o4
+'ô4
.ô4
o2b3long
1octet
@@ -678,7 +739,9 @@ o1s2trad
o1s2tratu
o1s2triction
.oua1ou
+'oua1ou
.ovi1s2c
+'ovi1s2c
oxy1a2
1pa
1pâ
@@ -702,6 +765,7 @@ paléo1é2
2pent.
re3pent.
.ar3pent.
+'ar3pent.
ser3pent.
.pen2ta
per3h
@@ -1025,7 +1089,9 @@ t1t2l
tung2s3
1ty
.u4
+'u4
.û4
+'û4
uni1o2v
uni1a2x
u2s3tr
@@ -1064,6 +1130,7 @@ vol2t1amp
1w2r
2xent.
.y4
+'y4
y1asth
y1s2tom
y1algi
diff --git a/tex/context/patterns/lang-fr.rme b/tex/context/patterns/lang-fr.rme
index 04967549f..050c0e499 100644
--- a/tex/context/patterns/lang-fr.rme
+++ b/tex/context/patterns/lang-fr.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+French hyphenation patterns (V2.12, 2002/12/11)
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -103,4 +107,4 @@
% tested in lack of an executable.)
%
% -----------------------------------------------------------------
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-gb.lua b/tex/context/patterns/lang-gb.lua
index bdd8a5971..3c29fefe7 100644
--- a/tex/context/patterns/lang-gb.lua
+++ b/tex/context/patterns/lang-gb.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="gb",
- ["source"]="hyph-en-gb.tex",
- ["texcomment"]="% This file has been renamed from ukhyphen.tex to hyph-en-gb.tex in June 2008\
+ ["source"]="hyph-en-gb",
+ ["texcomment"]="% Hyphenation Patterns for British English\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file has been renamed from ukhyphen.tex to hyph-en-gb.tex in June 2008\
% for consistency with other files with hyphenation patterns in hyph-utf8 package.\
% No other changes made. See http://www.tug.org/tex-hyphen for more details.\
% \
diff --git a/tex/context/patterns/lang-gb.rme b/tex/context/patterns/lang-gb.rme
index ce156c824..5a90a5a34 100644
--- a/tex/context/patterns/lang-gb.rme
+++ b/tex/context/patterns/lang-gb.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Hyphenation Patterns for British English
+
+(more info about the licence to be added later)
+
% This file has been renamed from ukhyphen.tex to hyph-en-gb.tex in June 2008
% for consistency with other files with hyphenation patterns in hyph-utf8 package.
% No other changes made. See http://www.tug.org/tex-hyphen for more details.
@@ -57,4 +61,4 @@
% patterns. This file of hyphenation patterns may be freely distributed.
%
% These patterns require a value of about 14000 for TeX's pattern memory size.
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-hr.lua b/tex/context/patterns/lang-hr.lua
index f4611ef57..983a90fad 100644
--- a/tex/context/patterns/lang-hr.lua
+++ b/tex/context/patterns/lang-hr.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="hr",
- ["source"]="hyph-hr.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-hr",
+ ["texcomment"]="% Croatian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: hrhyph.tex (1996-04-10)\
diff --git a/tex/context/patterns/lang-hr.rme b/tex/context/patterns/lang-hr.rme
index 31dd3308a..470a82b71 100644
--- a/tex/context/patterns/lang-hr.rme
+++ b/tex/context/patterns/lang-hr.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Croatian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -67,4 +71,4 @@
% Date of the last change: 19.03.1996.
%
% Marinović Igor
-% migor@student.math.hr \ No newline at end of file
+% migor@student.math.hr
diff --git a/tex/context/patterns/lang-hu.lua b/tex/context/patterns/lang-hu.lua
index 42c7df542..acc94fe84 100644
--- a/tex/context/patterns/lang-hu.lua
+++ b/tex/context/patterns/lang-hu.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="hu",
- ["source"]="hyph-hu.tex",
- ["texcomment"]="% Huhyphn - hungarian hyphenation patterns v20081106\
+ ["source"]="hyph-hu",
+ ["texcomment"]="% Hungarian Hyphenation Patterns (v20031107)\
+% \
+% (more info about the licence to be added later)\
+% \
+% Huhyphn - hungarian hyphenation patterns v20081106\
%\
% Copyright (C) 2003-2008, Bence Nagy <nagybence@tipogral.hu>\
% This file can be distributed under the terms of the\
diff --git a/tex/context/patterns/lang-hu.rme b/tex/context/patterns/lang-hu.rme
index 049dfe06a..29530abc6 100644
--- a/tex/context/patterns/lang-hu.rme
+++ b/tex/context/patterns/lang-hu.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Hungarian Hyphenation Patterns (v20031107)
+
+(more info about the licence to be added later)
+
% Huhyphn - hungarian hyphenation patterns v20081106
%
% Copyright (C) 2003-2008, Bence Nagy <nagybence@tipogral.hu>
@@ -8,4 +12,4 @@
%
% Encoding: UTF8
%
-\message{Huhyphn - hungarian hyphenation patterns v20081106} \ No newline at end of file
+\message{Huhyphn - hungarian hyphenation patterns v20081106}
diff --git a/tex/context/patterns/lang-is.lua b/tex/context/patterns/lang-is.lua
index 2bc445ab1..d431178c3 100644
--- a/tex/context/patterns/lang-is.lua
+++ b/tex/context/patterns/lang-is.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="is",
- ["source"]="hyph-is.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-is",
+ ["texcomment"]="% Icelandic Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: icehyph.tex (2004-03-08)\
diff --git a/tex/context/patterns/lang-is.rme b/tex/context/patterns/lang-is.rme
index ad574059b..e7c64cf77 100644
--- a/tex/context/patterns/lang-is.rme
+++ b/tex/context/patterns/lang-is.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Icelandic Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -76,4 +80,4 @@
% http://www.latex-project.org/lppl.txt
% and version 1.2 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-it.lua b/tex/context/patterns/lang-it.lua
index 6f692fdb1..428395374 100644
--- a/tex/context/patterns/lang-it.lua
+++ b/tex/context/patterns/lang-it.lua
@@ -5,20 +5,18 @@ return {
},
["metadata"]={
["mnemonic"]="it",
- ["source"]="hyph-it.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-it",
+ ["texcomment"]="% Italian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: ithyph.tex (2008-03-08)\
% Author: Claudio Beccari <claudio.beccari at polito.it>\
%\
-% The above mentioned file should become obsolete,\
-% and the author of the original file should preferaby modify this file instead.\
-%\
-% Modificatios were needed in order to support native UTF-8 engines,\
-% but functionality (hopefully) didn't change in any way, at least not intentionally.\
-% This file is no longer stand-alone; at least for 8-bit engines\
-% you probably want to use loadhyph-foo.tex (which will load this file) instead.\
+% It was further edited by Claudio Beccari(2010/05/24)\
%\
% Modifications were done by Jonathan Kew, Mojca Miklavec & Arthur Reutenauer\
% with help & support from:\
@@ -30,32 +28,6 @@ return {
%\
% However, the \"copyright/copyleft\" owner of patterns remains the original author.\
%\
-% The copyright statement of this file is thus:\
-%\
-% Do with this file whatever needs to be done in future for the sake of\
-% \"a better world\" as long as you respect the copyright of original file.\
-% If you're the original author of patterns or taking over a new revolution,\
-% plese remove all of the TUG comments & credits that we added here -\
-% you are the Queen / the King, we are only the servants.\
-%\
-% If you want to change this file, rather than uploading directly to CTAN,\
-% we would be grateful if you could send it to us (http://tug.org/tex-hyphen)\
-% or ask for credentials for SVN repository and commit it yourself;\
-% we will then upload the whole \"package\" to CTAN.\
-%\
-% Before a new \"pattern-revolution\" starts,\
-% please try to follow some guidelines if possible:\
-%\
-% - \\lccode is *forbidden*, and I really mean it\
-% - all the patterns should be in UTF-8\
-% - the only \"allowed\" TeX commands in this file are: \\patterns, \\hyphenation,\
-% and if you really cannot do without, also \\input and \\message\
-% - in particular, please no \\catcode or \\lccode changes,\
-% they belong to loadhyph-foo.tex,\
-% and no \\lefthyphenmin and \\righthyphenmin,\
-% they have no influence here and belong elsewhere\
-% - \\begingroup and/or \\endinput is not needed\
-% - feel free to do whatever you want inside comments\
%\
% We know that TeX is extremely powerful, but give a stupid parser\
% at least a chance to read your patterns.\
@@ -68,21 +40,19 @@ return {
%\
%%%%%%%%%%%%%%%%%%%%%%%%%%% file ithyph.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%\
%\
-% Prepared by Claudio Beccari e-mail claudio.beccari@polito.it\
+% Prepared by Claudio Beccari e-mail claudio dot beccari at gmail dot it\
%\
-% Dipartimento di Elettronica\
-% Politecnico di Torino\
-% Corso Duca degli Abruzzi, 24\
-% 10129 TORINO\
+% 10090 Villarbasse (TO)\
+% Italy\
%\
-% Copyright 1998, 2008 Claudio Beccari\
+% Copyright 1998, 2010 Claudio Beccari\
%\
% This program is free software; it can be redistributed and/or modified\
% under the terms of the GNU Lesser General Public Licence,\
% as published by the Free Software Foundation, either version 2.1 of the\
% Licence or (at your option) any later version.\
%\
-% \\versionnumber{4.8g} \\versiondate{2008/03/08}\
+% \\versionnumber{4.8h} \\versiondate{2010/05/24}\
%\
% These hyphenation patterns for the Italian language are supposed to comply\
% with the Recommendation UNI 6461 on hyphenation issued by the Italian\
@@ -94,11 +64,11 @@ return {
%",
},
["patterns"]={
- ["characters"]="abcdefghijklmnopqrstuvwxyz",
- ["data"]=".a3p2n .anti1 .anti3m2n .bio1 .ca4p3s .circu2m1 .contro1 .di2s3cine .e2x1eu .fran2k3 .free3 .li3p2sa .narco1 .opto1 .orto3p2 .para1 .poli3p2 .pre1 .p2s .re1i2scr .sha2re3 .tran2s3c .tran2s3d .tran2s3l .tran2s3n .tran2s3p .tran2s3r .tran2s3t .su2b3lu .su2b3r .wa2g3n .wel2t1 a1ia a1ie a1io a1iu a1uo a1ya 2at. e1iu e2w o1ia o1ie o1io o1iu 1b 2bb 2bc 2bd 2bf 2bm 2bn 2bp 2bs 2bt 2bv b2l b2r 2b. 1c 2cb 2cc 2cd 2cf 2ck 2cm 2cn 2cq 2cs 2ct 2cz 2chh c2h 2chb ch2r 2chn c2l c2r 2c. .c2 1d 2db 2dd 2dg 2dl 2dm 2dn 2dp d2r 2ds 2dt 2dv 2dw 2d. .d2 1f 2fb 2fg 2ff 2fn f2l f2r 2fs 2ft 2f. 1g 2gb 2gd 2gf 2gg g2h g2l 2gm g2n 2gp g2r 2gs 2gt 2gv 2gw 2gz 2gh2t 2g. 1h 2hb 2hd 2hh hi3p2n h2l 2hm 2hn 2hr 2hv 2h. 1j 2j. 1k 2kg 2kf k2h 2kk k2l 2km k2r 2ks 2kt 2k. 1l 2lb 2lc 2ld 2l3f2 2lg l2h 2lk 2ll 2lm 2ln 2lp 2lq 2lr 2ls 2lt 2lv 2lw 2lz 2l. 1m 2mb 2mc 2mf 2ml 2mm 2mn 2mp 2mq 2mr 2ms 2mt 2mv 2mw 2m. 1n 2nb 2nc 2nd 2nf 2ng 2nk 2nl 2nm 2nn 2np 2nq 2nr 2ns n2s3fer 2nt 2nv 2nz n2g3n 2nheit 2n. 1p 2pd p2h p2l 2pn 3p2ne 2pp p2r 2ps 3p2sic 2pt 2pz 2p. 1q 2qq 2q. 1r 2rb 2rc 2rd 2rf r2h 2rg 2rk 2rl 2rm 2rn 2rp 2rq 2rr 2rs 2rt r2t2s3 2rv 2rx 2rw 2rz 2r. 1s2 2shm 2sh. 2s3s s4s3m 2s3p2n 2stb 2stc 2std 2stf 2stg 2stm 2stn 2stp 2sts 2stt 2stv 2sz 4s. 1t 2tb 2tc 2td 2tf 2tg t2h t2l 2tm 2tn 2tp t2r t2s 3t2sch 2tt t2t3s 2tv 2tw t2z 2tzk tz2s 2t. 1v 2vc v2l v2r 2vv 2v. 1w w2h wa2r 2w1y 2w. 1x 2xb 2xc 2xf 2xh 2xm 2xp 2xt 2xw 2x. y1ou y1i 1z 2zb 2zd 2zl 2zn 2zp 2zt 2zs 2zv 2zz 2z. .z2",
+ ["characters"]="abcdefghijklmnopqrstuvwxyz’",
+ ["data"]=".a3p2n .anti1 .anti3m2n .bio1 .ca4p3s .circu2m1 .contro1 .di2s3cine .e2x1eu .fran2k3 .free3 .li3p2sa .narco1 .opto1 .orto3p2 .para1 .poli3p2 .pre1 .p2s .re1i2scr .sha2re3 .tran2s3c .tran2s3d .tran2s3l .tran2s3n .tran2s3p .tran2s3r .tran2s3t .su2b3lu .su2b3r .wa2g3n .wel2t1 2’2 a1ia a1ie a1io a1iu a1uo a1ya 2at. e1iu e2w o1ia o1ie o1io o1iu 1b 2bb 2bc 2bd 2bf 2bm 2bn 2bp 2bs 2bt 2bv b2l b2r 2b. 2b’ 1c 2cb 2cc 2cd 2cf 2ck 2cm 2cn 2cq 2cs 2ct 2cz 2chh c2h 2ch. 2ch’. 2ch’’. 2chb ch2r 2chn c2l c2r 2c. 2c’ .c2 1d 2db 2dd 2dg 2dl 2dm 2dn 2dp d2r 2ds 2dt 2dv 2dw 2d. 2d’ .d2 1f 2fb 2fg 2ff 2fn f2l f2r 2fs 2ft 2f. 2f’ 1g 2gb 2gd 2gf 2gg g2h g2l 2gm g2n 2gp g2r 2gs 2gt 2gv 2gw 2gz 2gh2t 2g. 2g’ 1h 2hb 2hd 2hh hi3p2n h2l 2hm 2hn 2hr 2hv 2h. 2h’ 1j 2j. 2j’ 1k 2kg 2kf k2h 2kk k2l 2km k2r 2ks 2kt 2k. 2k’ 1l 2lb 2lc 2ld 2l3f2 2lg l2h l2j 2lk 2ll 2lm 2ln 2lp 2lq 2lr 2ls 2lt 2lv 2lw 2lz 2l. 2l’. 2l’’ 1m 2mb 2mc 2mf 2ml 2mm 2mn 2mp 2mq 2mr 2ms 2mt 2mv 2mw 2m. 2m’ 1n 2nb 2nc 2nd 2nf 2ng 2nk 2nl 2nm 2nn 2np 2nq 2nr 2ns n2s3fer 2nt 2nv 2nz n2g3n 2nheit 2n. 2n’ 1p 2pd p2h p2l 2pn 3p2ne 2pp p2r 2ps 3p2sic 2pt 2pz 2p. 2p’ 1q 2qq 2q. 2q’ 1r 2rb 2rc 2rd 2rf r2h 2rg 2rk 2rl 2rm 2rn 2rp 2rq 2rr 2rs 2rt r2t2s3 2rv 2rx 2rw 2rz 2r. 2r’ 1s2 2shm 2sh. 2sh’ 2s3s s4s3m 2s3p2n 2stb 2stc 2std 2stf 2stg 2stm 2stn 2stp 2sts 2stt 2stv 2sz 4s. 4s’. 4s’’ 1t 2tb 2tc 2td 2tf 2tg t2h t2l 2tm 2tn 2tp t2r t2s 3t2sch 2tt t2t3s 2tv 2tw t2z 2tzk tz2s 2t. 2t’. 2t’’ 1v 2vc v2l v2r 2vv 2v. 2v’. 2v’’ 1w w2h wa2r 2w1y 2w. 2w’ 1x 2xb 2xc 2xf 2xh 2xm 2xp 2xt 2xw 2x. 2x’ y1ou y1i 1z 2zb 2zd 2zl 2zn 2zp 2zt 2zs 2zv 2zz 2z. 2z’. 2z’’ .z2",
["minhyphenmax"]=1,
["minhyphenmin"]=1,
- ["n"]=317,
+ ["n"]=348,
},
["version"]="1.001",
} \ No newline at end of file
diff --git a/tex/context/patterns/lang-it.pat b/tex/context/patterns/lang-it.pat
index 8e7ed87eb..c037a563a 100644
--- a/tex/context/patterns/lang-it.pat
+++ b/tex/context/patterns/lang-it.pat
@@ -2,7 +2,7 @@
% for comment and copyright, see e:/tmp/patterns/lang-it.rme
-% used: a b c d e f g h i j k l m n o p q r s t u v w x y z
+% used: a b c d e f g h i j k l m n o p q r s t u v w x y z ’
\patterns{
.a3p2n
@@ -37,6 +37,7 @@
.su2b3r
.wa2g3n
.wel2t1
+2'2
a1ia
a1ie
a1io
@@ -64,6 +65,7 @@ o1iu
b2l
b2r
2b.
+2b'
1c
2cb
2cc
@@ -78,12 +80,16 @@ b2r
2cz
2chh
c2h
+2ch.
+2ch'.
+2ch''.
2chb
ch2r
2chn
c2l
c2r
2c.
+2c'
.c2
1d
2db
@@ -99,6 +105,7 @@ d2r
2dv
2dw
2d.
+2d'
.d2
1f
2fb
@@ -110,6 +117,7 @@ f2r
2fs
2ft
2f.
+2f'
1g
2gb
2gd
@@ -128,6 +136,7 @@ g2r
2gz
2gh2t
2g.
+2g'
1h
2hb
2hd
@@ -139,8 +148,10 @@ h2l
2hr
2hv
2h.
+2h'
1j
2j.
+2j'
1k
2kg
2kf
@@ -152,6 +163,7 @@ k2r
2ks
2kt
2k.
+2k'
1l
2lb
2lc
@@ -159,6 +171,7 @@ k2r
2l3f2
2lg
l2h
+l2j
2lk
2ll
2lm
@@ -172,6 +185,8 @@ l2h
2lw
2lz
2l.
+2l'.
+2l''
1m
2mb
2mc
@@ -187,6 +202,7 @@ l2h
2mv
2mw
2m.
+2m'
1n
2nb
2nc
@@ -208,6 +224,7 @@ n2s3fer
n2g3n
2nheit
2n.
+2n'
1p
2pd
p2h
@@ -221,9 +238,11 @@ p2r
2pt
2pz
2p.
+2p'
1q
2qq
2q.
+2q'
1r
2rb
2rc
@@ -246,9 +265,11 @@ r2t2s3
2rw
2rz
2r.
+2r'
1s2
2shm
2sh.
+2sh'
2s3s
s4s3m
2s3p2n
@@ -265,6 +286,8 @@ s4s3m
2stv
2sz
4s.
+4s'.
+4s''
1t
2tb
2tc
@@ -287,17 +310,22 @@ t2z
2tzk
tz2s
2t.
+2t'.
+2t''
1v
2vc
v2l
v2r
2vv
2v.
+2v'.
+2v''
1w
w2h
wa2r
2w1y
2w.
+2w'
1x
2xb
2xc
@@ -308,6 +336,7 @@ wa2r
2xt
2xw
2x.
+2x'
y1ou
y1i
1z
@@ -321,4 +350,6 @@ y1i
2zv
2zz
2z.
+2z'.
+2z''
.z2} \ No newline at end of file
diff --git a/tex/context/patterns/lang-it.rme b/tex/context/patterns/lang-it.rme
index 2078e7259..d60ade30e 100644
--- a/tex/context/patterns/lang-it.rme
+++ b/tex/context/patterns/lang-it.rme
@@ -1,18 +1,16 @@
% generated by mtxrun --script pattern --convert
+Italian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
% Source: ithyph.tex (2008-03-08)
% Author: Claudio Beccari <claudio.beccari at polito.it>
%
-% The above mentioned file should become obsolete,
-% and the author of the original file should preferaby modify this file instead.
-%
-% Modificatios were needed in order to support native UTF-8 engines,
-% but functionality (hopefully) didn't change in any way, at least not intentionally.
-% This file is no longer stand-alone; at least for 8-bit engines
-% you probably want to use loadhyph-foo.tex (which will load this file) instead.
+% It was further edited by Claudio Beccari(2010/05/24)
%
% Modifications were done by Jonathan Kew, Mojca Miklavec & Arthur Reutenauer
% with help & support from:
@@ -24,32 +22,6 @@
%
% However, the "copyright/copyleft" owner of patterns remains the original author.
%
-% The copyright statement of this file is thus:
-%
-% Do with this file whatever needs to be done in future for the sake of
-% "a better world" as long as you respect the copyright of original file.
-% If you're the original author of patterns or taking over a new revolution,
-% plese remove all of the TUG comments & credits that we added here -
-% you are the Queen / the King, we are only the servants.
-%
-% If you want to change this file, rather than uploading directly to CTAN,
-% we would be grateful if you could send it to us (http://tug.org/tex-hyphen)
-% or ask for credentials for SVN repository and commit it yourself;
-% we will then upload the whole "package" to CTAN.
-%
-% Before a new "pattern-revolution" starts,
-% please try to follow some guidelines if possible:
-%
-% - \lccode is *forbidden*, and I really mean it
-% - all the patterns should be in UTF-8
-% - the only "allowed" TeX commands in this file are: \patterns, \hyphenation,
-% and if you really cannot do without, also \input and \message
-% - in particular, please no \catcode or \lccode changes,
-% they belong to loadhyph-foo.tex,
-% and no \lefthyphenmin and \righthyphenmin,
-% they have no influence here and belong elsewhere
-% - \begingroup and/or \endinput is not needed
-% - feel free to do whatever you want inside comments
%
% We know that TeX is extremely powerful, but give a stupid parser
% at least a chance to read your patterns.
@@ -62,21 +34,19 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%% file ithyph.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% Prepared by Claudio Beccari e-mail claudio.beccari@polito.it
+% Prepared by Claudio Beccari e-mail claudio dot beccari at gmail dot it
%
-% Dipartimento di Elettronica
-% Politecnico di Torino
-% Corso Duca degli Abruzzi, 24
-% 10129 TORINO
+% 10090 Villarbasse (TO)
+% Italy
%
-% Copyright 1998, 2008 Claudio Beccari
+% Copyright 1998, 2010 Claudio Beccari
%
% This program is free software; it can be redistributed and/or modified
% under the terms of the GNU Lesser General Public Licence,
% as published by the Free Software Foundation, either version 2.1 of the
% Licence or (at your option) any later version.
%
-% \versionnumber{4.8g} \versiondate{2008/03/08}
+% \versionnumber{4.8h} \versiondate{2010/05/24}
%
% These hyphenation patterns for the Italian language are supposed to comply
% with the Recommendation UNI 6461 on hyphenation issued by the Italian
@@ -85,4 +55,4 @@
% liability is disclaimed.
%
% See comments at the end of the file after the \endinput line
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-la.lua b/tex/context/patterns/lang-la.lua
index a2c62512e..0567b276f 100644
--- a/tex/context/patterns/lang-la.lua
+++ b/tex/context/patterns/lang-la.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="la",
- ["source"]="hyph-la.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-la",
+ ["texcomment"]="% Latin Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: lahyph.tex (2007-09-03)\
@@ -99,14 +103,15 @@ return {
% Bernd Raichle using the macro code from `dehypht.tex' (this code\
% is Copyright 1993,1994,1998,1999 Bernd Raichle/DANTE e.V.).\
%\
+% 2010/06/01 Removal of pattern 2'2 (probably a leftover from Italian)\
%\
-% \\versionnumber{3.1} \\versiondate{2007/04/16}\
+% \\versionnumber{3.2} \\versiondate{2010/06/01}\
%\
% Information after \\endinput.\
%\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\
%\
-% \\message{Latin Hyphenation Patterns `lahyph' Version 3.1 <2007/04/16>}\
+% \\message{Latin Hyphenation Patterns `lahyph' Version 3.2 <2010/06/01>}\
%\
%",
},
diff --git a/tex/context/patterns/lang-la.rme b/tex/context/patterns/lang-la.rme
index 3f238d037..22feaf3ce 100644
--- a/tex/context/patterns/lang-la.rme
+++ b/tex/context/patterns/lang-la.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Latin Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -93,13 +97,14 @@
% Bernd Raichle using the macro code from `dehypht.tex' (this code
% is Copyright 1993,1994,1998,1999 Bernd Raichle/DANTE e.V.).
%
+% 2010/06/01 Removal of pattern 2'2 (probably a leftover from Italian)
%
-% \versionnumber{3.1} \versiondate{2007/04/16}
+% \versionnumber{3.2} \versiondate{2010/06/01}
%
% Information after \endinput.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% \message{Latin Hyphenation Patterns `lahyph' Version 3.1 <2007/04/16>}
+% \message{Latin Hyphenation Patterns `lahyph' Version 3.2 <2010/06/01>}
+%
%
-% \ No newline at end of file
diff --git a/tex/context/patterns/lang-lt.lua b/tex/context/patterns/lang-lt.lua
index 7f0603c86..a78638ccc 100644
--- a/tex/context/patterns/lang-lt.lua
+++ b/tex/context/patterns/lang-lt.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="lt",
- ["source"]="hyph-lt.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-lt",
+ ["texcomment"]="% Lithuanian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8\
% in October 2008 by Mojca & Arthur.\
%\
diff --git a/tex/context/patterns/lang-lt.rme b/tex/context/patterns/lang-lt.rme
index 7def4fe72..e345e46cf 100644
--- a/tex/context/patterns/lang-lt.rme
+++ b/tex/context/patterns/lang-lt.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Lithuanian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8
% in October 2008 by Mojca & Arthur.
@@ -44,4 +48,4 @@
% any changes. Even more, changing lefthyphen and righthyphen to 1 requires
% to review and maybe rebuild the patterns file.
%
-%------------------------------------------------------------------------------ \ No newline at end of file
+%------------------------------------------------------------------------------
diff --git a/tex/context/patterns/lang-lv.hyp b/tex/context/patterns/lang-lv.hyp
new file mode 100644
index 000000000..e1eb79d37
--- /dev/null
+++ b/tex/context/patterns/lang-lv.hyp
@@ -0,0 +1,8 @@
+% generated by mtxrun --script pattern --convert
+
+% for comment and copyright, see e:/tmp/patterns/lang-lv.rme
+
+% used:
+
+\hyphenation{
+} \ No newline at end of file
diff --git a/tex/context/patterns/lang-lv.lua b/tex/context/patterns/lang-lv.lua
new file mode 100644
index 000000000..070bdd3ee
--- /dev/null
+++ b/tex/context/patterns/lang-lv.lua
@@ -0,0 +1,35 @@
+return {
+ ["comment"]="% generated by mtxrun --script pattern --convert",
+ ["exceptions"]={
+ ["n"]=0,
+ },
+ ["metadata"]={
+ ["mnemonic"]="lv",
+ ["source"]="hyph-lv",
+ ["texcomment"]="% Latvian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part if hyph-utf8 package and resulted from semi-manual\
+% conversions of hyphenation patterns into UTF-8 in November 2008 by Mojca &\
+% Arthur.\
+%\
+% This file is available under the term of the GNU GPL, version 2.\
+%\
+% Source: Latvian Lingucomponents for OpenOffice\
+% Homepage: http://sourceforge.net/projects/openoffice-lv\
+% File: hyph_lv_lv.dic (version 0.3, 2005-09-14)\
+% Author: Copyright (C) 2004-2005 Janis Vilims, jvilims@apollo.lv\
+% License: Lesser General Public Licence (LGPL) 2.1\
+%\
+% ",
+ },
+ ["patterns"]={
+ ["characters"]="abcdefghijklmnoprstuvzāčēģīķļņšūž",
+ ["data"]="d4z d4ž a2i a2u i2e e2i u2i i2u o2i o2u e2u .vi1s2a. .vi1s2ā. .vi1s2i. .vi1s2os. .vi1s2u. .vi1s2iem. o1pī ū1rē i1ta ū1ga ē1žu ū1to ā1ni i1rē i1čo ā1bu o1mī o1kā o1či ā1lo e1čū o1ļā e1la i1šo o1bi ē1cē ā1ru o1si u1no e1hā ā1nē e1bū i1ru o1sū a1ča ā1ča o1rē i1ke o1ra u1te i1zo i1gi ē1ma ū1ķe ū1ca o1dē a1nā ā1ge e1či ū1bē ē1tā ā1fi i1zi o1lī e1še e1gā i1fo a1ņo u1to ī1zē ū1gu ā1ša i1ķi ū1nē ī1ma ā1te ē1kē ū1mā u1zu o1sā ē1bu ī1ga e1di ī1te a1ļī e1tē i1že o1fo ā1pu o1hu ē1do o1du ā1ma ū1mi e1re i1ha i1be e1lu ā1ja ū1ta a1šū a1da ē1cī i1bu a1pī u1ņā e1zu ū1no e1nī i1no e1mā ē1ļa ū1pā ā1be ā1mo ī1ja e1ji ī1re e1ce ī1ri ī1tī ū1ni ī1žī i1ži a1fī a1be e1šā e1ķo e1pū e1ļī u1ģi ē1tī a1ci e1jē a1zī o1lē u1ga ī1ci a1ke e1ho i1nū ū1šī e1si e1bo o1ģē u1ņi u1sē ē1bā o1ša ū1ro ē1ce i1zī i1ve o1ļu i1dī o1ku e1vē a1ri u1sā i1pā i1dē o1pū ī1vī a1me ē1ze ī1bē u1ķe a1bē a1ja ā1ļo a1jē e1fe o1pu o1to ē1vē a1ki o1mā o1lo a1lo ē1ķi e1šē ū1dī ū1cā o1zo o1gū o1gā ī1tē e1zē ī1le e1gī ī1na o1me e1po e1fu a1ģe u1rū u1ri ū1jo e1dē a1ļa a1žā ī1ļa ē1ne a1zū ā1vē e1so o1mi o1šo ē1sī ē1ļu e1ga i1pē e1vu o1ru ē1ju u1či ā1va a1hu ī1sē e1ķa i1rā a1čā ī1ki i1ti u1cu i1žu ā1jo u1ki u1mu o1ķī e1ma ī1ļo ē1de o1čo ā1ču i1ņa u1ļa u1mā o1he i1lī a1de o1fa ē1ro o1sī ā1ri ū1ti o1bē a1jā ū1zu ā1vī e1ļe o1ņa ī1de ī1še a1kū ū1ja o1dī e1ži e1ri ī1gā e1ki u1ze u1ma i1vī ē1pī u1lu e1ti o1čā a1ķi ū1zē a1ļo i1či o1ke a1ģu i1vē u1ču u1ca u1vu o1ļa i1ri o1ņo u1co a1rā o1jā ī1bi e1čī ē1rē e1kā i1pi a1ka ā1vu ū1ža e1mī e1vī o1gi a1pē ū1zā i1cē e1va o1nī ī1ru e1pā a1ce ē1kā o1ja a1hē a1bo ū1mu ī1ve i1nā i1fi o1va u1žu e1ģi ē1nī i1li i1ņo u1la ī1ģe e1ca a1tā ū1zi a1bū ē1pē ī1su ī1pā ī1zu ū1di e1lo ā1mā e1ci a1ža ē1to e1rū ā1la u1ķu o1ģī ā1pa e1lū e1sī e1bē i1co i1ķē a1šo ū1ku u1šā o1di a1ņa ī1pa o1pi a1žē a1si a1ha u1šo ē1mā ī1mo ā1žo ū1lu e1žū o1ķi ā1vā a1žo i1zā a1ku o1zi o1dā e1cu ī1no e1zi e1jū ā1ņo i1ce ū1lē a1žī o1mē i1bī o1re e1zū ū1ra a1gi i1lē ī1bā ū1šu e1bi i1gū ū1ķi ē1va ā1to u1ce a1pū ā1gi i1ķe ā1kā e1ķī ē1ža u1ve u1vo ē1no o1bu a1tī e1fi e1ļo ū1ži a1tū ī1ti ī1la i1ho ē1gi i1fū a1tē ā1ķi a1mi e1ra u1ja e1me ī1bu i1pu o1la a1ķī u1šu o1ža a1rū ū1ļa e1ču ī1lo o1nu ā1jē a1dā u1rē u1rī ē1žo i1mā a1zo o1žu ē1da ī1co ū1zī ā1sa ē1šu ū1po i1si u1zē ū1ri u1zī ū1gā e1pu ā1du e1cē ē1ji i1bi ē1rā i1ļi u1nu i1ki a1mū ī1ni ā1fe ē1ca ā1ņi u1go a1nu e1nē u1ku ā1ži ē1go e1če ē1za ā1čā i1ģe ī1go a1go e1bī i1ze e1šū o1kē o1pē i1na ā1ra ā1jī o1za e1zā a1lā e1ņē a1je ē1si ā1bo u1gā i1sē u1ši u1bī a1vā e1ko ā1šu ā1ģē i1mo e1ļā i1tē u1ļā a1ņē u1na ī1vo ū1me a1hī ū1ka ā1mī ā1lī ū1tu e1je ī1vā a1ba ī1dā ū1ko ū1cē ā1nī a1ļē u1ju ā1žā ū1mo i1ge ā1pā e1lā i1ķī a1sē e1ni a1ma a1tu i1kū a1bi i1jī ī1ķu e1fā u1ta ē1dē a1gā i1lā i1ņi e1ļa ē1ti ā1bi a1ši a1lī i1ja e1mu o1hē u1jā ū1ša i1sā u1po ā1cā a1se o1ņe u1fo ā1sū ā1bū o1co o1ķē ā1ļa e1že u1tī ī1ku u1ķa u1zi e1do i1so o1fi ē1sā i1pī ī1ši a1dī ā1ti u1ņo u1pa o1ka o1cī i1pe ī1mā ā1pē ā1pī ū1pē o1bū e1ķē a1mē ā1rū o1de i1ķa o1šī ī1gu u1bi ā1ka ā1nu u1ži u1so ē1ka ā1le ē1pe u1ļī ī1me u1dī i1žā i1du ē1ra o1vo o1fā o1so ā1ļā e1dā ā1gu o1bo e1hī ā1ģi ā1čo a1dē u1di ī1se ē1sē ā1nā a1nī ū1rā o1hi o1šā i1lū ē1lē i1te u1še ī1tu u1ģo e1ši ū1ba e1ņa u1si ē1zo ū1kā i1gu ū1da i1sū o1bī a1mo ē1gā ā1ve u1bē e1ņo ē1vo ī1mī u1ļu ā1tu i1cī u1fa ā1tā ē1gu o1ga i1mi i1fē i1ļe ā1co u1žī i1zē i1vu a1ju i1ca ī1ču ū1re ē1bi e1ro i1fā a1he u1mo i1jo e1bu ī1ro a1te ī1ģi ā1di i1bū u1ļi u1le a1na e1tā e1bā o1tū ū1ze ā1fu ī1be a1pā u1de i1dū e1ve ī1di a1vo u1lā e1pi u1dē ē1dā o1jo i1žo ī1ķe o1nā e1mū ā1zā a1ro ī1rā a1že u1je a1ti ū1cī i1tī ī1vi ī1jo e1co i1tū i1bo ū1pe e1tū o1pā ē1se a1ļā ā1ji a1čo e1za ā1mē a1žū e1šo ī1ļu ū1jā o1su e1ja o1ta e1lī o1ze ī1vē o1vā a1vī i1kī ā1zī u1ha ī1pē i1de o1nē ū1bī ē1tu a1ži ā1žu o1ņā o1ļo i1ņē u1ci ī1ca ū1sa e1rī i1bē e1ne a1šī u1gi ī1mu a1zā i1lo ī1cē u1lī e1čo a1bu i1nī ā1dā ā1tē ā1ko ī1šu o1ģi a1ta i1la a1va a1še a1hi a1ca e1be e1žē a1su ī1dī o1da e1ģo e1ņu e1pa ī1jā e1sā a1ņi ū1so ī1nu i1vo ū1lo ī1nē ē1mī ū1cu o1žē ē1jā ī1cā a1ču o1zū a1lu ā1lu o1ņu a1vu i1tu i1ķu i1ķo i1ko a1fa ī1pi i1go i1me a1fi e1sū ī1ju o1pe a1sī a1nē ū1že ē1ve i1po o1zē a1ne e1sa a1lē ē1ša ū1gi ē1lā i1mū u1vā ū1mī ū1mē u1ro ā1po o1ju i1fu i1jē i1ga ū1tā ē1lu ū1sā a1gū ā1bā a1la o1ri ē1šo ū1ņa o1fē e1li ē1ko u1va ī1šo a1zi e1dī i1da i1šī i1hī i1ne i1šu ē1ku e1ņā o1na ī1ža o1ča ā1fa o1tē ī1dē o1tā i1hi ē1mu ī1so e1cā ā1zi ī1cī u1šē o1no ā1ņe u1bu ū1gē o1ve a1ģī i1lu i1pa e1ka ā1ci u1ķī o1sa o1go i1nu ī1žo i1sī o1fī a1pu a1du ī1ļi o1ba i1fa e1mi o1cu u1ža ā1mi a1ķā i1ču o1žū ī1kā ā1ķe u1ģē e1da ē1dī ī1čo ū1pa ā1de o1ma i1dā ē1ņo ū1žu o1ko a1vē ā1zē ā1sā ī1do u1cā ī1ļā u1du e1ju ā1si o1vē i1ša u1fe o1ji ē1re ū1ļī u1ņa ā1ca a1šu ū1nu ū1le e1ķi ā1tī o1ge i1vā ū1za ē1nā ū1ma ā1ķu e1lē ā1sē ā1li ī1ne i1mī ā1pi a1mā a1žu i1ju ē1vu u1nā ū1ru e1vi a1pa i1bā o1cē ā1lē e1ku u1lē i1se e1vā ē1jē e1pī ē1ci o1ši a1hā a1kā u1ji ū1rī ī1sā i1ro o1rā ū1ki o1ro e1ru o1kū ē1su a1ņā ū1tī ā1ba e1ņe e1nu ē1te ā1vo a1sa e1nū ū1žī o1že ū1do ē1jī ī1vu o1vi u1ba ā1na ī1mē a1ji u1ti e1mo a1ra e1hi o1te u1bo e1su i1fī ē1pi i1ģi ī1ņu ū1lī ā1ro o1zā a1vi o1ni ī1za o1do ī1zā o1gē u1zū u1li u1da a1či e1ta i1ra ā1ķa a1jū ī1ba a1cē u1ra i1kā i1zu ē1nu a1šā e1to u1gē ū1pī a1ho ā1je ī1ķa a1ve o1šu u1čo ī1mi u1sī a1dū e1cū ī1rī u1ko ā1ķī ā1zu ā1mu ī1sa ā1ņu u1ka i1ba ū1vi ē1ga ē1ģe a1rī u1ša u1cī a1co ī1cu o1vu i1je u1do o1cā ā1vi i1jā a1ze a1mu o1ņi e1ža o1čī i1ča i1mē ā1cī ē1la e1dū ū1nī ī1po ē1ļi ī1nā ū1be u1se ū1ci ī1ņā ī1ke ā1cē ē1sa ē1li a1ģā u1pe ā1ku a1bī u1pu o1ca u1ne ī1ļī u1mi e1du i1ļu u1pā ī1ņa ī1pu u1be o1ču o1šē ū1šo ē1me a1ķa u1zo ē1zā ū1ce e1tī o1ķu ē1jo u1tū ā1cu i1vi e1žā a1jo e1jo ū1bi u1nī ā1ļu e1zo i1ma u1vē o1jū o1ha ū1pu e1ša a1ru a1li u1mī ū1ve ā1pe i1cu ū1nā ī1sī e1pe ī1zī i1rī ī1pe o1po ā1rē a1ņe ī1gi e1žī ī1lu i1su ī1tā a1no ī1ži a1sū a1ko i1žē u1jo i1va ī1ji a1fe o1pa e1rē e1šī ē1cu i1šā ū1žā e1ģe ē1cā a1po i1tā ā1ne ī1va e1se ī1ra o1gu ū1de u1dā i1di u1rā ē1nē a1to e1fī a1so e1ze ē1le o1mu ī1ta e1ļu a1zē ē1ķē o1ģe e1na ū1vē ē1du u1žo i1nē ī1si i1ka ī1fe e1no i1le e1pē e1ģē ā1go i1ni e1ča a1čī ē1be a1ša e1gi i1mu ē1bē a1čū ī1šā a1bā ī1du o1ci ē1bo ā1ki o1mo ē1lo o1lā o1le a1gī u1kā ē1vi ī1lē u1čē ē1mo a1cī u1ča ī1to a1fē u1ķi e1fa ī1ša o1bā a1ļi ī1da a1mī i1gā a1ģē e1cī ā1ta i1re ā1me ū1dē a1re ī1li a1ga o1tu u1pī e1ha ā1ķē e1tu i1ģē e1kē ā1bē o1čū a1zu ū1sē ū1ne ā1ga ū1vo o1ho ē1ļā o1rī ū1ju o1fu ū1ji o1lū ā1do i1to u1bā u1ge u1cē a1le u1ķē ī1ce a1ķu ā1ze e1šu ē1ja a1vū i1ņā ē1na o1ne ā1dē ā1ģa u1su u1sa ē1di ū1su e1fo ē1ni ī1pī i1ku ē1pa ē1po ī1zi i1ļa i1ši ē1lī ā1no a1jī ā1gā o1zī ā1dī o1ļi ā1rā ē1zi ū1pi ē1ge o1mū i1kē e1gū u1gu i1zū a1gu a1lū i1cā ū1lā o1ķe o1se ē1vā ē1ru a1fo e1sē ā1re ā1lā e1ļi a1ņu e1jā ā1ža ē1zu e1ņi u1pi ē1mē o1ņē o1ti u1pē e1zī u1fi e1ķe ā1jā u1vī ī1ņi u1žā ū1li e1de o1be ē1zī e1hu e1he ī1lā u1tē e1nā a1sā ā1se ē1ļo a1ģi ī1ze o1je ū1te e1kū o1li ā1ce o1vī i1ci ā1so e1ge i1še a1ni i1do ā1lū o1žā o1še o1zu a1cu e1mē e1gu ē1ta a1do e1ba ē1ģi e1žo ā1gū a1za ū1la ū1ķī a1pi ī1nī ū1šā i1šē o1ļe ē1mi u1zā i1ķā ī1ko o1dū ī1ķi a1ķē ā1su ī1lī e1čā ē1ļe u1za o1ži o1fe ū1tē o1ki ā1za e1le ē1bī a1di o1sē ī1žu ī1bo u1me a1rē i1ļo ū1si ā1sī u1ni ī1ka ā1ļi o1tī ā1šo u1tu e1žu i1ža o1lu ē1rī ā1ju u1šī a1ķe ē1so ā1da ē1ba ē1ri o1ce ē1ki i1ļā a1pe o1šū u1ļo ī1zo ē1rū e1go e1te i1za e1vo u1vi i1fe i1ņu ā1zo ē1zē o1jē u1re ā1ņa ē1pā o1žo u1nē u1ņu ū1du a1ļu u1mē ē1pu u1lo i1ji ā1rī ī1rē e1rā u1ru a1cā o1rū ū1na u1ģe ū1dā u1tā i1sa at1tu eg1rū ak1so it1de eb1lā et1vī or1bi al1ša ap1dū ak1na um1ci aš1le ēr1ķe en1ku il1ki ēr1ku at1nā at1ģē us1pē os1vī os1ci an1ra en1pa ej1dē až1vī as1bu īs1ga iņ1di en1to uj1me or1ki el1zo ot1nē es1ko uz1gu ak1ti īr1ni iz1hi il1pu es1ma āt1vi ag1rē on1zē īb1tu ap1do īt1vī ul1sā īk1lī ur1so ok1tē ēb1tu īs1la et1ve al1mo op1ša en1ce im1nī uš1ķa ek1ti iz1cī er1di ur1fa an1tā er1ba as1pe al1su ip1so al1cī at1de aņ1ra ēk1šu īg1li om1ni oņ1ka as1le at1ņi id1rī un1ve al1kū in1da ār1ba īs1žu al1ka up1jī ur1gu at1sī īg1mā āl1ti al1va uļ1ku ok1rē er1gi uz1ļo ak1šē īm1re iz1te āt1vē ēg1ni īg1ru il1cē ir1mu ar1ku ot1zi ub1na an1če om1bī ēg1si el1le av1ru il1nu ēs1te ur1kā ik1ro ep1nu ur1vē oņ1lu it1ma il1ja ēj1tē an1ga eš1pa āl1ce ob1rī ur1vi up1ri ēz1tā iz1čo ap1ša uz1ru ut1rē ar1to ež1nī aš1ļu aļ1ce al1ne is1sī ib1šo uz1nu ut1ņu ul1de ār1ho am1pū ēl1gu um1vi ik1to ēr1ze ož1va ez1nī am1lī ak1se el1ko ep1si āj1tu um1zā at1ja al1ķī az1dā or1to ec1he at1cī en1ko ūs1ki īg1sa ef1ri ār1sa im1po īt1rī ed1vi id1sē ā1džā up1la ēc1te es1pu uk1šo āp1ni ā1dži ak1la en1na as1ka ām1di ag1li og1rā ag1dā oz1vi an1ku īk1nē us1mū er1ma āb1ša in1tu ob1ti ap1cu es1vā ac1ti ur1pu ar1kī el1la it1ta am1le ik1se ēk1ti ar1sa is1mu ut1ķe ār1vī u1dži et1nā id1ka āl1se ur1na ār1zo uz1li ān1ka as1ve ab1la aņ1ķe ēb1tā el1vā al1žu at1pū at1go ēr1la e1dzi iz1dē ab1se at1žē ir1ca ēr1su uļ1ma el1pe ej1ve ap1ve īg1rā el1po ed1lo it1mo ep1nā uk1tu at1šo ap1šā ār1čo ak1sē ek1tē om1pe ul1go um1dī ec1si ēd1vi um1mā iz1mo ok1zā āp1ro āl1ko āl1vē ed1po īl1zi of1rē ēj1lo ap1sū ip1šo is1pu in1fe ep1ra at1ša or1ga on1gā ak1šu at1jo es1pa uz1ša ār1su uz1be ik1sī en1ša ok1te ok1bu ur1ša or1ģe īn1ta ap1ģi iz1zu im1tī ap1te on1nā us1jū ur1no ab1ti en1jū op1so eņ1no ur1ka an1šo ol1le ūs1mo ās1tā ek1tī uz1sī iš1ķā um1pā is1po ob1lē ap1za ek1do ez1mē ēd1la uš1ka of1ri en1hī āf1ri uk1nu iz1do ej1ga ul1ri iz1fi ir1na is1ka ār1do en1šo ož1ma ēs1tī at1sā um1la oš1pa eb1to ez1ņi ej1ka iv1žu uņ1ģu ik1na il1ko ol1mu im1si ap1ta os1tu us1tī at1ko ar1ci iļ1do un1či oš1si en1zā ir1zo i1džā uz1ba er1vē ip1ni il1zu in1pū or1hi iv1de os1mē uz1pū ām1pi os1tū az1bē al1de on1de uz1ce em1ba ēr1ļu at1nē ār1tū ur1cu ir1ku āv1da īp1ri op1rā ej1ni am1dī ak1va ek1pi up1ve ūt1ma un1tā aš1ma āv1ja um1ti ūz1mā im1te ev1rē on1ti ig1za iz1gū up1rā id1pū ār1cī ār1lī el1lē us1ga ez1da ap1cē ej1la ag1da uz1va op1sē āģ1ve el1to ēz1kū eš1vi uz1vī ī1dze is1mē ef1rī ab1ša up1ma ār1nī aš1va ab1ri ob1tā ik1sā is1mī ag1ša ūr1ka āņ1mu ev1ni or1da em1ze āj1lo at1rū al1re il1cī ār1mi et1ma um1da ob1le āp1tu el1pā iz1ķe ez1tu al1tī ap1rū iz1ta em1ža ar1gi ēv1re as1kā až1kā eg1ta al1gā ap1le ap1ro īv1ni op1ka ik1vi il1tī ur1pī ir1kī iņ1ne iz1da op1re ēl1ni is1nu ar1cē ed1sē ul1ka ās1ma op1ba os1fē ak1le eļ1mū ēb1šu aš1ra uļ1pu oķ1vā ār1šo am1di ār1žu ed1pu ed1ve en1re ūk1li uš1pi ep1ta al1ve ad1ma ez1ce ēg1tā ud1rī im1bi ek1ra iv1jū ez1bi iz1me uļ1tī if1rē ap1ku id1ni og1rē ēj1de op1ko iz1tī un1ci īt1ka ēj1nī ēr1pē oš1ļa at1zu īv1ga os1na og1ga es1lu āt1ko az1va em1zi as1ke an1si iz1mi er1vā ep1sē al1sā us1cū ul1sa en1ta or1vē ek1tā uz1žo an1ma i1dzī ij1ku id1la ēp1ta ēļ1ko ur1ti ap1nī ot1re eš1ņu un1de ār1vē uz1ģī er1mū o1džu oš1ni ij1kā al1lo ig1lo er1rī em1pu ug1ļo ūš1do ip1ša ūs1tā oš1ba al1lē eš1da uļ1ļā ār1sū in1de em1to ās1tu ol1fi or1mā iv1pu aš1la ec1ho ār1za ar1ka ub1sī ap1zi ēp1to āk1tu er1te ur1zu īm1ka on1ju ap1go us1lo or1na og1no am1dā ār1ta ēl1ne er1cā im1na uz1zā ār1no aj1ci ip1tā it1ļu ag1ri ār1bū os1po ēņ1da an1kū om1bē ār1ve aļ1ģe im1ti al1ti īņ1ni in1na ep1la uz1di iž1me al1tē in1si ed1ma or1tu em1ta ug1si er1be us1ra il1mu ār1ga eb1lo īr1rū īt1re al1la et1vi el1di ār1ži iz1ca ad1da ēn1mī ut1sa ol1po ez1ra ir1šā eg1šo ud1pu ud1lē uk1sē on1vu em1pā ēk1bē ār1dē en1zū āj1re at1lo ez1ni et1ka iv1ji in1ku or1bī ok1ti al1si ur1zī ūn1ga ēr1pa am1bi at1ro ēr1bu iz1ķē ip1sē uz1či ir1du uh1tā er1bā ik1ga īš1ķi iz1rū it1da ok1ņu ēg1ta ir1lo an1ka in1dī es1vī op1ma um1sī on1pa em1pī ūk1ko el1tī uz1me er1vī ūz1na eg1ru it1ga us1du īt1ņu ep1lā ur1va um1zī īd1lī o1dži ār1bu ak1tā er1ta ēr1no ēr1pā um1bi en1ca oņ1cū ēj1mu at1pī ēr1gā ip1re ār1vi aļ1ķo et1ni ir1gū āp1ne ir1su āt1me eb1tu in1cē aš1ķe ip1ro om1da ep1tī ef1ra ū1dza ēt1ku ub1li az1be ūs1ka us1pa ar1su uf1li ūr1vī īs1za af1rē uz1ņa e1dža iz1bē ūt1di en1nī eļ1ķē es1ku az1da īg1ra iz1gā ar1ķī er1šu ud1ka ed1ri op1ra ap1li ap1dī ed1la an1rī en1tī āb1šo an1cū ēj1da es1tī er1ko ūg1ta el1zu in1ne er1bi ig1me ež1ni ad1mi aj1ni el1li ik1šu āl1pu ar1ga et1ta īc1še uz1zu om1bū un1ku īb1ni ar1ža ēt1ni is1tu un1ze aš1di it1ni en1zē en1ģe er1pe uz1zū ul1si ur1ca ap1fa is1no iz1ķī us1vi in1ho og1ļu ūs1nu er1ga ir1ze ēl1re ēs1li em1ma if1ra at1mē ur1rā at1ho ob1ju op1ro ip1li ec1mā er1mī ak1mu es1sa īk1lo u1džē ur1fi id1ko ār1ņu uņ1ģa īk1li iņ1ķe as1kē il1de ār1kū ul1bo ez1no en1mē ab1ro uz1gū ek1ņu ož1ņā at1ku uk1sa uk1lo ar1do ak1tu ār1du ik1ci al1du en1pe al1vī un1ti ul1le os1cē ec1sa īk1ti ār1dā ēb1ju ap1ču ub1rā iv1pa os1ma oš1ķe aš1pu um1pē ēp1tā ek1si īk1ļu uļ1ķī ūš1ka al1pe īg1nā uz1pā āt1rā īg1nu ik1lu āb1tā um1ji ab1so og1le ir1te īb1tā il1do em1zē ar1ģe ot1ve ap1gū id1vā ār1de āt1ne ēt1sa ad1do en1ja er1na ēk1li iļ1ņa uš1ki iz1nē oz1va ez1go us1bā ut1ri ur1lu ib1re ej1te ok1ho en1zu eb1rā em1tā ed1mā ah1ti em1ti um1sā az1tu ur1sī in1go ār1di ap1ņo īs1cī al1bi as1ni ek1se al1li uk1na al1nē iz1mē er1ce ūs1mu al1tā ul1fā ēk1lo az1ga er1zā ir1gu ig1rī en1dē eč1tu ep1ļa ēk1ta uz1dē ur1su īc1ku it1bi āk1kā āp1tā eļ1ce ed1rā ib1rā er1mi āb1rī iļ1ķi or1mē em1pi os1vā as1zo af1rā ež1pā ūs1nē ān1ve eļ1ķi oš1ga il1žu en1va īt1ra ak1ri up1tu ad1ka eļ1zī ir1nē ec1ve or1mu iz1mī īš1ļa ab1ve er1ri ū1dze ūz1ni in1ka īķ1sa ud1pe us1mē iz1rī on1rā aņ1kā at1ze āl1re em1ja im1sē īk1lu ek1va at1bī is1lā os1pī ār1jā as1mā ol1nī īg1ti em1po īg1tā ed1va ar1da or1po us1ni al1lā os1ti eg1da uz1bā ūt1rī ag1ni iņ1dē iz1zo is1me at1bi az1ti og1ra en1la at1do ap1zī am1ga us1ti oš1ķi is1tā at1la ēj1ti e1džā ec1ka or1ķo iz1pū uļ1zi er1de uk1ļu eh1ni ēg1to ēl1si ēc1nā ap1pā āl1no ar1hā at1gu ob1ļa ap1bo uļ1ķi uk1lē es1bi ar1žo iv1co el1mi ēr1ci ik1mē ap1da uz1ķī im1pu īk1la ag1ru iz1dī er1ņa at1ņu or1pi ēp1ni ūt1ņu eš1ta ar1ta un1ga oš1ļi eņ1ģi an1tē at1si or1te iz1rā ol1vi iv1cī aš1ko ām1ri āz1tu ek1sī ūk1tu ēk1ļu ir1sā el1ku ek1su aš1ļi iļ1ņu iz1si ir1gi at1ha ar1tu em1bu āt1sa ek1ļū en1tā iz1šu as1po ir1ta ab1re it1le ūk1pi uņ1ne aš1vi ām1pa ār1sē ok1si og1pa ut1rī in1ji ig1no iž1ļa ēb1ni uk1ma ēp1šu ol1vē ēz1ta am1kā ed1fo āp1ra ir1ce ul1li as1no ēt1ra on1ta ur1ņi ur1bi iz1cē us1ki eb1ša ož1me an1gī āv1ji ip1si ur1nē ak1ša eņ1ku ab1li il1vī is1kē om1pā ir1mī ip1lī ēn1mā ēr1šā āk1da el1nā ul1pe iš1ļo ēj1pu āl1lī ud1ko er1vi ak1tē īs1ka ag1tā ī1dzī at1vu ar1mē ar1sē eb1lē od1kā ūr1vi ot1ņu en1da az1du āt1nā oņ1me āl1ba eb1šo uz1mā an1zī ag1lī ot1bu il1po ēr1ķa ur1cā ej1bo az1ze iz1žo op1ļā īg1šu ēs1lu at1mā eg1lo īt1ri ir1tu ek1sā ik1ta eg1lu ur1vā un1bē uz1mū ež1zi eg1tā or1ma ob1ga av1ko el1ba ā1dzi at1ģi āg1ne ēr1za ed1rū iz1hu aš1ņa āb1si uz1ni et1pi āz1vā u1dzi en1tē āt1re ūv1no um1su iz1ci at1ra uz1ri or1ta āk1lu ik1po āš1ķi ār1pe ap1ķī uz1bū uz1pē uz1si ir1ža an1gā ap1šū i1dze at1ju at1fo is1ne ez1rē as1gā al1gu as1ti ūš1ko es1tā al1jē in1ša ab1le i1dža ēp1ja eb1ļa ub1le ab1tu ād1mi iņ1ķo ā1dža ek1li un1li ek1mē ok1lī ēr1pi ēr1pu iļ1la ep1ka em1li ez1na id1ma až1ne ir1re ēt1di am1zo ūr1fo ež1ga im1to ūp1nī at1du im1tā ūg1šo en1si al1ge al1dē eļ1ļa ap1vī ār1cu ež1ģa iš1re ār1ne ul1je ar1mī oš1ka īn1va ēr1ma ok1nu om1ra ap1jā us1ce un1mā ek1ši ob1lā ēr1sā et1ne uz1de il1bo it1pā ar1tē ed1ko ol1vī ot1rī us1se ēt1ti iž1ļu īz1de en1sā is1la ik1te ob1to ag1lā it1ko ep1ci āg1ti ūs1le ek1lu us1mā ār1ze īs1tu ar1kū ir1de ed1jū or1fī ēt1li ūs1mā el1no id1ru ij1ko er1ve ec1la aš1mo em1zo uz1bē er1fo eš1ķū ak1lī el1lu ib1li ek1nu ir1ņu aš1nā ēl1ga em1nī iz1vi us1te is1ha on1jo az1ka ās1ta aš1ta iz1vē er1nē uļ1va ab1lē an1žu oņ1ve il1bu em1pa ob1se em1jo īv1su er1co ur1to ēg1vā in1ci ak1ļū uz1šu eņ1la ūg1šu āg1tu ūg1ti īt1va er1ka ol1šū iz1ču us1ke ur1bē āp1ri ak1ļa ūs1kā os1va er1ze ēt1nī āj1ku en1žo uļ1ve is1ķe īg1si ur1me ur1bī on1hī an1di āj1mā ep1ļē aš1ņu or1vi ad1vo az1gu uz1lū it1pi ak1šo ap1si ās1to in1te am1sa ap1šo iz1vo uz1ve uļ1ņe uz1fo uv1sa uņ1ķa uz1ta ug1ļu ek1lī ok1se ok1vi až1ņa oņ1sa ab1hā iņ1ci ug1šā ek1rū ij1pa ok1ve ap1he ut1bo el1zā or1di an1go iņ1zi ek1mī ap1bē on1gi aļ1me ab1ru ig1ti ur1be u1dže ek1vi ur1ze ūm1va um1mu aļ1bu āt1ņu om1re ug1le ez1ta am1bu at1cē ēp1ju ez1sa at1ni an1me uz1no ār1lē ul1kā ar1pu iz1ru an1ži eņ1ķē od1ni is1na em1zā ār1se at1ri it1ru uš1čo il1ve al1ta oš1vī ēr1po il1pi ap1pē is1ķē ēr1sa ār1ku oļ1še uz1pi av1ro og1rū īg1ņa ī1dzā il1ze ez1ve ūr1te on1dā up1da iz1nā im1di ul1gi az1mē ā1dze as1lē ok1ļa ak1ce ūn1ve ek1lo ok1tā ap1jo ēr1gu il1nā iz1he uļ1ņē īt1ru īd1se ak1rē āt1ro at1da iz1žā ol1tē ūt1sa as1ku īn1bū īv1si or1no ot1ce ol1de ab1pa ēr1pe oņ1ko ok1na ev1ze us1ri ip1ti eķ1tu op1ta īs1ra er1zē of1rā ur1dē ot1ka is1zi ēk1mī iz1ne ag1rī on1si ir1pē er1ni ās1vi an1za ēl1gā ap1du ek1lā ār1ņa um1pa an1fa ār1pa uļ1so ar1pe eš1ļa ēr1vi ef1rā og1la it1pē in1je ut1ma ig1nu ēr1te az1gā āl1de ār1zi on1fe on1ma ib1ta at1žu it1lī it1ra ok1be is1žē ēz1ma ār1ti er1ru az1ja ēg1le an1ni az1lē uk1ni at1lī eņ1ma ik1vī ap1be ar1ne ip1ta ap1žu az1pu ak1ra ul1ve is1pē ež1sa iv1ma ār1šu ek1na os1la ik1tē ēs1la es1la at1ki iz1lu ur1le īd1ni it1se ej1ma iņ1si ār1lā us1va us1ci if1te el1ta uz1ga ak1tū or1ve iz1ce oš1kā ēt1ru ad1rē et1ņu ik1šo oz1ma ir1ti uz1da ūm1de el1tē ēz1ti it1rē aņ1ve ap1zā at1ga up1de ās1na ap1tu āp1ņu in1tē ās1ne ap1re ir1ka uz1tī uz1go at1ļā ad1rū ir1zi īv1mā er1sa in1ti āb1ju iv1si ep1jo e1dzē el1si ij1žu an1du iz1tā il1lā ul1bā is1cī ag1vi āj1rū os1lo īk1lā āb1to al1nu āt1ki eņ1ķī ol1kū un1pi ec1re uz1ču ul1dā en1ro ir1di en1ču ul1jo ul1ce az1vē ap1jē āl1zī ūš1ļo og1ve ag1si on1su og1ca ol1gu ār1zā ig1li iš1sa ot1ru al1vā am1tī ās1te ud1rā ēt1ko uz1jē āl1gu et1me ed1ra at1cū ol1zā uz1žā ul1gā ok1ļu īv1ze at1ve en1gu um1du o1dzī up1jo ap1di ur1rū īv1mū ūk1to iz1ņu uz1šā uļ1bū ez1pi in1vā al1ja in1ve iz1bu ap1šu us1ze ob1rā ēk1me il1le ēz1to īk1de ēj1lu ar1zo ec1me ar1za ol1bu ēj1pe ul1te īd1pa al1ki en1zo iv1ka āl1te ok1no a1dze it1va ār1jū un1go iz1ko u1džo up1ti on1li iz1čā il1gā er1gu iz1za in1gi ū1dzo ur1ni um1bē ed1mu ēk1tu ār1so id1lu ar1me ir1ši ik1ša ej1za ap1ha īv1lī as1ga eg1šu iz1bā ev1ju ap1ce ar1di em1ju am1bo iņ1ma et1si āk1tī is1da id1pu iz1le et1no ul1da ur1tā em1ga ēr1ša or1mi ak1kā iz1mā ab1vē ok1pi ir1bē īg1tu ir1sī eņ1ci iz1sā uz1he eļ1ķe eb1kā in1če ar1mo ēp1šo eb1rū on1cū er1pa īg1na us1ta ār1rū is1lī ēg1li eš1re uz1hu ak1re īn1da el1de um1ja ak1nē ob1tu ek1to ēr1bē ir1ci ih1ti ov1nu al1be aļ1da ot1rā ēr1ķē ud1ma āv1ju ik1li ar1du uk1su ak1sī us1le āt1bū ug1ša ag1mā ēr1tā uz1nā uz1čī ēs1tu iv1tū un1ko er1mē or1ci un1ka īt1ci ūk1ni ār1gā oz1ta is1pi ef1ko āš1ņa ig1ni ur1cī aņ1ķī ec1ti il1tu ul1su an1jo ek1vā al1po uk1tī āj1ni ām1ja ēr1li ah1tu at1vē il1nē an1ke as1ci er1je es1nī id1gu ān1va us1fi ār1si ēd1va ul1vā el1ni eš1ma un1la al1ma un1du an1ho ul1šu el1mu al1žī el1rū ul1ci ar1ģi at1vo ēr1bi il1vē us1me at1li uz1mu av1da ēg1tu uz1ļu eg1vī ēb1to ad1ju ir1mo or1fē el1nī iž1ļi em1de ap1pa ūg1ša ul1bu ēr1mu as1vi eb1ļā as1pi ir1sū uz1vē ās1nī ur1zā ir1bo īk1da it1nī ar1pa el1do ēr1le or1fi ēt1la aļ1ļi am1bā āš1ņā us1jo eļ1ni eļ1nī us1ja in1gu ig1nī ed1ru uj1bi os1te em1va ar1lo ig1lu ak1lā un1ba iz1bū am1ze is1ti it1ne uz1sā ep1lē iz1bī ār1nē eg1la iz1du ēg1dē ān1za es1lo im1de at1hi ar1ķi iņ1ve ēr1zē uz1lā ir1vi ār1ru oš1ļu at1te at1žā un1su on1tā od1la ār1ģe ēs1lo al1kā aš1pa ūz1ne ār1čā ur1je uļ1ķa ak1ņā īr1fa es1kū ār1ši ar1ba ār1ša ir1dī id1nī uk1da uz1žu ār1va ot1ra am1do iz1ģi ep1lī em1si āl1ta in1su ol1ni ub1ļu iz1ņe ap1ča el1za ob1jā uk1tē ap1mā al1ri ot1za ir1dā av1ni ūr1mu it1mi og1ļū er1za ek1lē ūg1te it1mē oš1ņa āk1le aļ1čū ān1lī e1dzā um1be et1rī ek1sa al1le uļ1ka iv1ni ēd1mē il1dī ul1ti ot1le at1gā iņ1sē at1ca aļ1rā ab1su īn1bu ip1rī uz1ra uļ1de em1ko at1čo op1vē a1džu uz1ķi ir1ma ur1bo iz1pe em1tu āč1sū um1šo ap1ķē āl1sa as1fa ož1ņa em1dī ūz1da el1pi ir1sa āz1mo ed1ro il1si īk1na uz1cu os1pu ag1šo iv1va īd1vi iņ1ro ār1ču id1ne eg1pu um1ko uš1ķo ār1ka īļ1bā ak1ve ez1gi or1la aš1pā īg1va ir1šī iļ1li ēr1sī um1ši īm1ju ub1je ep1li at1po āl1ma am1bī iņ1ķi āj1ra as1tū eš1tū en1te īv1ma et1nī āb1pu os1ku is1tē ok1ļi iz1rē iz1ži el1nu iz1pā ul1tā oļ1ko ēv1vā os1lā or1tī āb1tī af1ro ēl1zī āl1ru an1šu us1tā or1do er1ci īs1ri ēd1ra im1da ar1be il1ku iz1mū it1rā up1ša uz1sū us1ru ir1do ur1ga ek1re al1nā ok1ni ek1šu ob1rē ir1žo ār1dī eļ1ma aš1ci il1pa ū1dzu ek1ša ār1mo il1gi uš1ņa el1mū ās1ka ēk1ša or1ķi ār1nu az1ru ās1tī im1šo um1ze īv1so ūt1nī ap1fo ag1šu il1ma īc1ga ēr1tu es1mi ūs1mī īs1ti ej1vi uz1na on1na id1ro el1mē os1pe op1lu ēc1ka ar1pā up1ci ūs1ma ag1re ūž1ņa ol1ga an1ta un1di al1ko ul1lā ir1ko ī1dzo os1vi es1lē us1ma ec1mo iz1ve az1ra āl1cu id1rā an1ža oņ1zī um1tā af1ra um1vā ār1rā ab1vī ū1dzī i1dži ēg1šu in1ža ed1ņe ec1tū or1ne eg1ma āp1ja ār1šī ep1re is1ve ol1fe op1ci as1te ār1šū ež1ku iņ1tū es1te ek1ta ēl1cu ār1na us1jē il1te āv1ra āv1ce aļ1va um1ni ak1ni ār1rē et1ri u1dzī on1tu up1le am1bē in1to ād1nī in1ta ol1ma īk1bu an1žā āb1ma ur1ķī ak1vi at1nu is1bi ol1ve og1ne īv1bi ok1lu ār1čī ug1ti īn1ra ig1to uļ1ģi ār1ma um1jī ē1dze ap1rē is1nā ūp1ko un1si il1tā ap1ņu ol1be os1mi ig1la īl1ni or1bū ip1ru ak1cī eņ1ķa ez1gī oņ1sā āz1ni ān1pā us1pu ād1ne us1po īn1de āk1ba ā1džu ur1sē at1ba āp1ti ūv1vi ah1tā ut1nē em1be ap1na ul1pa ob1je āk1ļa ib1ti os1ve ud1vi en1pā āv1ni iz1vā eg1ro op1si ap1pu am1ni at1ta ak1li es1ne uv1ju ar1rī i1dzu es1rē ob1lo es1li og1ma uš1ko an1zā ig1tu an1be im1pē ic1sa eb1ka uz1zī oš1ma at1nī am1dē uļ1ba ār1mu up1jā ār1he es1mē er1ha ēl1di ih1re op1ja il1go uv1ve ul1pu il1du aš1mi āl1ve ār1lu ez1pu at1so īs1ca ek1ni ēg1nā ūt1ro ap1ķe ab1pu iz1nu iz1ņē ēk1ne ež1jo es1po ās1no ūv1ni aļ1sa aļ1ķī ē1dzo ip1no ap1vā īk1tā ār1čū uz1ze uz1nī on1du ap1hu ez1nā uk1ļi ul1bi ad1pē at1pē ēr1zu uz1čā ēs1to aš1gā āt1no en1vē is1be et1rū āk1ta uk1tū ij1ni ug1šu us1ķi ij1ve el1šu ul1vē ēt1rī ag1ļē es1pe ēr1šo ak1rā eļ1pa ec1rī ez1lo ēk1lu el1va ār1ķi eļ1po am1pa ūt1ni iš1zi id1mē uz1dū ēk1la iņ1ta ol1tā īk1ša īt1nē iļ1jū it1tū is1pa ap1sā iz1so ež1ģī ud1ri oņ1nā am1lū iz1pē ak1vā al1te ad1ri ak1ga ār1bā ap1rī or1bē af1ti uz1du at1ši ug1tu iv1zi an1se eg1to ūd1rā os1lē ār1ri el1ga ēr1de ir1tē em1ļa us1na im1do āt1ve ur1ma ur1ģi īg1ni īd1ko ūd1ra iz1vī ed1rī at1jā il1mo e1dza ēk1to ār1ģē iļ1ņi iz1bo as1ro um1zo or1pu ar1kā ik1ko ap1ca īs1ba as1vā at1mo uz1pu ēn1ga am1ba uk1ši ag1to iz1zi uz1tu ul1ni er1lī eš1ķē en1zi at1zo ir1ša ez1si us1so am1fī ig1tā e1dzu ap1kā ār1ro es1vi ag1la ir1mē ad1ve it1di um1no ap1lā in1ga op1šo a1džā er1po uz1bī un1ra uk1ta ar1ve īn1sa ap1vi ēr1ce og1lū aš1li aš1po e1džu ap1mu ag1lu or1be am1ne ol1di iņ1ģe it1na eļ1ņu uz1lu ās1me ār1sī ur1ku ur1pe ep1na ut1na ac1da uz1le ik1ka ar1fi ab1si er1zī ār1ļu ap1ja ul1tu is1di an1ge ar1lī ug1tā on1so ud1kā eļ1ko iš1ķī um1po ik1ļa ūg1tu ār1gi ēr1ni et1va ap1lo ēr1ķī iz1tu īv1la is1ju od1ba az1ro ūs1di up1tū ūs1nī eļ1lo ap1bī um1ta īs1tī eb1rī uš1ķē ep1tū eb1lī or1že up1ra ēt1ma ak1ro ir1la at1či og1lu ūs1ku ut1rā il1no ec1de an1bā az1vi ān1ga ēj1ce eļ1ve er1zi el1sa īk1ta īt1rā ār1fe um1ka ir1si ag1ļi ip1ka ak1šā ar1ki ek1ļā ar1bā ed1da os1le iv1ja iv1kā ūk1šo uļ1vē ēk1tā oš1ņu og1de ok1ļo ul1dē ik1sa am1pē ūs1no um1to us1ču od1ka as1lo op1mī up1to oļ1ti ū1dzi īr1ma os1kā al1dī ok1va el1tu ap1pi is1ca os1ce āl1vi ir1mi uš1ķi oz1tā is1te ig1ša at1rā ar1žu os1kū im1ša ār1to um1bo an1sa aļ1ļa ēk1di āj1ka ak1tī ar1tī os1tā eg1re im1sa ul1sī ag1me il1lē on1ce iz1jā iž1ci or1ku az1no im1pā of1se op1ļē āl1ka ēs1ti oņ1de er1la ār1ņē uz1ku ab1pi ar1na em1ša er1ku im1pe in1tī es1mī īv1do uz1mo uš1mi ak1lē aļ1la up1lā ok1ta ūv1me em1žē āl1rū is1pā ar1le eš1va eņ1rā ad1ne on1ku īs1si ab1da il1lu ar1va an1ko ez1bē ež1li il1ga at1tā iz1kū ar1nu ir1mā ad1je ik1ra an1bu op1ri ik1vā ek1šē ap1ru uz1ņi iz1be at1vi it1ro ur1tē en1po ap1jū iz1ģī ol1rā ar1go ah1lo im1pa ī1dzi us1lu ir1žu at1cu am1vi ag1ti im1ju ep1ļā ec1ga on1di ān1kā is1fu at1ņē āņ1ti at1čū az1pa ik1pa ov1bo ad1si er1lū ir1bā um1tu uj1ko ež1vī ab1lo ūk1la os1pa ul1to ap1žē āv1ma ez1zo eg1mā ap1to iz1ku os1lu or1vā ok1rī os1to al1di is1lu ē1dzi āt1li aļ1li an1ču eb1la eņ1ķo ak1rū en1ri ez1be ēr1nē eļ1ņā ab1rū un1sa iz1zī až1da ūv1so aš1ķī it1kā ap1bu ē1dzē a1džo īb1šu us1lā ad1re ej1le ek1ro at1su ap1ļu ež1ci er1ra ez1vē aļ1ko og1re ur1ja er1zu ār1me av1tī on1tē at1fi ir1bi ob1li uz1jū aš1ļa āb1ra ur1bā ap1nu al1ģi an1vī on1dē ep1tē ez1de um1de up1ju īg1te od1de ok1sā at1jē ār1zu um1di eš1di eļ1mo iz1de in1gā ač1gā ip1se iš1ķē ūn1ze āk1to eš1vī ēņ1ve ap1la oņ1ni im1ni ut1ro et1de ep1pa aš1re up1ja us1pi uj1la āt1ti op1le an1nu ēj1mā as1lā am1mi az1dē am1po īk1pi ūk1tā ār1go ap1ma uf1ra īg1ta ad1ca ār1ķē ek1vo am1te iz1zā ar1ke ēr1mā en1dā eg1lī at1ci ur1ci āg1la af1ri īk1ze er1cu ad1va el1ci ep1no ag1ne ār1zī eg1rā eš1ķī an1ti iļ1dā ud1mu āl1li ub1ve uz1pe uš1ķu eļ1tē or1čē og1pu eg1nē op1la al1dū ef1rē īt1ni ek1nā āz1be er1ti er1no os1fo ēr1ga at1ka er1go or1ķe er1mo un1da an1žo ez1mi ef1pa ek1rī ūp1li eļ1te ār1tā ot1ri ud1li us1zā as1tē iv1da is1ko il1za īg1to uz1bu er1tē ap1su es1zi u1džu uk1li iz1lū it1ti īk1kā es1pī uz1vu ūž1di ūs1li āl1po ok1re āk1ļi īž1me eš1ķa at1ķe āt1rī iņ1ši ap1ga um1jā īm1ja ez1ro iz1jē es1sū eš1vā og1ri ār1lo al1so iz1lī is1kā ep1ti eg1bi ār1la ar1vo ēp1si ār1gū eļ1ga uz1kū iļ1le o1dze an1sē at1no ok1ma al1sa ek1ri ep1le en1rī eš1de ez1jū ik1sē al1gi ep1ro īv1ci id1po oņ1pi od1ra ej1pu ir1go el1ma in1se et1sa īb1ša aļ1ķa ol1la at1rī at1dē īļ1si ār1ņo ur1mi ep1lo āg1šo ec1to ob1ve up1tā āt1ra os1ko al1zi el1du iz1vu ār1pi at1šā ul1tū il1dē ap1mī ar1lē er1tā us1mu is1hu oņ1si āz1ve īp1ne āz1to iš1ma ol1vā em1zī āl1be al1šo us1ko es1ga in1fa āj1vi at1di at1ži ap1bā ah1ta ēr1nā el1me īs1le iz1ja ēb1ti es1ka ul1be ep1ri ež1zī ot1vē as1la at1ru er1mā ed1re ēj1ma av1ci ak1do us1nē eš1ga ap1cī āt1zī as1pa āk1ša es1ta ib1lo er1ģi ēr1mī eļ1di at1lā ak1te aš1vī og1li al1ga aš1kī ār1fi es1to ūt1pa on1ko ār1ci ām1ju el1ce īs1tā ec1ni al1ku at1hu er1fe ār1mē ēr1mū ul1di on1ga ār1pē ar1pē ās1nā am1fi āt1pe an1co oš1ņo eļ1ņi aš1no īr1na āk1šo et1ko ig1ma an1te an1ba e1dzī ek1šo um1bu ir1gā om1le ūm1ve al1na iz1va og1lā ūk1ta il1so uz1ma il1ša oš1ķū at1zī ās1mo ēr1na ūž1ņo um1nī eg1vi al1tū on1se iz1ža ek1te ep1lū ep1se os1tī as1ta ār1be iz1ša oš1ķo āg1ri īv1ku āt1na aš1ķi ēr1dē ir1tā ak1sa as1to az1jū un1me ap1pū ep1to ur1ve en1ma ēc1na eņ1ķu ār1le um1zi uz1cē ez1pa os1ka ab1rī er1ģē et1ra īt1na ap1čī ok1ri eš1pe iž1ma is1ša āz1ģe on1dī ep1tā am1zi īg1lo iv1re at1lu āl1ci ez1vā iz1ti al1mā ug1li il1bi iļ1ķu aš1ņā iv1ba ik1ši īk1me ap1kū un1gi uk1nā al1vo up1lo oz1vē ēj1ka ap1rā ad1li uz1ju el1pa en1li at1ču īk1bū at1dā up1ta iļ1ņo ar1pī ak1vē ēc1ga eb1ne af1li ol1ka ez1fo in1ki an1gi ak1lo up1si ej1va ag1tu ek1ļo iž1vī as1zi ir1lī en1du uz1tā if1lo eļ1ļo ob1lī um1sū on1ci an1de es1lī ēb1si ib1tā il1da uķ1ko uk1ša āj1pe ej1bu ūv1ka ar1fa oz1ve īk1rā up1mā ūs1to ir1nī ag1lo oņ1ra iz1sū īg1ce an1dū iņ1vī e1džo ār1da īn1mā ār1ju er1vo ar1se i1dzē iļ1pi it1pu ur1sa id1da iš1ko eš1ķo ār1po ev1kā īk1rū os1ri ik1no ār1tu ur1ko oz1tu om1pi ar1šē on1nu uņ1ģi ur1šu ab1rē īr1kū en1cē em1je ap1va av1ļa aļ1bi uz1hi in1ča on1fu ār1sā oš1mī uz1rī il1ka un1tē as1mi iz1ga ār1mā āk1tā ik1lo im1pi or1pa aš1ro um1mē īn1te ež1rū ab1sa uz1mē a1dza as1sa un1gā ag1mī eš1mī eg1ša ak1ru ēt1ri or1se us1no it1mā uz1po in1čo iz1su is1to uk1vi ir1to um1ju uļ1sū in1dā um1tē ar1šo īk1ko er1me uk1si īv1pi ēr1mē as1tī in1kā en1za al1bu or1ģi a1dzī en1sa īs1ta eļ1de ū1dzē uk1tā ec1vi ūk1le ap1čo ēd1ni ān1ce if1tu īk1di āl1va ap1gu en1de ar1de ap1mū on1te es1da ud1ci at1se ūp1ni in1ha ap1de al1ci ir1pu um1va ok1tu ug1lī aņ1da ep1ša el1su īk1si eņ1ģe aļ1fi er1si op1ju od1le īt1pa ak1nā ap1nē ar1dī ek1zē at1zi āt1ka āl1mē em1za um1pu ap1žo ēj1sū en1le iz1lē er1zo um1dā ur1žu eh1no ab1ka īs1vē īb1šo as1se ul1lē ir1ki at1ča uļ1ķe āz1ma ip1nu ar1nī īg1lī ad1ra ez1ti īk1ra ūr1zi ap1vu ib1la īt1kā iļ1da ēl1ko ob1la o1dza ep1nī es1ri up1ji eļ1ku ik1ve es1vē er1lo um1do ik1lā em1žo is1so om1ju ij1ka en1ni āz1ne īv1di if1to un1je er1da en1kā ūt1ra en1ge āp1ji oņ1kā al1vi ēr1zā en1ga īr1ku ar1te up1rī or1ti ar1ķē el1lī iš1la an1no ec1pi ēk1šo an1da āp1šu iļ1ru ež1lī ed1rē ed1ka at1kū īb1si ež1ņa am1va un1dī ār1nā al1me uļ1ze es1tē āj1ba āp1šo ap1po en1zī er1sī ig1ro at1bu um1sē el1cē ās1ni ar1pū od1ve oz1ga in1do uz1mi un1mē uz1ka ig1ne et1pa ol1si ab1ra on1to os1kī aš1ķa iz1se īn1pi eb1ru es1nu ūt1ru ik1ri as1lu iz1la uz1ci at1tē on1da āp1ša ēp1ne or1ce ep1rā ūr1mā ež1vā up1jē eh1lo īg1ņā us1li ec1tē āt1mā ak1nu u1dzē ez1ne ar1dē ēk1da et1nē ež1ro ir1kū ap1lū īs1tē us1ba ēj1zo ī1dzu at1le ēg1na ep1tu i1dza af1ta ep1de īļ1ve od1ro um1šā en1se eņ1ra as1tu at1pu eļ1da āb1ba iš1ķa āg1ša il1bā ūš1tu ud1sa at1ģe um1šu aš1mā en1so eg1ba am1re ud1ro ov1na ik1re ār1rī ār1ni ež1ra i1dzo īs1to an1še ar1ju iz1ģē az1dū ēr1me oņ1ga ēr1tē id1mo īs1fi at1mī al1se il1ha ep1ja il1ce of1ra um1pi uz1rē aš1ņo el1ža ap1ņē ar1bu iņ1re ij1pu er1žo ol1ta ez1va aļ1ķi il1nī ag1no ul1lī ib1ri āt1ri um1pī ūg1tā is1fē ak1su al1to el1žu ap1ģē iv1ga al1za aļ1dē ēr1si ār1ņi et1rā aļ1ņi um1zu ūg1si az1mā in1ko īg1ri il1šu er1va uz1tū ec1cī īs1li a1dži u1dzā am1žu uz1fi iz1nī ir1dē ev1ga iz1ča iz1pu up1šu iz1gu in1ce uz1dī āb1šu or1ba i1dzā a1dzo es1tu āz1ti el1mā ap1vo ub1lē aš1ķē īs1vi en1jo as1ki ik1tī ok1le ur1ķu in1gī ek1ļu uz1to uk1le ir1bu āg1to uz1ne as1ko ek1rē ur1do ob1ta ār1jo uk1no ot1lī ur1te uz1re at1ma at1žo ēd1ne at1na us1ka al1vu ib1šu iz1dū ug1ko uz1vo at1zā eg1zī ūš1ga il1ni uz1ro el1pu ūg1to os1mā ul1ma as1ma al1ni ut1ra ug1šē at1sē in1fo eļ1bū uz1jā ēt1va ēk1ba ik1di īg1le op1ne ur1vī ār1dū ir1cē ēr1sē as1ja es1mo il1ci az1li em1šu ap1lu er1nā ot1rū uz1čo as1dē os1mo aļ1ga un1te at1ne om1ba ok1ra en1vā ap1sē an1dē ol1dē ap1ļa ek1sē ad1so iz1po uz1lī īk1ne ud1ra uz1ko ur1ta ep1šo ud1mi ār1ki eļ1vi ūk1ti īg1ro iņ1ti ur1du eg1tu ār1bo es1mu ar1ce os1ki iz1tē ev1mā ān1ko er1ge ē1dzī en1ba īv1ba ot1mu ēb1ta īn1rū ūk1ņa op1jo is1lo ob1ru ur1li ēs1le ur1lā ēj1rā ul1ko āg1tā iv1ku ām1ga o1dzē ī1dzē ir1za ip1rā at1tū iv1vi op1lū āp1si em1me ap1žā ār1mū ik1šā il1ba an1ze on1do il1he ek1ļa el1nē āk1re uk1se ēr1so ef1re ūt1rā ip1tu am1pā ak1ņu at1me ūr1ma ik1tā am1pu az1de en1ki iv1mo ar1ge īb1ti uj1ma os1ta as1na ēs1ma om1bo eb1rē er1ža āt1nu ež1ko uz1tē up1ni ig1nā an1na az1ku on1tī ar1sī ek1tū eņ1me os1vē ak1šī at1rē er1bu eļ1ņa og1ro īt1lī ij1ro ūk1si ār1žā ap1dā uz1pa ek1ļi iz1tū aš1ķo im1ta ik1nā at1jū ēg1no ā1dzē em1te er1ģe āš1ņi eļ1ta ap1lī ul1la uz1bi īt1di ud1bā en1tu un1ne uk1so īv1ti ol1je ed1li iz1ni ēr1šu eb1si ēv1ze uz1za er1ne om1pa ec1kā in1sa uz1ža ūs1ta ap1ļā ūv1ga iv1ri aļ1ba ob1ša ir1zī aš1mē āt1ru az1sa iš1ķi ok1nā or1mo iļ1ļa iņ1ru uz1gā uz1vā it1ri om1de is1cē is1mi op1ga at1čī ar1nē uz1ho at1bā ir1ži el1fi ir1ne ar1dā uz1fa ap1ki ur1dā āl1ze ār1li or1bu ap1ti um1ga ek1ņa al1pi us1fa ār1vo uz1ģi e1dži ig1nē uz1te ot1va ag1ļu os1pā īk1ņā īk1šu e1dze iš1jā ek1ve at1ļa āl1si or1zā ul1lo ab1va aņ1ķi ār1ķe ur1vo ap1ze em1ni oš1ņā ūž1za ēr1cē ap1hi ek1nī uz1ņe in1tā un1cē ib1lā īr1ga is1ku uz1zo ug1ši am1zā as1me un1dā ak1sā it1ļa ur1nī uz1ņē ēz1tu ab1tā ār1šā us1sa īg1šo eņ1ca op1lo āp1to el1mī eč1zi eg1ku al1pē ik1rī al1vē it1ļo em1mē iz1ba is1dā īd1mē en1ve ap1ju ol1ko ag1le ap1tē āt1nī āv1va et1so an1hi eš1kā ir1šu es1lā os1me is1tī ur1ne et1nu ap1mi ūz1ma or1mī as1za an1cē es1ni al1fa ēr1bo ur1ģe āg1si is1de īs1sa at1mi ēš1ļa ūg1da ūs1nā ār1ra un1kā ok1li ē1dzū ēg1nu al1bo op1da et1ķī ur1pi ār1pu ok1sī it1ļi ap1sa ip1ci ar1ša av1ma ec1vā iv1do ūs1ti at1dī ār1žē am1na ak1ļā iņ1me uz1ha ar1mi eļ1ļi ēp1tu of1to ag1rā il1zī ēg1šo il1sē is1ba ap1ko ug1šo ot1mā iž1ni ār1tē at1šu ep1šu uz1ģē ag1lū up1lu ām1gā ar1šī it1ve ak1ma už1pu uk1te uz1lo ik1ce eļ1rī et1na āl1ra oz1ti iz1ze ap1zo ir1nā ad1le ēt1ho ad1mo un1ta a1dzi az1ko āl1pa uz1nē ug1ma en1di iz1šū ag1rū īr1ra as1pē ok1ce en1cī il1mā op1su al1šu of1li ev1ma ab1ļā a1dzē ud1ru ir1zā od1bi ol1dā ap1ci il1dā ok1pe an1ki as1vī od1ru ur1pā āj1ga ēr1da ep1ju iz1re iņ1ka ār1mī at1lē ir1sē iš1ļa ēg1ša āš1ņu ar1gā av1la aļ1ni iz1fo il1la er1mu up1šo is1ma āl1sā ap1ļē ur1dī as1tā ul1tē es1cē ud1lī on1ve uz1ģe ek1me āš1ņo ek1la āl1ga iz1di on1vo er1tī on1ja uļ1žo ār1fo ak1rī ev1bi ij1ci eš1ra um1jo az1me im1šu aš1da or1tē uz1rā ār1vu al1ba in1ge ab1na an1ci īs1lā il1šā am1za al1jo ek1le im1dā iņ1de oļ1va iž1ra am1mē ok1rā er1le ok1vē ok1rū uz1ķē eb1ti āv1la a1dža iz1ļu on1ka uz1do ār1ķī ē1dzā an1nā āģ1zo uz1ča īt1bi am1da at1kā ēj1ko ul1du op1lā uk1šā ik1nu oh1ro at1ti eļ1dā it1li uļ1ļa ūs1mi at1he at1to ec1pa aņ1pa om1bu ig1tī ap1me er1so an1tu on1fi aš1ni īv1ja oņ1ma il1rū ap1pe em1di ār1pī er1žu it1rī al1tu iz1kā an1gu im1tu an1va īn1dā el1ti ap1sī ēr1be ez1ga ēt1ki us1tē īn1ko el1ze ab1lī ar1tā aš1ķū en1vi il1fa ik1ti eg1ri et1vā us1mi um1te eb1jo eļ1ģi ar1ha al1mi ig1lā ek1vē is1le eg1rē el1tā ap1ģe iz1ri er1to ug1to el1lo ār1lū el1sī el1fī oņ1da in1du eg1si ub1ļo un1zē ar1bī iz1ju ap1nā at1ce ej1da am1vī eņ1ķi oš1ļā ij1me ob1ra e1dže ap1pī am1pi īķ1ma op1te uz1cī oņ1te at1vā ap1ņi uk1lā ir1so ak1me ip1lo ik1ca ap1fi oj1ne iz1pa ok1to ok1ci en1mu ip1nī ol1za ār1ģi āk1ļu ēr1to āl1šā ef1le as1li ar1so as1mī at1re īs1co ar1nā ug1ta is1ta eg1ļu ām1ni ēg1ti eļ1ri o1dzi op1lē ip1nā oš1ķē ap1bū im1nā ir1gē īg1vā ēr1nu āk1si el1mo iz1ņi ap1mē al1pa ol1ti un1vē os1mī āk1li as1pā ēr1ķu ul1tī ij1ti im1fa ūs1ni um1ba um1me al1dā us1to iž1ce it1cī or1ņa ad1rī ur1ba us1vā u1dze oš1da ok1mī ež1ģi ef1li ir1kā uk1ti uz1dā ēr1ģe īg1tē ūs1te is1vi il1ti eš1ļā ik1me or1de od1va ur1zi iz1či uk1nī az1ma uz1ja āb1jo at1fa ev1ri iz1jo īs1pa u1dža od1ko eb1ro is1li at1mu at1sa ub1ri ab1me ēļ1ni ār1hu ik1tu ok1sa em1dē ab1lā um1sa og1lē āg1ta ez1li ob1ļā ad1pa ig1na or1sā ir1da an1sī am1mu ul1do ār1či uz1vi ol1ho em1zu ut1ni el1šo uļ1vi īk1šo is1lē uz1sa ir1gī ež1va īb1ne īd1la it1vi ēk1ve is1sa em1pe ēj1sa id1ra ol1da il1ca uv1re ār1tī ar1bū ap1mo il1ža a1dzu ap1se ub1lā as1pī er1tu īc1ni ip1ra og1lo ib1lu el1na uļ1ni ak1si an1ši ēr1zi er1ke am1ka on1za ār1bē ud1ni ak1ha us1mo ār1ņe at1dū iz1žu ām1ma aj1mu uz1čū aņ1ģi iz1ho ēj1ni ir1ni ek1tu ās1ku el1žo iz1ģe ēr1ķi ēr1se īr1sē iz1na ob1ro al1go um1si op1ļa ur1tu or1tā ul1cē iš1ķo ad1ro it1če il1vi uz1se oh1lo od1ne iļ1ra īg1no ap1ni oz1ni il1me ur1da āt1do ar1he in1tū ul1fī us1gu ul1cī al1bā ib1ra ir1ga ul1gu ān1ri il1gu ab1pe op1to il1zi is1ķi uv1cī ap1tā až1re iz1pī ud1be ek1ne ab1ļa iz1ki ar1mā iļ1ķe ok1ro ig1šu at1bo ār1pū īb1ta uz1kā iz1bi um1ma or1ko an1vā es1le is1ci op1mē ām1pu ir1ba os1tē ig1rē ok1da īk1le el1te ek1ru ok1mā ob1ja ar1gu iz1ķi or1gā ij1jū is1mā ūk1nē al1ce ēs1tā ur1la īv1bē ar1bo až1vi iz1li om1fi ar1ni ār1cē uņ1ni ir1pā uk1šu in1fu op1ļo on1mē ēš1la ūm1ju on1me is1ja āl1da āj1pu el1zi ēr1ko īs1tū āb1ta it1re ēr1ta ik1ne aņ1ģē es1na uš1ķī ēk1sū āp1jo ār1ja op1li ib1rē oš1ķa ag1ta ob1jo ok1lē ul1ku ip1te ar1cī ār1te īg1ša uz1ki ās1la et1ro ās1ti ar1ti iz1sa āk1zi uz1sē em1šo ok1so et1ze ar1žī oš1vi ap1ri ad1ru u1dzo āp1nē at1za ūr1li iv1la or1va ūv1be ep1ni eņ1sā ūr1vē āz1tā ēb1šo ev1lū ib1kā īt1da um1ša ug1sa ik1da ak1lu ēr1ļa os1mu īņ1la if1rā oņ1tū eg1ne is1mo uz1šū on1tū ob1šo in1va eg1lū ir1pi u1dza us1la ūs1pu ib1to iz1sē ap1čū ok1lā uv1mu īk1sa āķ1ve iz1mu uz1mī uļ1ķo ar1hī ēl1me īg1me ag1ve ur1vu ār1ha ed1ni āt1se at1ņa at1sū ūk1šu ol1me ūz1mē ip1to at1tī ēs1ta us1ve iņ1pu ol1va in1ši āp1ta ar1ko ēk1si el1zī er1nu az1pi ār1bī uk1la ek1ņi er1ro ēt1bi al1da is1pe īk1mu ēc1pu in1dē ūr1ve es1tū ēr1mi ez1ko ār1ko āl1lē ep1te ār1re an1ce od1ku ig1ru īk1tu ēž1ve ap1no ul1ga el1ve at1ņe ār1pā op1bu iv1ti iz1dā ig1ra ij1va ēr1di iz1lo uz1bo ās1nu el1ņa us1ne ev1ge ab1di uz1jo ār1kā eb1re ir1nu op1tā il1li uz1pī āj1do ēg1tī ul1re eļ1ķī ej1nī av1ļu aļ1ņu ūs1ga im1fo ab1ta ut1ne iš1ķu ez1nu or1sē ep1ļu ūt1si ik1le is1ga oz1to op1ti ur1šo il1kā im1du ēr1ba iz1no ar1je am1du ul1lu ot1ni eš1si at1pa ab1to ip1zā ūs1tī at1mū ī1dza im1bo op1tu ak1ta es1ve īk1ma ūk1ša in1di uz1ži iz1čī ad1vi am1šā iņ1ņa ār1ce ēd1ma ik1ni ap1tī ap1zu ep1sī am1pe uz1lē iņ1ģi uņ1ķi ur1pa eb1ra eš1me āt1ni or1me uč1ka ar1vi en1gā ar1ši uz1la es1kā uk1ņī ap1gā er1vu es1nā ir1šo iz1sī at1gū ar1ma ef1ro eš1ķi on1nī ap1ho ez1zi oņ1re ur1nu am1be ek1no is1jē āž1ni ag1lē ek1ci el1da es1pi ož1vī oņ1mā il1pā ok1la as1lī en1ze ām1vi ir1be ik1lī e1dzo uz1ti ul1ta ār1gu an1so ik1si eņ1ze iv1ju ag1nā ār1bi ib1ša or1fo ūr1zā ap1ņa ap1ji ēr1lī u1dzu en1rā iņ1pa at1ķī ār1vā ap1ļo ār1ca ek1šā ēr1ka īz1da us1di īk1to op1sa iv1ko āb1ti il1jo iz1ra ir1se uļ1pa iz1ņa ār1fa os1li ez1ma ar1si oš1ta eh1ro až1di er1sā ep1sa el1je āt1ce ek1lū an1dā ig1rā is1za ok1ru eš1ļi āj1mu ot1rē el1ka ur1čū eb1šu uz1žū eg1ve uz1ņu ob1ri ap1bi iž1ga av1va ūs1na ēj1ra iņ1ni eg1tī uš1pa ag1ma ur1ķē on1go ēr1ne īž1ni ir1ģe as1kū ēr1cī el1ša ēr1nī āk1ti es1mā ap1dē īn1me ig1šo es1ki ot1ne ab1rā ab1te ib1rī ir1po az1do en1sī az1nī er1bo al1bī ib1lē aš1ha es1va et1ru ez1jē id1ga il1tē on1ki il1na ur1go oņ1pa ur1lī od1pi īb1to iņ1va ad1ni ev1ka ar1la āb1tu at1vī er1su us1ku iv1vē iņ1za or1nī an1do ūt1ne om1bi an1to el1dē uļ1sē el1jē il1ča ās1lē as1pu uz1su uš1ku om1po ul1bē ēc1mē eņ1ko īv1zā eg1le is1ce is1ni od1rā om1na ul1mi āk1ļo ig1mu ir1me eg1ra eb1ta al1mu is1ki in1jo īn1vi ef1lā ēj1ca ar1hi ul1ba om1ja an1kā am1bū op1tē ol1lo am1mā at1ķi ad1hē ot1ma em1lī āl1le as1mē ūr1ga ik1la um1so an1dī us1lī ūr1ta in1že ip1ri ej1se ul1ki eg1bu il1šo at1pe at1čā ap1lē eg1lā īs1re ēr1ve ek1ca ap1so ēr1mo āz1ta or1tū āk1šu em1ci ok1ne ēd1nī es1ti il1pe ip1na ik1va os1lī iz1šā od1ri ob1rū un1va eb1ku il1to ir1tī uk1ro iz1cu āž1ra ur1di eb1ju ul1so īs1lo ēj1čū in1fi ur1za il1va iz1fa al1do ib1si ēr1bā os1ni oš1re im1ba ig1si ūr1fi ec1pu ak1to el1so ek1rā īs1va aš1mī en1ti en1pu eb1ri am1ma es1me ūn1vi ak1ci ēp1ša eš1ni el1vi ov1ka ēz1do iz1lā en1tū en1su ur1nā ot1ro ob1re ep1žo at1ķē ēp1ti en1ci at1bē uk1to āg1šu il1mē ār1žo is1va ēt1ce un1ro eg1me on1bū ah1ro ād1re or1ni uģ1ni uz1so uz1rū īs1kā īs1pu ar1šu ar1sā el1bu il1ta ur1ķi ak1ne ap1vē ār1ča av1ve os1pē aļ1ra eš1ķe ur1zo as1va uk1či ar1pi uk1ra ur1mē ez1se al1pī um1za īs1de aļ1ru uk1ko eb1le ul1ju āt1ze at1bū ez1vi at1šū ag1ra āt1kā īs1te iz1jū eš1ņo ur1co ar1bi ūs1tu it1ka en1sē eš1ņa ag1ro aļ1si id1ri it1no ež1ma os1pi ev1ti ēk1pi ap1tū us1mī el1hi iz1ha eš1ļu ām1vā un1gu ā1dzī āl1nī eb1li od1re āk1la ab1zi af1ni ād1ni ig1ri ek1ga uļ1mu on1va īv1ko um1ra at1pā ub1ļa er1nī ug1ļi aš1ke ēr1tī ap1ba od1jo ok1ļū us1tu uz1ķe ih1ta iņ1ga ēp1jo un1ce il1ši īt1ne oš1ķī ig1ta ol1lī ūk1ga es1pē et1bo ez1di ap1ķi uz1ca ig1mā or1ķa ez1to āp1ju ēk1nī at1ļu es1sē ir1pa ap1ra up1li ul1dī ē1dza ek1so ol1zī ēr1co or1ka ad1ja en1ra ez1ba iz1go en1hā ez1ka et1re ah1ve il1pī ep1lu eg1ti im1fā ih1nī ēr1dī ap1čā ēj1vi an1tī eņ1tu ut1ru ēj1tā ur1bu ur1de es1no am1pī un1vā iž1ku uk1lu un1bū un1tu is1nī ub1ļi ap1či ūd1ri en1lī es1pā iz1čū ob1ji ez1tā em1žu op1lī ab1lu od1rī āj1sa uk1ci an1žē ūt1ri un1dē eg1gā ur1pū il1di iķ1ve eņ1ka an1tū āv1vi īt1ro iz1ro āl1di i1dzi ad1rā ap1ne at1va iz1ma ūv1ko ūt1nē až1va ān1sa uz1zi as1vē et1vē iļ1bu aš1vā ap1ka iz1pi er1ša ed1na im1dē ag1nē āj1bu ād1ve eb1tā us1pū īt1sa ap1ži ūr1ni og1ļa āt1nē el1vē et1la og1ru iz1ka al1sī ir1zu om1fo eļ1jū il1bī il1sa uņ1ģī ej1sa or1nē am1ta ul1šo or1pē em1du ur1lo at1be ur1si ēr1ti er1šo at1pi or1lo ev1na ec1ri ol1ba iņ1kā ār1hi os1fā at1lū og1ni aš1sa eg1li ij1de eļ1mā il1nsa ir1pti iz1šķo ēl1mju uz1glā ap1slā op1ska ek1špē al1tru iz1smē ēr1kta us1kri il1bsi ul1gri ap1sku at1frē is1pru at1fri um1pja ār1brā os1tga as1pre ār1sve ūm1tve ār1brī uz1fra iz1dru ēr1ptu un1dzā ut1ska īk1šķo āb1sti iz1hlo ēr1šļo ap1gro at1šmī un1spu es1tro ap1blē et1rka us1gri at1plā on1ste ap1šķī el1dze ab1sce at1kļa iz1prā ug1šde on1fli at1stu im1šte ir1kta ar1bnī er1dzī en1dro ok1snī uk1šķa eš1bļo īt1ņmē et1rde ir1mbā az1gru in1grā uk1ska ap1spo āg1sti ug1špa al1kva ez1tne an1gli udz1ba ūk1sli at1sma ap1fra iķ1skā uz1sma īp1sla il1stu iz1gra os1krē am1sti uz1pre ez1gla īdz1jū us1trā iz1pla iļ1krā ēr1zka ap1pro ir1sno ir1smo ir1mme er1dze ān1prā ap1bru ēg1sto as1bra ek1šne ēr1bšo edž1li as1tru un1dra āl1pro ār1grē ēr1stā ar1pta īk1stu ez1spē am1skā ir1kļo on1gru iz1šta āļ1dzi āl1štā īs1pro ur1dzu ir1stī ār1šļa uz1gru el1pšu al1frī ek1šga ir1mdī ek1sku iz1spu uz1plū āk1sla iz1dre in1ssū uz1gle om1pre ār1gti udz1cī iš1brū uz1kru uz1sli uz1klā at1ble īdz1ni iz1smī ār1sni īs1spa iz1pre īg1sko iz1žva ir1gti ēr1bta īt1pra at1gla as1dzi ap1skū uk1šķe at1dzī uz1šta uk1lva at1dzē ār1šma es1prā iz1blo al1sti at1zvi in1dzo uz1krē at1kvē an1brū ur1ksi uz1stī op1sta in1sti on1sti uz1pli at1kve as1krē in1sda an1smi ap1stu us1tpu uz1kņu ār1blo on1gli ar1pli ap1šļa us1kre āk1šķu al1vja iz1sni ap1pla uz1brā iz1brē eš1stū iz1svā ēr1kša ug1sta at1blo ap1švi il1dno iz1glū ir1sdi im1pro ār1tre iz1bri āl1bra at1bri uk1stē iz1brū at1plē il1bšo ur1dza ik1lpa āt1rra uk1sti ur1kša en1džo ār1svā ap1krā īk1šķi at1rre iņ1zva at1žvī ār1blī ēr1sta ār1smi iz1šmī ug1šna iz1skā uz1trī ap1svī is1prā ek1sta at1sla at1trū āk1slī uz1kna il1dvi ār1dzi uz1šņu is1tre iz1svi ap1dri el1dmē ul1gto an1tzi is1kvī uz1kļū ār1šņo uz1frē ib1sto ig1sta in1ktī ir1sni en1sne em1pjo ēr1btu īn1skā ēk1šņo ik1smē es1trī at1šķū at1pla in1gto ot1rdi al1cvi um1bri uz1švi is1glī an1džū ap1sle uz1pļē ap1šķe iz1ble ap1šņa ir1mre en1tra ār1tra ul1snē iz1spa ep1sti ūt1sga āg1sto īb1sta ap1pļā at1kle il1gtu iz1spi am1tra an1fra uz1frā ēr1nva uz1stū ūk1sto at1šma um1šzi ug1stā at1špa il1kti īp1sle iz1tri os1tro el1pšo av1sta ak1tda ik1snu iz1stū ok1tri ap1gve op1spē iz1pra el1ptā es1tra iz1kni ān1spē os1kva ol1ste ul1dzo ek1šzo uz1ste uz1brī in1skā ār1švī il1nvē ūv1pro iz1šļu ev1ski en1zda āt1rda ēk1šķu ig1sto ēr1kšu ēr1ktā iz1skū an1kre iz1pro il1spi al1kto ok1zvē ap1zva ār1zvē un1tni ak1sti as1tri īb1spē os1mve en1sžu el1nru er1csa uz1zvi al1vtu at1dzi um1krū ot1frī ap1klī an1sko el1dko an1tkā ap1gla īk1šņa ār1gve il1dba es1tma uz1sti at1drū ul1pto uk1smi as1trē er1tro īb1sti id1spa at1trā ar1pna at1sta ek1trī at1šņo at1zve ig1zda ir1mpa ak1tni ir1kšo ār1plo ār1prā il1nti om1sva ēr1bja il1trā al1kta iz1dza iz1šma at1dza iz1kri ol1skā en1tni et1sti at1tru iz1špa ur1kne īg1zna ul1sva an1tza ār1tņu īn1krū uz1šņo ek1tkā at1plū il1kni uz1žņa ur1sli iz1tre ap1stī or1dda ur1gra at1glā ās1tni uz1žmi at1dze āl1sti ēr1slī el1nze āk1ste op1pla at1prā up1sto em1plā ib1stī up1sti ār1špa ēj1pla ār1hlo ap1frē il1kto al1dzi on1tri ar1gsē iz1frē ap1bro ul1tne im1stī ug1špē em1pta at1grū as1tma īk1ste iņ1krū il1kšu ek1ska is1tvi ār1dro iz1tro us1smē el1zta ēr1psi āk1sme ēs1tne ār1grū ok1gri up1stē ok1sko et1rro un1dze ap1trī uk1šķu in1sri en1tri āj1dzī ap1fri et1rpa uz1klu ik1sme ār1dra iz1kvi ēr1pto at1plī od1pra at1glu ap1fli uz1gri at1krī īk1stē oš1prā an1frē ap1sva il1bta ek1smē ār1šru us1tmā īk1smī al1dķi os1trī in1ssē al1tga ir1mkā ap1zvi ūg1sto em1pli uz1ble on1spe at1spā ār1sko ap1trā ek1šli āl1skā iv1pro ar1krē iz1tra uz1tri uk1ste ir1klī ap1kna er1spē ik1šķa ak1šķo ur1gšo al1dga ap1kla ap1svē in1tri im1tga in1šķi ēr1bka ēr1sti at1ska āb1sle ap1slī iz1slā an1gļu ir1msā ēr1pša or1tlī iz1dri un1kta el1dzī em1ztu en1ksi ār1kna un1kto ap1klu at1tra at1brā at1žva an1kro ap1sme ūg1sti ar1tmā in1gti ār1sti ik1stē om1bve ap1sko ār1ple īk1smi ug1sne ap1krē en1skā en1szī āk1sne es1pre ēr1ķti āl1sma īr1ska at1slī us1krē us1ska el1pta en1kto ar1bga ār1tru eņ1krū en1trē ār1spu en1spu al1ktā ik1sti em1zti āt1stā al1kci ap1kļū el1nsi ēr1nru ir1dza ār1klī at1tre il1dma īk1pla ap1sni el1kme el1nbā ak1smē āb1sto un1drā uz1glu uz1ska en1slī an1sli ēr1sba un1dro el1zto uz1trā uz1spā ap1dzē ap1dru in1dze ed1gri eļ1blā an1kci os1krū iz1spā an1krū ir1sra it1sko ir1mso un1ktī iz1slī er1zto et1pra ur1tra al1tme iz1slu il1gti iz1gre ek1šķī op1sva uz1tru ar1ppa in1dzē ab1dzi ur1tni uz1bri ab1stu in1gra uz1sva iz1krē ap1dzi ug1šte um1bru at1dro ir1sti ur1sti āl1sko at1klu en1kšo ut1skā il1pšu ur1gšu ar1knā ap1knu im1bra ēk1stu iz1knā il1bto āp1sli us1tru ak1šņo ap1prā ir1dzo en1krā ār1spē ar1kro iz1dro ār1bra il1dnī el1dba al1bri uz1brē ot1gri at1tvē ur1sme uz1šļa ek1šte at1šņa en1sro āk1slo an1žsa uz1plī an1tra il1bša il1tni us1glā ur1gti īg1stu ar1zva ol1lmē iz1kve ar1glī in1kru ap1kņu ir1pšu ec1skā ar1dzi od1ršu al1tma uz1sle eg1spa ap1šļi ek1šķo uz1spo ar1kto iz1zvi uz1šķo il1trē or1tre im1šļa iz1blē el1gti uz1slē ār1spo al1dka uz1bre is1tzo im1fva az1pra ap1plī aš1kri ir1pji uz1šļu iz1sla em1zto ur1kri al1tna er1dzi en1kti at1pļē ēr1slo ar1gto ūk1šķi in1dzu es1pļa oņ1pri uz1bļā us1tro ij1skā ār1fra iz1tru og1dzi ij1spe ij1stū uk1šķi ār1trā uz1kla ek1sče ik1stu ar1ppi iz1šņu oņ1sli il1psi iz1gro ēg1stu uz1sku ol1stī ur1vci uz1smī ur1zma en1sve er1spe uš1plē ur1bšu at1stū iz1sme el1gšu ec1sta ap1kra ek1šda il1dde el1kņa il1dle el1psi ap1stū ap1ple uz1ple ur1kšo ār1dnī ēr1pju ēk1šķa ir1mte ug1ļķe an1kvē il1gta īr1šķi ap1svā ul1lpu es1nvē uz1gve at1pri ug1šda at1šķo iz1plī ār1bri al1dkā udz1ma un1ssa os1prū iļ1ņve er1che ān1skā ab1ska ēr1sli ār1krī al1kšu ur1sto ūg1sna uk1sto ir1mcē id1sta id1slā ut1sko ir1stā ār1pro ir1kti ār1kre ap1glu as1tne iz1švī uz1spu al1nrū ār1spa un1ktā āb1slī ār1pļē ir1bju ur1bto el1svi un1ktū ug1šga ir1sli uz1fri ur1bta āb1stu em1brā om1pro ez1glā ep1sto al1kme iz1blī ar1ksi īk1smo ār1spe ap1krī iz1šķē ur1tkā ēk1lko ār1tna il1dsa al1dni el1dce on1tru iz1sto ūp1sto ap1žvī ap1tri od1gru ār1gtā iz1gve el1gsi er1nha at1švī ār1hro il1tvā uz1sme at1sve im1tni uz1pri ēr1sra as1krā en1ska iz1glī us1tdē ol1tme ūr1stu um1švi at1šļa ār1knā uz1tre ok1šņo at1bli at1sni el1gto ek1šķe ab1sti un1fte ap1gri ir1ste ul1sni en1tvi am1plu am1zda ik1stī at1knā at1skū is1tro is1trē īg1sta ir1spu am1svē ār1bru ec1stū ul1dza il1kšo ār1plā os1tni īk1sna uz1sta ār1zda ār1šķi uz1bli ek1tro ap1grē ur1bšo ir1slē iz1kla uz1trū uz1tra ak1sto os1tre uz1dri ir1sma ak1šķē ak1tli ek1švē ās1nku el1zti er1cba ēr1kto in1dsē al1kša um1tra ip1sna eļ1ska ār1šķī ap1kri ār1šķē el1drē im1pli uļ1dzi ir1pta ēr1pta il1pra up1stī iz1fra us1tre ub1krē ār1pļā in1fra il1kta ir1mpi ap1šņo at1sku un1dzi es1trē an1drī il1pto adz1ni ar1pju in1gtā iz1gru ap1šķo ēr1skā ot1rpi or1tfe ir1mti ik1šķi an1tmē am1bri un1dža il1pšo as1brā el1gšo ap1kvi ug1sme il1pne ēt1svi ir1kša as1sko ek1spe en1kša iz1bre em1pti ār1gre iz1frā iv1stā ul1šņa ār1kro as1pra il1ktā at1sle iz1glu ik1snā ok1šņa um1šma ār1gru ār1sme at1sna ur1kto ik1sna uz1svī us1slo am1pda em1ztā uz1žva is1smi ēr1tnī ār1gtu ār1drū īg1sti ap1tro at1sme iz1plē ir1tni ak1šžo il1sku ul1bša um1spo āk1sli ap1blo ār1dze ār1kva uk1sne āt1rvi ap1žva am1stu an1dra ār1gšo ek1stē ār1slo ār1gto ek1ļve ek1spo ār1tsa iz1dži ar1blā ēg1sti ar1bdi uk1šķī il1bšu or1pro ap1hlo iz1trī as1trī uz1smē ār1spā is1tri ab1klā uz1hlo uļ1sti at1fli ut1nko iv1krā ur1tdi ap1glū ār1glū om1skā at1sto um1sta ap1gle al1sma el1tra er1sto el1dvi iz1fri et1sko at1tva ār1kle āš1kru er1tce ap1kru us1tri uz1gla ap1ble il1sta ap1sve iz1dzī as1tpa em1psi iz1tvē ac1grī ēr1dzī ul1lci iz1šļi at1žņa ov1smē as1ska en1tge at1plu īs1šķi ār1dzī ēk1šņā el1nko ār1sku āv1sti āl1dzi ēp1stu īv1kla im1tmu os1pro ap1spē um1brā ul1dzi ār1stā ur1knē er1trū el1nba ār1bro ar1sme ok1sne il1ška at1svē ar1vde at1slu iz1bro ēr1ste āb1sli us1skā at1grā āp1stu ār1brū am1stī as1tmē iz1kņu en1kla iļ1sli um1sto ap1bļā uz1sna ol1klo er1tme iz1fli al1stu ap1špa ar1sti āk1šķi ār1dži um1bra ir1dzu al1kjū ap1smī āb1sta iz1kļa ul1ptū ap1smē ār1tnī ar1gva udz1so us1stu ap1ste ul1zna ār1glā ār1blā ur1ska il1stā el1nra ak1tri at1kņu eg1sme ap1grū ēk1šķo in1spi ik1sta am1bli ir1dzē ēr1ktu ur1kni el1tni iņ1krā iņ1kre iz1kle an1spa un1ska am1stā ēr1pšo ār1fli ir1mri ēr1btā at1svi ir1spa ār1tnā ap1šķū en1drā ek1šni at1trī ar1kti iz1pri ig1znē on1spi ul1kve ek1šķu āt1sko ek1sne īs1krā iz1klā ēj1tve ur1kti og1ļhi or1tme aš1plū ēj1slē am1pla ēs1tni ur1bsi is1tka is1dzi iz1spe ab1sta āp1sti as1tme os1tri udz1da ur1dzē at1šļu at1bra un1kla er1zti uz1pļā ār1dre il1gša iz1ple iz1žņa er1ztā el1dše ir1knē eņ1krā ēr1ssi al1sno ūp1stī ir1gsi iz1sta ir1sse uz1spe ek1sni īg1snē in1dzi at1kli ar1bve on1glo iv1ska il1dni ār1kra ār1blē ar1stā ār1sli eņ1ķmē ēr1bsi ik1smī āl1sci at1dre až1brī iz1plā ir1mve uz1gro up1jma uz1dza em1pto an1kto ež1sta ēr1šļu ap1brī uz1kro uz1skū uz1krī ap1šmī uz1kvi il1btā or1tje es1krā at1tve ul1stu ūk1stu en1kta ēr1stu ar1bma uk1stu ēr1nzi uz1slī ūk1sti at1sva ap1pļē il1nmi ir1snī in1dni āj1prā ar1sbu at1spa el1nma ek1stu is1grū is1nle āk1stī uz1stu if1šte ār1spi īk1stā ar1ktu ur1ktā āj1dzi ēr1bto iz1zva at1knu at1fra en1sra al1ctī ār1bre ar1bni ār1tni ez1pro an1tnī ēp1sti as1trā āp1sto īr1sva iz1šķa ig1stu er1tra es1tru as1grā al1sna ur1pre ur1mjā ēn1prā at1pro ek1ļpa ik1lve ēr1kšo iz1gla ap1sna in1dza ār1gra ir1gto iz1sna an1čki ap1tva ār1sna um1špe at1zva ig1zdo en1sva et1rga il1gga īk1sme al1stā et1rri iz1dzi ār1pra iz1trū ār1pli ēk1šķē āj1sta iz1kro ur1kšu iž1knā or1bci em1ptā an1scē ir1kšu al1tdi ēk1šņu īdz1ši ot1rre āt1spē ēk1mju āt1krū il1dda at1svī udz1kā ār1trī ar1ktā āl1ska en1sli es1pri ur1btu ug1stī uz1plā em1zta iz1bļā īk1sti uz1spa ār1tve an1dce el1dse uz1kra ap1sli ir1gta uz1slā ir1kli oņ1plū ur1gto an1grē ūk1sna āv1zva an1slā ek1švā ār1žva ār1šļu ap1frā až1skā at1pre as1tti iv1plā uz1grē ek1šno iz1grā uz1bra es1tpa ur1bra iz1kļu im1sto ur1gtu om1dzi ir1gka iz1šķe ek1sti uk1šga ār1sma el1tka ar1gma al1nra uļ1krē ar1gka iz1svē ēr1sto il1špa im1tci uk1plē el1pti is1dra er1sme ul1snī ār1krā āt1sma ir1stu at1pļā uk1smu an1dtā en1kšu ar1sko ēr1pti ēk1lva or1skā uk1sta ep1sta ār1tri ir1kņi ul1stā et1rvi il1btu ār1sla at1pli el1nsa ur1kmē uz1bro al1dne ār1frē un1spū ek1šķē en1pro an1dro at1bru ak1snī uz1tvē ik1spā uz1blī ap1šķi el1dra un1svi at1spu ār1fri ep1stu ēr1szā īb1sto ār1dza ār1gli el1kne ār1tne un1prā ap1kve uz1kni ap1dra ār1gša ār1kvi ir1zga ek1šgā ek1sve at1gle ār1stī es1pro al1kma iz1klī ug1sto az1pro āj1sla en1tne ul1sti at1kre ār1sva ār1šķe iz1kļū ap1slu il1zka ek1šme am1pšo ūr1sko uz1grā es1grā ap1šņu ir1kļa ur1lmē el1dfē az1dru at1rpu um1stu es1grī iz1kna as1smē ur1spī eņ1skā ār1slē udz1vī un1dru ar1ska eņ1tra am1pli uz1kli ul1gtu ēk1brū us1dzī ap1stā ar1kšu es1kra iz1brā ir1sta ar1gce em1ptu ur1ste ār1dru uz1pļa at1glū ad1skā ov1skā ak1stā ēr1zga ir1mga in1gtu īdz1te ār1drī am1bra īk1šķu ur1gsi ab1sci on1dri il1pju āp1jve ar1gbū ul1gšu ār1dva ār1tno ap1plo as1tka il1gšo iz1ska ār1dni ap1dva īk1snā ap1blā as1pļa ap1kre al1pre em1pšo ap1tru ak1stī el1sku ak1ņve ak1špa aļ1ska ūr1sta at1bļā in1gve at1hlo ig1frī ok1snē ār1gri ak1šķi āt1sna ul1tsi as1tni ir1sto an1sfo ek1šla ul1tzo ob1spi os1pri el1bri ār1žvī at1blī ot1rti il1gsi uz1zvē in1spe ir1ptu ag1sva iz1kli ok1sni el1gra um1spē ūp1sti ak1stē ur1kta an1dri ir1pto iz1pli īv1drē ar1pzo ur1bti ul1šņi at1blē og1ļra iz1sle il1pro il1gto eļ1tra iz1slē ār1kve ur1btā ār1frā al1tla ur1pmā ēr1ksi al1ksi ir1kņo in1sra em1blē ib1sta in1sci ur1ktu iz1šķū an1tni ām1glā ur1zva īk1šķē up1rla il1nga il1gla ēk1šņa en1prā uk1špa at1pļa iz1šķī ār1gšu ir1gša ul1dzē an1kku ul1tni un1dzē ap1sma er1sti el1ztu ir1gko im1tre us1sna ūk1šķu ik1tni at1brē as1kra an1dža am1plī ar1kša ap1spe an1ska ih1svē od1sli ēr1pšu ar1gre am1sto ān1ska or1tvī at1svā uz1šķū ūr1sto in1sce ud1spi udz1ga al1snā āg1stu al1tro at1šta at1kļū udz1vi ap1slo ap1gre iz1šņo ug1stu im1sti up1stu ur1stī os1kra ir1ska og1ļde um1dzi in1kvi ed1kļū ul1tra iz1sko el1gtā ur1gtā iz1pļē ap1smu er1stī āt1ršu ok1šņu ap1šķa āt1dzī at1tro at1brī al1sta udz1ru ar1gtē in1sta iņ1ķve at1kri al1snu iz1zvē iz1klu in1hro ir1ptā as1kvi ur1spi iz1kvē ār1skā ir1gtu āp1sta uz1bru ed1krā et1sta al1vga am1pša ar1pga uz1sla at1šķī at1dži ār1kļū ār1šro eņ1bra īk1gru ār1klā ak1ņko od1prā at1klī iz1stē ār1žņa at1tri ik1stū ek1šzī ār1kni ār1pre ap1klā ul1gta ēr1pjo ār1gsi iz1šņa iz1gle ēr1bjo is1stū eļ1drā ik1ste ēr1nga ap1tve uz1skā ap1knā ik1snī am1ble ek1stā ol1fga em1bri uz1spī el1dma iz1slo ar1gkā iz1svī ūg1kri un1kti er1pre uz1švī ap1dzī iz1spī ek1tda ēr1dze il1ska ār1tnu ur1bša ap1tra ap1dze an1ste in1ktū er1ztu as1pru en1sca uz1svā il1dmē ik1sni ār1brē āk1sto āk1slu ap1bri ap1stē iz1sti ap1pļa ār1šta īk1sne un1tra ok1šķi ūs1tni ok1trī iz1glā om1ple ār1kri uv1bra īv1stu āt1rgā ār1pļa uz1klī uz1slo at1gre eļ1bri as1prā ig1žņa ēr1glē ūr1sti īv1sva ah1tve ūk1sne et1rsi uz1špa an1dze um1pra er1plē iņ1sti at1drī at1dva in1tnī in1gvi al1šķī ap1slē id1plē il1nva uz1glū iz1švi udz1pu or1tli in1kri ap1pri em1dvi ār1drā as1tro ar1dze āk1sni uz1ski as1tva um1sve ār1gdi ik1sto os1pre at1frā el1dre il1dva ug1prā ul1stī uz1svi ur1tda ār1slu ūp1stā ez1glu īļ1knā an1cle ūp1stu ec1svi ak1šķe ir1dzī uz1dze āl1spē ij1dro ār1kla im1sli ap1bli il1sru on1skā uz1spi ul1dze ik1šķo us1krū ek1stī ek1šro it1bri as1pri ik1šķu or1tku at1kni is1mju im1stu ez1prā at1sli ur1vma om1sta er1sta ot1rpu es1pra uz1gre at1šķē ur1dzi ūk1ste ap1smi ār1stu an1skā ūr1stē ur1zmi ār1krē er1sma at1šņu od1sko im1pre al1snē ap1dza iz1pļa il1krū at1spe uz1krā in1tra at1šķi at1bro el1tga in1tro on1tda ak1šķa as1tna ir1ski aļ1stu os1kni ēr1tni ār1trū er1zta ir1zma iz1knu ar1gku eļ1gle iz1dzē ap1sti os1trā uz1šķi os1tru ir1kļu es1brā ar1sto ap1grā us1tme iz1ski in1sva um1sko un1kni at1kvi uk1stī ap1pli ot1plā et1rmo el1djo ub1sta uz1sni iz1dze ul1gšo am1pjo uz1dre ar1pni is1mmī al1dzī iz1žvī ar1bmū at1spo al1šķi uz1kvē al1kti udz1re ār1spī iz1kra et1rre ab1sto uz1slu ār1plē us1ttē ur1sta iz1gri ot1rto en1sti āv1grū ār1tva un1slī on1gre ēk1sne ir1kni el1dpū av1grī or1tjē īk1smā īdz1ju es1smē iz1spo iz1brī um1bve is1kva īg1ļla īs1stū im1tkā ār1gme ār1ble āč1plē ēr1zci ēp1sta el1drā ak1šķu al1nga uk1šķē ir1ktā od1ska īk1sto ir1spe ir1pšo ēj1spē at1hro id1smi on1tra at1gve il1dķe in1sku el1dtī ek1šķi uz1kre ap1zvē ār1ska ān1sve udz1vā iz1ste uz1pla an1cka ež1frē in1gša ap1hro in1gtī ir1mdi ir1mva ap1svi uz1dzī uz1pro ēr1sna ap1dro uz1blo al1tva ek1šsē udz1ve ih1stā uz1gra ēd1dzi ar1psi ār1dri at1klā iz1tve ār1sle ul1gša al1tvī ēr1ļve ir1mzi at1dra os1pļa ir1kto el1nga ēl1spi ap1gru ēr1bti us1pli ik1sma ār1slī ol1ska īt1ska ap1dži ur1tnī uz1dzi ār1šmī odz1ni ar1gda at1ski uz1dzē el1tli ov1ski el1ztā at1blā ar1dzī is1trā as1tra en1svī on1krē ur1gta en1tmē ār1kru un1dri ār1gla el1pva as1pro is1pri iz1plū il1dko ār1šļi ar1tne us1tne at1kna at1kra at1spi ēr1ptā īk1sta in1grī ed1spi op1stu um1šsa ap1pre ap1trū ār1šķa at1brū um1šķi el1stu al1sto uz1kļa al1nze at1gru on1fro at1kla ap1brū ir1mtē īdz1nā uz1šmī ap1gra ak1šze ap1blī an1kno il1skā ir1ktu ēt1spē al1vni ar1gri uz1kle ul1sto es1krū iz1pļā uz1plo at1šļi ug1šma ec1sla īg1sto uz1blē ib1sti en1sto in1kli ir1dzi ug1zna in1gro as1prū ež1gra iz1kre eg1slā ām1grā ig1znā am1fle ir1pša eg1smi uz1šķa ap1šķē ug1sti al1ste al1nci em1mvi īdz1ti ik1sno ār1svē et1rkā ul1gtā at1spē ār1sto il1šmā et1rti ar1dzē er1cko ar1sta ēr1bša āj1gle am1pja uz1dva ot1rkā ak1šma uz1plē ak1špu ār1bļā ir1gtā ik1šķē uz1zva al1stī os1kle ār1ste ug1šžo ēr1tne iz1dva is1tru ek1šku ap1skā ar1gti ar1gvi uz1smi im1pto ār1ski ār1plū uļ1ska ib1snī iz1šķi ap1ski un1sbī ep1stē us1sko at1zvē at1sti el1dzo īk1smē an1sku um1sla uz1šma ap1žņa ek1šze uz1kri ir1mmā an1čka ēg1sta at1kro et1rrā uz1knā uz1stā ap1drī ez1glo at1ple ar1šļa ug1šņu ār1kli ot1rzi al1kvī is1tra ib1stā or1dni el1dpa in1gpo ul1sla uz1tve el1tta ap1plē uz1šņa ār1sta os1tbi ār1gle og1ļrū er1stu iz1plo ūv1bri ēl1spu iz1sli ap1plu um1sti uk1švā us1tra uz1dži ēr1npa el1pjo et1kre āb1slē ik1lķe an1spo im1tku ok1gre iļ1ska an1tku an1sjē il1pša ūk1snā āl1szā ol1sto us1trē ij1krē an1flo ap1glā āl1svi at1slo ur1bjo el1sme at1smē op1dzī ūg1stu al1tra er1tne at1švi os1trē ez1drā ur1gša en1spo ov1ska il1ktu es1tre iz1dve ār1smē at1gra āg1sta ūv1gri as1tmā in1flā oņ1stū ār1klu el1tne ak1sta ār1dko ār1kvē an1tro at1kru ap1sto il1pta edz1ni is1pro īr1gro udz1si em1bra ār1zko ul1šņā us1sti ēk1šķi udz1vē um1tni ar1stu ap1kle īk1smu up1sta īk1sma ār1zva ab1rka ēdz1ni āb1stā ēr1kli en1tro ār1plī il1gšu ap1kvē as1tre ak1ste ek1šķa āt1rmo an1sce in1sde iz1kru ap1šļā at1bre on1sta ēr1zla el1gša ām1bra el1dzi uz1dru udz1di ap1brā ar1kta eņ1sla ar1švi iz1smi ir1vja en1gri ar1kšo uz1drī ul1sta ek1sme ār1šņa ār1zni ār1tro ap1kli ār1svi ēr1stē īk1stī et1rtū īdz1ci ur1tli ek1sto im1tsa us1brā uk1šķo ir1zta ār1stū un1ktu ēr1mju īk1šķa ur1kli uz1fli ap1plū il1dzi ap1dre az1sva ug1ļla at1stī iz1plu uz1tro is1sli iž1skā ir1gšo en1ktā ār1gta iz1bli ār1smī im1brī ār1dzē ār1svī ek1spa īdz1ko uz1svē at1plo or1tla ab1prā ir1tne ūk1slā iz1sve et1plā ir1sva il1bti uz1brū īt1spē uz1šķē udz1no at1slā iz1blā es1tdi us1zvi is1kri ēl1slē ob1sku ēk1šņi ul1šņu on1tro il1stī iz1bra ur1pni al1dsē im1ttū is1spē es1tme in1gvī ug1špu ir1dne iļ1ņla ap1sta ik1smi ad1grā iz1spē il1gtā iz1sva il1nbā im1stā ak1šve uz1pra uz1grū ār1skū iz1bru us1tsē ug1snē ār1dzo in1tni ig1sti er1gtu en1tru as1krū ār1slā ap1tvē el1sti il1sto il1dra ot1rga ur1kņu ap1bra er1tzā at1stā er1cli ēr1bšu uz1stē ap1plā an1gvi uz1šļi uz1blā ed1rvi as1tla iz1stu ot1spē us1pro im1tda am1krē op1pro ig1žņo at1bļa ap1kni iz1sma iz1grū an1dpu īv1prā ur1stu ar1stī ig1zne ūk1sta āj1sko ek1ška ub1sti ur1dze iz1hro ap1šma ap1spa ār1stē ib1stu at1smī im1sta il1ksi ar1ndo on1kre es1krē āl1plā uk1sma in1gri um1pro uz1dra ār1pla ār1plu at1ste el1gta en1gru il1tze ār1pri iz1krī at1krē es1prū is1svē ār1švi ār1knu en1ktu ap1tre iz1kņū ul1gsi in1dri iz1drī ek1ste aļ1ķne uz1spē os1tma ug1sni at1grē al1sni ur1nga ip1frū ēr1sko at1stē ēr1gli ol1fra at1gro un1kci ār1kņu iz1sku ek1sce ap1sla at1slē ap1šta ap1šļu es1tri uz1plu ār1bli ār1grā uz1sto il1tra in1gru ūk1sni en1szā os1prā āp1jvī ār1tnē il1ptu um1šza is1kre is1krē ul1gti um1dzī ek1špu ur1zni uz1dro us1tve ās1trā ūg1sta ap1brē er1vje iz1grē ar1gmu at1dru ap1kļa ap1spi ap1bre el1pto ār1tvē al1kšo uk1sme el1dzē il1kme ēn1skā ir1gšu il1sti ir1dsa ir1slī at1smi ār1šķo ar1spa al1dse uz1knu ar1gpo iz1šļa at1šķa ār1šņu uz1sve an1stē ek1trā ār1glu ur1vju oņ1sti at1drā iļ1pro iz1tva iz1trā ap1spā om1pli ak1stu ap1spu ek1tdi ok1ste er1gra am1bre uz1bļa us1gra el1gru am1sta at1sko īb1stu ek1tri el1mla an1sve at1skā un1dzī īk1gra ap1ska in1dko al1ktu ul1dzu es1trā at1spī ol1dla at1šķe eņ1ple os1tla ik1stā ap1švī uz1prā ap1kro ūt1smē is1gri em1pšu iz1bļa ir1mno ap1spī ēr1kti al1gme ed1svi is1bri un1sne en1svi uz1kve ār1gro er1stā uz1šķe eļ1krū od1rpa īv1grā et1rba un1sku ār1tmē āb1stī il1pjo iz1stā uz1žvī uz1šķī is1tko os1pra el1gtu ad1smi om1kra ut1sva il1pti ug1pre un1kte il1gru ār1šķū ez1gli iv1spē er1dlo āt1ršā ēj1grā ur1dzo en1trā ap1bļa ēr1tņu em1dni in1ksa āl1šķē uz1hro iv1sto et1rjū uļ1glu ir1psi el1zce um1slē at1gri el1ptu uk1stā at1pra ar1gjo uz1tva uz1sko iz1stī el1sto ap1pra ov1sku ar1šru ēp1sto at1krā ir1ksi ok1šķe iz1šļā iz1dra il1ptā il1dsē in1gta ūp1sta ug1ļko ar1džu iz1krā ul1dzī ur1stā ārg1sti ilg1sto akt1spo alt1gva ark1sta ugs1tlē uzs1pļa ald1skā ins1grē izs1prū ilk1tni urb1sti ezg1lve arp1pro irk1sni eld1plē ird1spu ilp1stu īns1trā ārs1kra ird1smi eln1svā irp1sti ārg1stu ens1sta ugš1sti irk1sti ilg1sta als1tpu ārd1dzi irm1dzi abs1tra umš1brū arb1spē ils1blī urs1krū izs1pra urb1stu udz1šķa uzs1kra aps1pre ins1gru ens1bla ārs1pra arg1krā ilk1tne ens1tru ulk1ste upj1gra unk1šķi urk1sta aps1krē irs1drē ērt1sli obs1tru ērt1ssū ast1sko ird1ska irg1sto ord1zni aks1tve ikt1stē uzs1pre izs1pro ilt1stē uzs1prā eks1tko alk1stī īdz1pro ens1dro irg1stu ing1sto izs1kra ink1stē alk1šķi ātr1sli ild1spa āls1tre alk1sto ubs1trā aps1tru ērk1šķa izs1trī ats1krē ārs1trī alk1stu uss1kri izs1pre ent1lme irg1zda ilb1sti eks1tre aps1pra ilk1sti unt1szi uzs1pro eks1klu iss1pri aps1trī ulb1sto urk1sti aps1pro aht1klu āls1sta ens1krā ilt1smā eks1pre uzs1tru aps1prā etr1kla uzs1pri īks1tmē eld1spē apj1dra ist1hre ids1krē irs1plā irs1stu unk1stē ilk1sni ink1šķi ird1smī irs1kre īdz1ska alk1snā īks1tsi izs1tru ars1tda unt1sno ēst1gri uzs1tre urk1sto uns1dro ulg1sto ātr1spi ilg1spē erc1sko ilb1sto āls1skā ens1krū aps1tri ilk1tnē udr1skā urb1jma ats1pra ird1sli izs1trā ekš1ņnī ind1sta aps1kra ērk1stu iln1bri uzs1pra udz1pla ilb1stu izs1kri ilk1stu irp1sta eks1trē ugs1tka ult1zva ātr1gri ink1šķo urk1šķa ulb1sti uzs1trā aps1trā irk1stī ulb1stu unk1tsi ons1trē īgt1spē ark1stu ilk1sto ark1šķo alt1kvē uns1dzē irk1stē ild1krē ink1sli urs1trā unk1sto ilk1stē ārg1sto akt1sgu ert1bri ilg1sti ērt1svē ērs1gri aps1trē eņs1krā amp1stu ats1trā ilp1sti ežs1trā erk1šķi eln1pla urk1sni akt1svi ens1dzi irg1sti ark1šķu ess1krā irk1sto unt1sma isn1gri alk1sne ild1pla udz1ska ārs1tru uzs1krū ink1šķē ērs1svī ērk1šķo īks1tpi ilt1rpa ātr1bra urk1stu ārs1pro als1sti eks1plo amp1sto izs1tre ang1ste irg1sta izs1krē ātr1spē ust1knā ark1šķē ark1šķi ārs1prā aps1prū ilp1sto īgs1trā ont1rre akt1sde ats1tre uzs1trī aps1pļa urk1šķi urk1ste ink1stu ājs1trā ats1pļa ērk1šķi etr1stū ink1sta ans1kri eks1pro ald1drā ārp1sta urb1sta unk1šķē akt1sda akt1spu alk1sni ārg1sta āls1tra āls1ste irg1zde āgs1tvi ird1zni irt1sku ons1trā ērk1sta ilp1sta isn1stū elk1sni ilt1sko ats1prū urk1šķu ars1tga ugs1tro ens1šķi ing1sti ads1krū els1tra ark1šķa ark1sto ant1sbe ink1šķa unk1sti ird1sde ink1sti ans1pla ugs1tra ats1pre irk1šķi irp1stu ils1dru als1tni ats1tru ins1tru anž1dze īks1pro amp1sti ars1tvī ugš1stā anc1spē ark1sti unk1sta irm1ska akt1smī ulg1stu amp1sta eks1trī unk1šķo urk1stē elz1szā ārs1tre ens1kri ink1šķe uks1trā ink1sto ult1spū elt1spē ats1pri ild1spē uzs1prū eks1tro egl1prā irp1sto alt1kri akņ1gra ārs1lve ārs1pļa udz1stū urb1sto aps1tre ugs1tvē ekļ1skā unk1šķa isn1prā ats1tri ākļ1stā udz1krā imt1pro ing1sta eks1plu akt1spa ilk1sta alk1šņa ats1prā īks1tča ent1rti ērk1sti irg1spē ikt1spē izs1prā akt1smi izs1krū unk1stu ats1krū ārs1pri unk1šķu ult1spē unt1sga ugs1tsi izs1pri ārs1krū aps1krū ārk1sti izs1pļa ars1tpu ērk1ste uzs1tri ulb1sta izs1tri ons1tru irs1svā ats1trī ārs1krē akt1ssa eks1tra akt1slo urk1šķo ing1stu ult1kva ust1spo ītņ1gri ežs1krū irm1sle irk1sta urk1šķē ort1pre ekš1ņla iņs1trā alk1sta irk1stu emm1dzi irg1zdā irm1kla aks1tni ons1tra ink1šķu ats1kra ind1rve akt1sja ens1blu aļķ1špa ult1sva ogļ1skā ārk1sta ulg1sti ērk1sto ird1sdā ugs1tce uns1grē ult1pla irš1krā egt1spē ārs1tni ats1pro akt1sla ārs1tri ilg1stu īdz1sva uzs1krē oks1krū ārt1sta ilb1sta alk1sti oks1tro ekš1dzi ent1rbē iln1ska irm1šķi ārs1trā aps1pri ons1krē ārs1pre irk1ste ird1slē ulg1sta akš1svā alt1bri ārs1prū .jā1s2p .ne1s2p .ie1s2p .no1s2p .pa1s2p .pie1s2p .sa1s2p .uz1s2p .aiz1s2p .ap1s2p .at1s2p .bez1s2p .pār1s2p .iz1s2p .eks1s2p .vis1s2p .jā1t2r .ne1t2r .ie1t2r .no1t2r .pa1t2r .pie1t2r .sa1t2r .uz1t2r .aiz1t2r .ap1t2r .at1t2r .bez1t2r .pār1t2r .iz1t2r .eks1t2r .vis1t2r .jā1s2c .ne1s2c .ie1s2c .no1s2c .pa1s2c .pie1s2c .sa1s2c .uz1s2c .aiz1s2c .ap1s2c .at1s2c .bez1s2c .pār1s2c .iz1s2c .eks1s2c .vis1s2c .jā1s2tj .ne1s2tj .ie1s2tj .no1s2tj .pa1s2tj .pie1s2tj .sa1s2tj .uz1s2tj .aiz1s2tj .ap1s2tj .at1s2tj .bez1s2tj .pār1s2tj .iz1s2tj .eks1s2tj .vis1s2tj .jā1g2l .ne1g2l .ie1g2l .no1g2l .pa1g2l .pie1g2l .sa1g2l .uz1g2l .aiz1g2l .ap1g2l .at1g2l .bez1g2l .pār1g2l .iz1g2l .eks1g2l .vis1g2l .jā1ž2v .ne1ž2v .ie1ž2v .no1ž2v .pa1ž2v .pie1ž2v .sa1ž2v .uz1ž2v .aiz1ž2v .ap1ž2v .at1ž2v .bez1ž2v .pār1ž2v .iz1ž2v .eks1ž2v .vis1ž2v .jā1š2ļ .ne1š2ļ .ie1š2ļ .no1š2ļ .pa1š2ļ .pie1š2ļ .sa1š2ļ .uz1š2ļ .aiz1š2ļ .ap1š2ļ .at1š2ļ .bez1š2ļ .pār1š2ļ .iz1š2ļ .eks1š2ļ .vis1š2ļ .jā1s2f .ne1s2f .ie1s2f .no1s2f .pa1s2f .pie1s2f .sa1s2f .uz1s2f .aiz1s2f .ap1s2f .at1s2f .bez1s2f .pār1s2f .iz1s2f .eks1s2f .vis1s2f .jā1š2t .ne1š2t .ie1š2t .no1š2t .pa1š2t .pie1š2t .sa1š2t .uz1š2t .aiz1š2t .ap1š2t .at1š2t .bez1š2t .pār1š2t .iz1š2t .eks1š2t .vis1š2t .jā1s2tr .ne1s2tr .ie1s2tr .no1s2tr .pa1s2tr .pie1s2tr .sa1s2tr .uz1s2tr .aiz1s2tr .ap1s2tr .at1s2tr .bez1s2tr .pār1s2tr .iz1s2tr .eks1s2tr .vis1s2tr .jā1b2r .ne1b2r .ie1b2r .no1b2r .pa1b2r .pie1b2r .sa1b2r .uz1b2r .aiz1b2r .ap1b2r .at1b2r .bez1b2r .pār1b2r .iz1b2r .eks1b2r .vis1b2r .jā1š2r .ne1š2r .ie1š2r .no1š2r .pa1š2r .pie1š2r .sa1š2r .uz1š2r .aiz1š2r .ap1š2r .at1š2r .bez1š2r .pār1š2r .iz1š2r .eks1š2r .vis1š2r .jā1š2v .ne1š2v .ie1š2v .no1š2v .pa1š2v .pie1š2v .sa1š2v .uz1š2v .aiz1š2v .ap1š2v .at1š2v .bez1š2v .pār1š2v .iz1š2v .eks1š2v .vis1š2v .jā1s2t .ne1s2t .ie1s2t .no1s2t .pa1s2t .pie1s2t .sa1s2t .uz1s2t .aiz1s2t .ap1s2t .at1s2t .bez1s2t .pār1s2t .iz1s2t .eks1s2t .vis1s2t .jā1p2r .ne1p2r .ie1p2r .no1p2r .pa1p2r .pie1p2r .sa1p2r .uz1p2r .aiz1p2r .ap1p2r .at1p2r .bez1p2r .pār1p2r .iz1p2r .eks1p2r .vis1p2r .jā1g2ļ .ne1g2ļ .ie1g2ļ .no1g2ļ .pa1g2ļ .pie1g2ļ .sa1g2ļ .uz1g2ļ .aiz1g2ļ .ap1g2ļ .at1g2ļ .bez1g2ļ .pār1g2ļ .iz1g2ļ .eks1g2ļ .vis1g2ļ .jā1š2k .ne1š2k .ie1š2k .no1š2k .pa1š2k .pie1š2k .sa1š2k .uz1š2k .aiz1š2k .ap1š2k .at1š2k .bez1š2k .pār1š2k .iz1š2k .eks1š2k .vis1š2k .jā1p2s .ne1p2s .ie1p2s .no1p2s .pa1p2s .pie1p2s .sa1p2s .uz1p2s .aiz1p2s .ap1p2s .at1p2s .bez1p2s .pār1p2s .iz1p2s .eks1p2s .vis1p2s .jā1k2l .ne1k2l .ie1k2l .no1k2l .pa1k2l .pie1k2l .sa1k2l .uz1k2l .aiz1k2l .ap1k2l .at1k2l .bez1k2l .pār1k2l .iz1k2l .eks1k2l .vis1k2l .jā1g2r .ne1g2r .ie1g2r .no1g2r .pa1g2r .pie1g2r .sa1g2r .uz1g2r .aiz1g2r .ap1g2r .at1g2r .bez1g2r .pār1g2r .iz1g2r .eks1g2r .vis1g2r .jā1š2ķ .ne1š2ķ .ie1š2ķ .no1š2ķ .pa1š2ķ .pie1š2ķ .sa1š2ķ .uz1š2ķ .aiz1š2ķ .ap1š2ķ .at1š2ķ .bez1š2ķ .pār1š2ķ .iz1š2ķ .eks1š2ķ .vis1š2ķ .jā1p2n .ne1p2n .ie1p2n .no1p2n .pa1p2n .pie1p2n .sa1p2n .uz1p2n .aiz1p2n .ap1p2n .at1p2n .bez1p2n .pār1p2n .iz1p2n .eks1p2n .vis1p2n .jā1s2v .ne1s2v .ie1s2v .no1s2v .pa1s2v .pie1s2v .sa1s2v .uz1s2v .aiz1s2v .ap1s2v .at1s2v .bez1s2v .pār1s2v .iz1s2v .eks1s2v .vis1s2v .jā1s2pr .ne1s2pr .ie1s2pr .no1s2pr .pa1s2pr .pie1s2pr .sa1s2pr .uz1s2pr .aiz1s2pr .ap1s2pr .at1s2pr .bez1s2pr .pār1s2pr .iz1s2pr .eks1s2pr .vis1s2pr .jā1d2r .ne1d2r .ie1d2r .no1d2r .pa1d2r .pie1d2r .sa1d2r .uz1d2r .aiz1d2r .ap1d2r .at1d2r .bez1d2r .pār1d2r .iz1d2r .eks1d2r .vis1d2r .jā1p2l .ne1p2l .ie1p2l .no1p2l .pa1p2l .pie1p2l .sa1p2l .uz1p2l .aiz1p2l .ap1p2l .at1p2l .bez1p2l .pār1p2l .iz1p2l .eks1p2l .vis1p2l .jā1d2v .ne1d2v .ie1d2v .no1d2v .pa1d2v .pie1d2v .sa1d2v .uz1d2v .aiz1d2v .ap1d2v .at1d2v .bez1d2v .pār1d2v .iz1d2v .eks1d2v .vis1d2v .jā1š2l .ne1š2l .ie1š2l .no1š2l .pa1š2l .pie1š2l .sa1š2l .uz1š2l .aiz1š2l .ap1š2l .at1š2l .bez1š2l .pār1š2l .iz1š2l .eks1š2l .vis1š2l .jā1s2k .ne1s2k .ie1s2k .no1s2k .pa1s2k .pie1s2k .sa1s2k .uz1s2k .aiz1s2k .ap1s2k .at1s2k .bez1s2k .pār1s2k .iz1s2k .eks1s2k .vis1s2k .jā1s2kv .ne1s2kv .ie1s2kv .no1s2kv .pa1s2kv .pie1s2kv .sa1s2kv .uz1s2kv .aiz1s2kv .ap1s2kv .at1s2kv .bez1s2kv .pār1s2kv .iz1s2kv .eks1s2kv .vis1s2kv .jā1k2v .ne1k2v .ie1k2v .no1k2v .pa1k2v .pie1k2v .sa1k2v .uz1k2v .aiz1k2v .ap1k2v .at1k2v .bez1k2v .pār1k2v .iz1k2v .eks1k2v .vis1k2v .jā1z2v .ne1z2v .ie1z2v .no1z2v .pa1z2v .pie1z2v .sa1z2v .uz1z2v .aiz1z2v .ap1z2v .at1z2v .bez1z2v .pār1z2v .iz1z2v .eks1z2v .vis1z2v .jā1k2s .ne1k2s .ie1k2s .no1k2s .pa1k2s .pie1k2s .sa1k2s .uz1k2s .aiz1k2s .ap1k2s .at1k2s .bez1k2s .pār1k2s .iz1k2s .eks1k2s .vis1k2s .jā1p2t .ne1p2t .ie1p2t .no1p2t .pa1p2t .pie1p2t .sa1p2t .uz1p2t .aiz1p2t .ap1p2t .at1p2t .bez1p2t .pār1p2t .iz1p2t .eks1p2t .vis1p2t .jā1z2n .ne1z2n .ie1z2n .no1z2n .pa1z2n .pie1z2n .sa1z2n .uz1z2n .aiz1z2n .ap1z2n .at1z2n .bez1z2n .pār1z2n .iz1z2n .eks1z2n .vis1z2n .jā1k2r .ne1k2r .ie1k2r .no1k2r .pa1k2r .pie1k2r .sa1k2r .uz1k2r .aiz1k2r .ap1k2r .at1k2r .bez1k2r .pār1k2r .iz1k2r .eks1k2r .vis1k2r .jā1s2kr .ne1s2kr .ie1s2kr .no1s2kr .pa1s2kr .pie1s2kr .sa1s2kr .uz1s2kr .aiz1s2kr .ap1s2kr .at1s2kr .bez1s2kr .pār1s2kr .iz1s2kr .eks1s2kr .vis1s2kr .jā1f2r .ne1f2r .ie1f2r .no1f2r .pa1f2r .pie1f2r .sa1f2r .uz1f2r .aiz1f2r .ap1f2r .at1f2r .bez1f2r .pār1f2r .iz1f2r .eks1f2r .vis1f2r .jā1s2h .ne1s2h .ie1s2h .no1s2h .pa1s2h .pie1s2h .sa1s2h .uz1s2h .aiz1s2h .ap1s2h .at1s2h .bez1s2h .pār1s2h .iz1s2h .eks1s2h .vis1s2h .jā1ž2ņ .ne1ž2ņ .ie1ž2ņ .no1ž2ņ .pa1ž2ņ .pie1ž2ņ .sa1ž2ņ .uz1ž2ņ .aiz1ž2ņ .ap1ž2ņ .at1ž2ņ .bez1ž2ņ .pār1ž2ņ .iz1ž2ņ .eks1ž2ņ .vis1ž2ņ .jā1d2d .ne1d2d .ie1d2d .no1d2d .pa1d2d .pie1d2d .sa1d2d .uz1d2d .aiz1d2d .ap1d2d .at1d2d .bez1d2d .pār1d2d .iz1d2d .eks1d2d .vis1d2d .jā1š2pr .ne1š2pr .ie1š2pr .no1š2pr .pa1š2pr .pie1š2pr .sa1š2pr .uz1š2pr .aiz1š2pr .ap1š2pr .at1š2pr .bez1š2pr .pār1š2pr .iz1š2pr .eks1š2pr .vis1š2pr .jā1v2j .ne1v2j .ie1v2j .no1v2j .pa1v2j .pie1v2j .sa1v2j .uz1v2j .aiz1v2j .ap1v2j .at1v2j .bez1v2j .pār1v2j .iz1v2j .eks1v2j .vis1v2j .jā1f2j .ne1f2j .ie1f2j .no1f2j .pa1f2j .pie1f2j .sa1f2j .uz1f2j .aiz1f2j .ap1f2j .at1f2j .bez1f2j .pār1f2j .iz1f2j .eks1f2j .vis1f2j .jā1p2j .ne1p2j .ie1p2j .no1p2j .pa1p2j .pie1p2j .sa1p2j .uz1p2j .aiz1p2j .ap1p2j .at1p2j .bez1p2j .pār1p2j .iz1p2j .eks1p2j .vis1p2j .jā1b2ļ .ne1b2ļ .ie1b2ļ .no1b2ļ .pa1b2ļ .pie1b2ļ .sa1b2ļ .uz1b2ļ .aiz1b2ļ .ap1b2ļ .at1b2ļ .bez1b2ļ .pār1b2ļ .iz1b2ļ .eks1b2ļ .vis1b2ļ .jā1g2n .ne1g2n .ie1g2n .no1g2n .pa1g2n .pie1g2n .sa1g2n .uz1g2n .aiz1g2n .ap1g2n .at1g2n .bez1g2n .pār1g2n .iz1g2n .eks1g2n .vis1g2n .jā1h2r .ne1h2r .ie1h2r .no1h2r .pa1h2r .pie1h2r .sa1h2r .uz1h2r .aiz1h2r .ap1h2r .at1h2r .bez1h2r .pār1h2r .iz1h2r .eks1h2r .vis1h2r .jā1s2n .ne1s2n .ie1s2n .no1s2n .pa1s2n .pie1s2n .sa1s2n .uz1s2n .aiz1s2n .ap1s2n .at1s2n .bez1s2n .pār1s2n .iz1s2n .eks1s2n .vis1s2n .jā1ž2m .ne1ž2m .ie1ž2m .no1ž2m .pa1ž2m .pie1ž2m .sa1ž2m .uz1ž2m .aiz1ž2m .ap1ž2m .at1ž2m .bez1ž2m .pār1ž2m .iz1ž2m .eks1ž2m .vis1ž2m .jā1d2ž .ne1d2ž .ie1d2ž .no1d2ž .pa1d2ž .pie1d2ž .sa1d2ž .uz1d2ž .aiz1d2ž .ap1d2ž .at1d2ž .bez1d2ž .pār1d2ž .iz1d2ž .eks1d2ž .vis1d2ž .jā1k2c .ne1k2c .ie1k2c .no1k2c .pa1k2c .pie1k2c .sa1k2c .uz1k2c .aiz1k2c .ap1k2c .at1k2c .bez1k2c .pār1k2c .iz1k2c .eks1k2c .vis1k2c .jā1k2ņ .ne1k2ņ .ie1k2ņ .no1k2ņ .pa1k2ņ .pie1k2ņ .sa1k2ņ .uz1k2ņ .aiz1k2ņ .ap1k2ņ .at1k2ņ .bez1k2ņ .pār1k2ņ .iz1k2ņ .eks1k2ņ .vis1k2ņ .jā1š2m .ne1š2m .ie1š2m .no1š2m .pa1š2m .pie1š2m .sa1š2m .uz1š2m .aiz1š2m .ap1š2m .at1š2m .bez1š2m .pār1š2m .iz1š2m .eks1š2m .vis1š2m .jā1g2v .ne1g2v .ie1g2v .no1g2v .pa1g2v .pie1g2v .sa1g2v .uz1g2v .aiz1g2v .ap1g2v .at1g2v .bez1g2v .pār1g2v .iz1g2v .eks1g2v .vis1g2v .jā1h2l .ne1h2l .ie1h2l .no1h2l .pa1h2l .pie1h2l .sa1h2l .uz1h2l .aiz1h2l .ap1h2l .at1h2l .bez1h2l .pār1h2l .iz1h2l .eks1h2l .vis1h2l .jā1k2ļ .ne1k2ļ .ie1k2ļ .no1k2ļ .pa1k2ļ .pie1k2ļ .sa1k2ļ .uz1k2ļ .aiz1k2ļ .ap1k2ļ .at1k2ļ .bez1k2ļ .pār1k2ļ .iz1k2ļ .eks1k2ļ .vis1k2ļ .jā1s2l .ne1s2l .ie1s2l .no1s2l .pa1s2l .pie1s2l .sa1s2l .uz1s2l .aiz1s2l .ap1s2l .at1s2l .bez1s2l .pār1s2l .iz1s2l .eks1s2l .vis1s2l .jā1t2v .ne1t2v .ie1t2v .no1t2v .pa1t2v .pie1t2v .sa1t2v .uz1t2v .aiz1t2v .ap1t2v .at1t2v .bez1t2v .pār1t2v .iz1t2v .eks1t2v .vis1t2v .jā1š2ņ .ne1š2ņ .ie1š2ņ .no1š2ņ .pa1š2ņ .pie1š2ņ .sa1š2ņ .uz1š2ņ .aiz1š2ņ .ap1š2ņ .at1š2ņ .bez1š2ņ .pār1š2ņ .iz1š2ņ .eks1š2ņ .vis1š2ņ .jā1š2p .ne1š2p .ie1š2p .no1š2p .pa1š2p .pie1š2p .sa1š2p .uz1š2p .aiz1š2p .ap1š2p .at1š2p .bez1š2p .pār1š2p .iz1š2p .eks1š2p .vis1š2p .jā1d2z .ne1d2z .ie1d2z .no1d2z .pa1d2z .pie1d2z .sa1d2z .uz1d2z .aiz1d2z .ap1d2z .at1d2z .bez1d2z .pār1d2z .iz1d2z .eks1d2z .vis1d2z .jā1f2l .ne1f2l .ie1f2l .no1f2l .pa1f2l .pie1f2l .sa1f2l .uz1f2l .aiz1f2l .ap1f2l .at1f2l .bez1f2l .pār1f2l .iz1f2l .eks1f2l .vis1f2l .jā1k2n .ne1k2n .ie1k2n .no1k2n .pa1k2n .pie1k2n .sa1k2n .uz1k2n .aiz1k2n .ap1k2n .at1k2n .bez1k2n .pār1k2n .iz1k2n .eks1k2n .vis1k2n .jā1p2ļ .ne1p2ļ .ie1p2ļ .no1p2ļ .pa1p2ļ .pie1p2ļ .sa1p2ļ .uz1p2ļ .aiz1p2ļ .ap1p2ļ .at1p2ļ .bez1p2ļ .pār1p2ļ .iz1p2ļ .eks1p2ļ .vis1p2ļ .jā1s2pļ .ne1s2pļ .ie1s2pļ .no1s2pļ .pa1s2pļ .pie1s2pļ .sa1s2pļ .uz1s2pļ .aiz1s2pļ .ap1s2pļ .at1s2pļ .bez1s2pļ .pār1s2pļ .iz1s2pļ .eks1s2pļ .vis1s2pļ .jā1s2kl .ne1s2kl .ie1s2kl .no1s2kl .pa1s2kl .pie1s2kl .sa1s2kl .uz1s2kl .aiz1s2kl .ap1s2kl .at1s2kl .bez1s2kl .pār1s2kl .iz1s2kl .eks1s2kl .vis1s2kl .jā1k2b .ne1k2b .ie1k2b .no1k2b .pa1k2b .pie1k2b .sa1k2b .uz1k2b .aiz1k2b .ap1k2b .at1k2b .bez1k2b .pār1k2b .iz1k2b .eks1k2b .vis1k2b .jā1s2m .ne1s2m .ie1s2m .no1s2m .pa1s2m .pie1s2m .sa1s2m .uz1s2m .aiz1s2m .ap1s2m .at1s2m .bez1s2m .pār1s2m .iz1s2m .eks1s2m .vis1s2m .jā1m2n .ne1m2n .ie1m2n .no1m2n .pa1m2n .pie1m2n .sa1m2n .uz1m2n .aiz1m2n .ap1m2n .at1m2n .bez1m2n .pār1m2n .iz1m2n .eks1m2n .vis1m2n .jā1š2n .ne1š2n .ie1š2n .no1š2n .pa1š2n .pie1š2n .sa1š2n .uz1š2n .aiz1š2n .ap1š2n .at1š2n .bez1š2n .pār1š2n .iz1š2n .eks1š2n .vis1š2n .jā1v2r .ne1v2r .ie1v2r .no1v2r .pa1v2r .pie1v2r .sa1v2r .uz1v2r .aiz1v2r .ap1v2r .at1v2r .bez1v2r .pār1v2r .iz1v2r .eks1v2r .vis1v2r .jā1b2l .ne1b2l .ie1b2l .no1b2l .pa1b2l .pie1b2l .sa1b2l .uz1b2l .aiz1b2l .ap1b2l .at1b2l .bez1b2l .pār1b2l .iz1b2l .eks1b2l .vis1b2l 2b3dams. 2c3dams. 2č3dams. 2d3dams. 2f3dams. 2g3dams. 2ģ3dams. 2h3dams. 2j3dams. 2k3dams. 2ķ3dams. 2l3dams. 2ļ3dams. 2m3dams. 2n3dams. 2ņ3dams. 2p3dams. 2r3dams. 2s3dams. 2š3dams. 2t3dams. 2v3dams. 2z3dams. 2ž3dams. 2b3da3ma. 2c3da3ma. 2č3da3ma. 2d3da3ma. 2f3da3ma. 2g3da3ma. 2ģ3da3ma. 2h3da3ma. 2j3da3ma. 2k3da3ma. 2ķ3da3ma. 2l3da3ma. 2ļ3da3ma. 2m3da3ma. 2n3da3ma. 2ņ3da3ma. 2p3da3ma. 2r3da3ma. 2s3da3ma. 2š3da3ma. 2t3da3ma. 2v3da3ma. 2z3da3ma. 2ž3da3ma. 2b3da3mies. 2c3da3mies. 2č3da3mies. 2d3da3mies. 2f3da3mies. 2g3da3mies. 2ģ3da3mies. 2h3da3mies. 2j3da3mies. 2k3da3mies. 2ķ3da3mies. 2l3da3mies. 2ļ3da3mies. 2m3da3mies. 2n3da3mies. 2ņ3da3mies. 2p3da3mies. 2r3da3mies. 2s3da3mies. 2š3da3mies. 2t3da3mies. 2v3da3mies. 2z3da3mies. 2ž3da3mies. 2b3da3mās. 2c3da3mās. 2č3da3mās. 2d3da3mās. 2f3da3mās. 2g3da3mās. 2ģ3da3mās. 2h3da3mās. 2j3da3mās. 2k3da3mās. 2ķ3da3mās. 2l3da3mās. 2ļ3da3mās. 2m3da3mās. 2n3da3mās. 2ņ3da3mās. 2p3da3mās. 2r3da3mās. 2s3da3mās. 2š3da3mās. 2t3da3mās. 2v3da3mās. 2z3da3mās. 2ž3da3mās. 2b3gans. 2c3gans. 2č3gans. 2d3gans. 2f3gans. 2g3gans. 2ģ3gans. 2h3gans. 2j3gans. 2k3gans. 2ķ3gans. 2l3gans. 2ļ3gans. 2m3gans. 2n3gans. 2ņ3gans. 2p3gans. 2r3gans. 2s3gans. 2š3gans. 2t3gans. 2v3gans. 2z3gans. 2ž3gans. 2b3ga3na. 2c3ga3na. 2č3ga3na. 2d3ga3na. 2f3ga3na. 2g3ga3na. 2ģ3ga3na. 2h3ga3na. 2j3ga3na. 2k3ga3na. 2ķ3ga3na. 2l3ga3na. 2ļ3ga3na. 2m3ga3na. 2n3ga3na. 2ņ3ga3na. 2p3ga3na. 2r3ga3na. 2s3ga3na. 2š3ga3na. 2t3ga3na. 2v3ga3na. 2z3ga3na. 2ž3ga3na. 2b3nieks. 2c3nieks. 2č3nieks. 2d3nieks. 2f3nieks. 2g3nieks. 2ģ3nieks. 2h3nieks. 2j3nieks. 2k3nieks. 2ķ3nieks. 2l3nieks. 2ļ3nieks. 2m3nieks. 2n3nieks. 2ņ3nieks. 2p3nieks. 2r3nieks. 2s3nieks. 2š3nieks. 2t3nieks. 2v3nieks. 2z3nieks. 2ž3nieks. 2b3nie3ce. 2c3nie3ce. 2č3nie3ce. 2d3nie3ce. 2f3nie3ce. 2g3nie3ce. 2ģ3nie3ce. 2h3nie3ce. 2j3nie3ce. 2k3nie3ce. 2ķ3nie3ce. 2l3nie3ce. 2ļ3nie3ce. 2m3nie3ce. 2n3nie3ce. 2ņ3nie3ce. 2p3nie3ce. 2r3nie3ce. 2s3nie3ce. 2š3nie3ce. 2t3nie3ce. 2v3nie3ce. 2z3nie3ce. 2ž3nie3ce. 2b3nī3ca. 2c3nī3ca. 2č3nī3ca. 2d3nī3ca. 2f3nī3ca. 2g3nī3ca. 2ģ3nī3ca. 2h3nī3ca. 2j3nī3ca. 2k3nī3ca. 2ķ3nī3ca. 2l3nī3ca. 2ļ3nī3ca. 2m3nī3ca. 2n3nī3ca. 2ņ3nī3ca. 2p3nī3ca. 2r3nī3ca. 2s3nī3ca. 2š3nī3ca. 2t3nī3ca. 2v3nī3ca. 2z3nī3ca. 2ž3nī3ca. 2b3ša3na. 2c3ša3na. 2č3ša3na. 2d3ša3na. 2f3ša3na. 2g3ša3na. 2ģ3ša3na. 2h3ša3na. 2j3ša3na. 2k3ša3na. 2ķ3ša3na. 2l3ša3na. 2ļ3ša3na. 2m3ša3na. 2n3ša3na. 2ņ3ša3na. 2p3ša3na. 2r3ša3na. 2s3ša3na. 2š3ša3na. 2t3ša3na. 2v3ša3na. 2z3ša3na. 2ž3ša3na. 2b3ša3nās. 2c3ša3nās. 2č3ša3nās. 2d3ša3nās. 2f3ša3nās. 2g3ša3nās. 2ģ3ša3nās. 2h3ša3nās. 2j3ša3nās. 2k3ša3nās. 2ķ3ša3nās. 2l3ša3nās. 2ļ3ša3nās. 2m3ša3nās. 2n3ša3nās. 2ņ3ša3nās. 2p3ša3nās. 2r3ša3nās. 2s3ša3nās. 2š3ša3nās. 2t3ša3nās. 2v3ša3nās. 2z3ša3nās. 2ž3ša3nās. 2b3ta3la. 2c3ta3la. 2č3ta3la. 2d3ta3la. 2f3ta3la. 2g3ta3la. 2ģ3ta3la. 2h3ta3la. 2j3ta3la. 2k3ta3la. 2ķ3ta3la. 2l3ta3la. 2ļ3ta3la. 2m3ta3la. 2n3ta3la. 2ņ3ta3la. 2p3ta3la. 2r3ta3la. 2s3ta3la. 2š3ta3la. 2t3ta3la. 2v3ta3la. 2z3ta3la. 2ž3ta3la. 2b3tu3ve. 2c3tu3ve. 2č3tu3ve. 2d3tu3ve. 2f3tu3ve. 2g3tu3ve. 2ģ3tu3ve. 2h3tu3ve. 2j3tu3ve. 2k3tu3ve. 2ķ3tu3ve. 2l3tu3ve. 2ļ3tu3ve. 2m3tu3ve. 2n3tu3ve. 2ņ3tu3ve. 2p3tu3ve. 2r3tu3ve. 2s3tu3ve. 2š3tu3ve. 2t3tu3ve. 2v3tu3ve. 2z3tu3ve. 2ž3tu3ve. .jā3a2 .ne3a2 .ie3a2 .no3a2 .pa3a2 .pie3a2 .sa3a2 .uz3a2 .aiz3a2 .ap3a2 .at3a2 .bez3a2 .pār3a2 .iz3a2 .eks3a2 .vis3a2 .jā3ā2 .ne3ā2 .ie3ā2 .no3ā2 .pa3ā2 .pie3ā2 .sa3ā2 .uz3ā2 .aiz3ā2 .ap3ā2 .at3ā2 .bez3ā2 .pār3ā2 .iz3ā2 .eks3ā2 .vis3ā2 .jā3e2 .ne3e2 .ie3e2 .no3e2 .pa3e2 .pie3e2 .sa3e2 .uz3e2 .aiz3e2 .ap3e2 .at3e2 .bez3e2 .pār3e2 .iz3e2 .eks3e2 .vis3e2 .jā3ē2 .ne3ē2 .ie3ē2 .no3ē2 .pa3ē2 .pie3ē2 .sa3ē2 .uz3ē2 .aiz3ē2 .ap3ē2 .at3ē2 .bez3ē2 .pār3ē2 .iz3ē2 .eks3ē2 .vis3ē2 .jā3i2 .ne3i2 .ie3i2 .no3i2 .pa3i2 .pie3i2 .sa3i2 .uz3i2 .aiz3i2 .ap3i2 .at3i2 .bez3i2 .pār3i2 .iz3i2 .eks3i2 .vis3i2 .jā3ī2 .ne3ī2 .ie3ī2 .no3ī2 .pa3ī2 .pie3ī2 .sa3ī2 .uz3ī2 .aiz3ī2 .ap3ī2 .at3ī2 .bez3ī2 .pār3ī2 .iz3ī2 .eks3ī2 .vis3ī2 .jā3o2 .ne3o2 .ie3o2 .no3o2 .pa3o2 .pie3o2 .sa3o2 .uz3o2 .aiz3o2 .ap3o2 .at3o2 .bez3o2 .pār3o2 .iz3o2 .eks3o2 .vis3o2 .jā3u2 .ne3u2 .ie3u2 .no3u2 .pa3u2 .pie3u2 .sa3u2 .uz3u2 .aiz3u2 .ap3u2 .at3u2 .bez3u2 .pār3u2 .iz3u2 .eks3u2 .vis3u2 .jā3ū2 .ne3ū2 .ie3ū2 .no3ū2 .pa3ū2 .pie3ū2 .sa3ū2 .uz3ū2 .aiz3ū2 .ap3ū2 .at3ū2 .bez3ū2 .pār3ū2 .iz3ū2 .eks3ū2 .vis3ū2 .jā3ie1 .jā3iz1 .jā3no1 .ne3aiz1 .ne3ap1 .ne3ie1 .ne3at1 .ne3in1 .ne3iz1 .ne3sa .ne3uz1 .priek2š1 4d5ze1me .tur2p1m il2k1tie .spil2g1t mē1ne2š1 1pa1d2smit g2š1gal k2š1gal tran2s 1port vēs2t1n vēs2t1k pa2t3stā pa2s2t3k pa2s2t3m pa2s2t2s. pa2r2k2s. pa2r3ket sa2ls. sa2lds. sa2l2d1 pir2m1r pir2m1k pir2m2s1 ot2r1r2 ot2r1k2 ir2k3l ir2k3ļ .adā2m3 .ai4z5 ak3me4ņ3 apak2š3 ap1au kār2t3n aug2s2t3 .at3e2j bal2t3ma .vie2n1",
+ ["minhyphenmax"]=1,
+ ["minhyphenmin"]=1,
+ ["n"]=11583,
+ },
+ ["version"]="1.001",
+} \ No newline at end of file
diff --git a/tex/context/patterns/lang-lv.pat b/tex/context/patterns/lang-lv.pat
new file mode 100644
index 000000000..ea7e7fbc2
--- /dev/null
+++ b/tex/context/patterns/lang-lv.pat
@@ -0,0 +1,11590 @@
+% generated by mtxrun --script pattern --convert
+
+% for comment and copyright, see e:/tmp/patterns/lang-lv.rme
+
+% used: a b c d e f g h i j k l m n o p r s t u v z ā č ē ģ ī ķ ļ ņ š ū ž
+
+\patterns{
+d4z
+d4ž
+a2i
+a2u
+i2e
+e2i
+u2i
+i2u
+o2i
+o2u
+e2u
+.vi1s2a.
+.vi1s2ā.
+.vi1s2i.
+.vi1s2os.
+.vi1s2u.
+.vi1s2iem.
+o1pī
+ū1rē
+i1ta
+ū1ga
+ē1žu
+ū1to
+ā1ni
+i1rē
+i1čo
+ā1bu
+o1mī
+o1kā
+o1či
+ā1lo
+e1čū
+o1ļā
+e1la
+i1šo
+o1bi
+ē1cē
+ā1ru
+o1si
+u1no
+e1hā
+ā1nē
+e1bū
+i1ru
+o1sū
+a1ča
+ā1ča
+o1rē
+i1ke
+o1ra
+u1te
+i1zo
+i1gi
+ē1ma
+ū1ķe
+ū1ca
+o1dē
+a1nā
+ā1ge
+e1či
+ū1bē
+ē1tā
+ā1fi
+i1zi
+o1lī
+e1še
+e1gā
+i1fo
+a1ņo
+u1to
+ī1zē
+ū1gu
+ā1ša
+i1ķi
+ū1nē
+ī1ma
+ā1te
+ē1kē
+ū1mā
+u1zu
+o1sā
+ē1bu
+ī1ga
+e1di
+ī1te
+a1ļī
+e1tē
+i1že
+o1fo
+ā1pu
+o1hu
+ē1do
+o1du
+ā1ma
+ū1mi
+e1re
+i1ha
+i1be
+e1lu
+ā1ja
+ū1ta
+a1šū
+a1da
+ē1cī
+i1bu
+a1pī
+u1ņā
+e1zu
+ū1no
+e1nī
+i1no
+e1mā
+ē1ļa
+ū1pā
+ā1be
+ā1mo
+ī1ja
+e1ji
+ī1re
+e1ce
+ī1ri
+ī1tī
+ū1ni
+ī1žī
+i1ži
+a1fī
+a1be
+e1šā
+e1ķo
+e1pū
+e1ļī
+u1ģi
+ē1tī
+a1ci
+e1jē
+a1zī
+o1lē
+u1ga
+ī1ci
+a1ke
+e1ho
+i1nū
+ū1šī
+e1si
+e1bo
+o1ģē
+u1ņi
+u1sē
+ē1bā
+o1ša
+ū1ro
+ē1ce
+i1zī
+i1ve
+o1ļu
+i1dī
+o1ku
+e1vē
+a1ri
+u1sā
+i1pā
+i1dē
+o1pū
+ī1vī
+a1me
+ē1ze
+ī1bē
+u1ķe
+a1bē
+a1ja
+ā1ļo
+a1jē
+e1fe
+o1pu
+o1to
+ē1vē
+a1ki
+o1mā
+o1lo
+a1lo
+ē1ķi
+e1šē
+ū1dī
+ū1cā
+o1zo
+o1gū
+o1gā
+ī1tē
+e1zē
+ī1le
+e1gī
+ī1na
+o1me
+e1po
+e1fu
+a1ģe
+u1rū
+u1ri
+ū1jo
+e1dē
+a1ļa
+a1žā
+ī1ļa
+ē1ne
+a1zū
+ā1vē
+e1so
+o1mi
+o1šo
+ē1sī
+ē1ļu
+e1ga
+i1pē
+e1vu
+o1ru
+ē1ju
+u1či
+ā1va
+a1hu
+ī1sē
+e1ķa
+i1rā
+a1čā
+ī1ki
+i1ti
+u1cu
+i1žu
+ā1jo
+u1ki
+u1mu
+o1ķī
+e1ma
+ī1ļo
+ē1de
+o1čo
+ā1ču
+i1ņa
+u1ļa
+u1mā
+o1he
+i1lī
+a1de
+o1fa
+ē1ro
+o1sī
+ā1ri
+ū1ti
+o1bē
+a1jā
+ū1zu
+ā1vī
+e1ļe
+o1ņa
+ī1de
+ī1še
+a1kū
+ū1ja
+o1dī
+e1ži
+e1ri
+ī1gā
+e1ki
+u1ze
+u1ma
+i1vī
+ē1pī
+u1lu
+e1ti
+o1čā
+a1ķi
+ū1zē
+a1ļo
+i1či
+o1ke
+a1ģu
+i1vē
+u1ču
+u1ca
+u1vu
+o1ļa
+i1ri
+o1ņo
+u1co
+a1rā
+o1jā
+ī1bi
+e1čī
+ē1rē
+e1kā
+i1pi
+a1ka
+ā1vu
+ū1ža
+e1mī
+e1vī
+o1gi
+a1pē
+ū1zā
+i1cē
+e1va
+o1nī
+ī1ru
+e1pā
+a1ce
+ē1kā
+o1ja
+a1hē
+a1bo
+ū1mu
+ī1ve
+i1nā
+i1fi
+o1va
+u1žu
+e1ģi
+ē1nī
+i1li
+i1ņo
+u1la
+ī1ģe
+e1ca
+a1tā
+ū1zi
+a1bū
+ē1pē
+ī1su
+ī1pā
+ī1zu
+ū1di
+e1lo
+ā1mā
+e1ci
+a1ža
+ē1to
+e1rū
+ā1la
+u1ķu
+o1ģī
+ā1pa
+e1lū
+e1sī
+e1bē
+i1co
+i1ķē
+a1šo
+ū1ku
+u1šā
+o1di
+a1ņa
+ī1pa
+o1pi
+a1žē
+a1si
+a1ha
+u1šo
+ē1mā
+ī1mo
+ā1žo
+ū1lu
+e1žū
+o1ķi
+ā1vā
+a1žo
+i1zā
+a1ku
+o1zi
+o1dā
+e1cu
+ī1no
+e1zi
+e1jū
+ā1ņo
+i1ce
+ū1lē
+a1žī
+o1mē
+i1bī
+o1re
+e1zū
+ū1ra
+a1gi
+i1lē
+ī1bā
+ū1šu
+e1bi
+i1gū
+ū1ķi
+ē1va
+ā1to
+u1ce
+a1pū
+ā1gi
+i1ķe
+ā1kā
+e1ķī
+ē1ža
+u1ve
+u1vo
+ē1no
+o1bu
+a1tī
+e1fi
+e1ļo
+ū1ži
+a1tū
+ī1ti
+ī1la
+i1ho
+ē1gi
+i1fū
+a1tē
+ā1ķi
+a1mi
+e1ra
+u1ja
+e1me
+ī1bu
+i1pu
+o1la
+a1ķī
+u1šu
+o1ža
+a1rū
+ū1ļa
+e1ču
+ī1lo
+o1nu
+ā1jē
+a1dā
+u1rē
+u1rī
+ē1žo
+i1mā
+a1zo
+o1žu
+ē1da
+ī1co
+ū1zī
+ā1sa
+ē1šu
+ū1po
+i1si
+u1zē
+ū1ri
+u1zī
+ū1gā
+e1pu
+ā1du
+e1cē
+ē1ji
+i1bi
+ē1rā
+i1ļi
+u1nu
+i1ki
+a1mū
+ī1ni
+ā1fe
+ē1ca
+ā1ņi
+u1go
+a1nu
+e1nē
+u1ku
+ā1ži
+ē1go
+e1če
+ē1za
+ā1čā
+i1ģe
+ī1go
+a1go
+e1bī
+i1ze
+e1šū
+o1kē
+o1pē
+i1na
+ā1ra
+ā1jī
+o1za
+e1zā
+a1lā
+e1ņē
+a1je
+ē1si
+ā1bo
+u1gā
+i1sē
+u1ši
+u1bī
+a1vā
+e1ko
+ā1šu
+ā1ģē
+i1mo
+e1ļā
+i1tē
+u1ļā
+a1ņē
+u1na
+ī1vo
+ū1me
+a1hī
+ū1ka
+ā1mī
+ā1lī
+ū1tu
+e1je
+ī1vā
+a1ba
+ī1dā
+ū1ko
+ū1cē
+ā1nī
+a1ļē
+u1ju
+ā1žā
+ū1mo
+i1ge
+ā1pā
+e1lā
+i1ķī
+a1sē
+e1ni
+a1ma
+a1tu
+i1kū
+a1bi
+i1jī
+ī1ķu
+e1fā
+u1ta
+ē1dē
+a1gā
+i1lā
+i1ņi
+e1ļa
+ē1ti
+ā1bi
+a1ši
+a1lī
+i1ja
+e1mu
+o1hē
+u1jā
+ū1ša
+i1sā
+u1po
+ā1cā
+a1se
+o1ņe
+u1fo
+ā1sū
+ā1bū
+o1co
+o1ķē
+ā1ļa
+e1že
+u1tī
+ī1ku
+u1ķa
+u1zi
+e1do
+i1so
+o1fi
+ē1sā
+i1pī
+ī1ši
+a1dī
+ā1ti
+u1ņo
+u1pa
+o1ka
+o1cī
+i1pe
+ī1mā
+ā1pē
+ā1pī
+ū1pē
+o1bū
+e1ķē
+a1mē
+ā1rū
+o1de
+i1ķa
+o1šī
+ī1gu
+u1bi
+ā1ka
+ā1nu
+u1ži
+u1so
+ē1ka
+ā1le
+ē1pe
+u1ļī
+ī1me
+u1dī
+i1žā
+i1du
+ē1ra
+o1vo
+o1fā
+o1so
+ā1ļā
+e1dā
+ā1gu
+o1bo
+e1hī
+ā1ģi
+ā1čo
+a1dē
+u1di
+ī1se
+ē1sē
+ā1nā
+a1nī
+ū1rā
+o1hi
+o1šā
+i1lū
+ē1lē
+i1te
+u1še
+ī1tu
+u1ģo
+e1ši
+ū1ba
+e1ņa
+u1si
+ē1zo
+ū1kā
+i1gu
+ū1da
+i1sū
+o1bī
+a1mo
+ē1gā
+ā1ve
+u1bē
+e1ņo
+ē1vo
+ī1mī
+u1ļu
+ā1tu
+i1cī
+u1fa
+ā1tā
+ē1gu
+o1ga
+i1mi
+i1fē
+i1ļe
+ā1co
+u1žī
+i1zē
+i1vu
+a1ju
+i1ca
+ī1ču
+ū1re
+ē1bi
+e1ro
+i1fā
+a1he
+u1mo
+i1jo
+e1bu
+ī1ro
+a1te
+ī1ģi
+ā1di
+i1bū
+u1ļi
+u1le
+a1na
+e1tā
+e1bā
+o1tū
+ū1ze
+ā1fu
+ī1be
+a1pā
+u1de
+i1dū
+e1ve
+ī1di
+a1vo
+u1lā
+e1pi
+u1dē
+ē1dā
+o1jo
+i1žo
+ī1ķe
+o1nā
+e1mū
+ā1zā
+a1ro
+ī1rā
+a1že
+u1je
+a1ti
+ū1cī
+i1tī
+ī1vi
+ī1jo
+e1co
+i1tū
+i1bo
+ū1pe
+e1tū
+o1pā
+ē1se
+a1ļā
+ā1ji
+a1čo
+e1za
+ā1mē
+a1žū
+e1šo
+ī1ļu
+ū1jā
+o1su
+e1ja
+o1ta
+e1lī
+o1ze
+ī1vē
+o1vā
+a1vī
+i1kī
+ā1zī
+u1ha
+ī1pē
+i1de
+o1nē
+ū1bī
+ē1tu
+a1ži
+ā1žu
+o1ņā
+o1ļo
+i1ņē
+u1ci
+ī1ca
+ū1sa
+e1rī
+i1bē
+e1ne
+a1šī
+u1gi
+ī1mu
+a1zā
+i1lo
+ī1cē
+u1lī
+e1čo
+a1bu
+i1nī
+ā1dā
+ā1tē
+ā1ko
+ī1šu
+o1ģi
+a1ta
+i1la
+a1va
+a1še
+a1hi
+a1ca
+e1be
+e1žē
+a1su
+ī1dī
+o1da
+e1ģo
+e1ņu
+e1pa
+ī1jā
+e1sā
+a1ņi
+ū1so
+ī1nu
+i1vo
+ū1lo
+ī1nē
+ē1mī
+ū1cu
+o1žē
+ē1jā
+ī1cā
+a1ču
+o1zū
+a1lu
+ā1lu
+o1ņu
+a1vu
+i1tu
+i1ķu
+i1ķo
+i1ko
+a1fa
+ī1pi
+i1go
+i1me
+a1fi
+e1sū
+ī1ju
+o1pe
+a1sī
+a1nē
+ū1že
+ē1ve
+i1po
+o1zē
+a1ne
+e1sa
+a1lē
+ē1ša
+ū1gi
+ē1lā
+i1mū
+u1vā
+ū1mī
+ū1mē
+u1ro
+ā1po
+o1ju
+i1fu
+i1jē
+i1ga
+ū1tā
+ē1lu
+ū1sā
+a1gū
+ā1bā
+a1la
+o1ri
+ē1šo
+ū1ņa
+o1fē
+e1li
+ē1ko
+u1va
+ī1šo
+a1zi
+e1dī
+i1da
+i1šī
+i1hī
+i1ne
+i1šu
+ē1ku
+e1ņā
+o1na
+ī1ža
+o1ča
+ā1fa
+o1tē
+ī1dē
+o1tā
+i1hi
+ē1mu
+ī1so
+e1cā
+ā1zi
+ī1cī
+u1šē
+o1no
+ā1ņe
+u1bu
+ū1gē
+o1ve
+a1ģī
+i1lu
+i1pa
+e1ka
+ā1ci
+u1ķī
+o1sa
+o1go
+i1nu
+ī1žo
+i1sī
+o1fī
+a1pu
+a1du
+ī1ļi
+o1ba
+i1fa
+e1mi
+o1cu
+u1ža
+ā1mi
+a1ķā
+i1ču
+o1žū
+ī1kā
+ā1ķe
+u1ģē
+e1da
+ē1dī
+ī1čo
+ū1pa
+ā1de
+o1ma
+i1dā
+ē1ņo
+ū1žu
+o1ko
+a1vē
+ā1zē
+ā1sā
+ī1do
+u1cā
+ī1ļā
+u1du
+e1ju
+ā1si
+o1vē
+i1ša
+u1fe
+o1ji
+ē1re
+ū1ļī
+u1ņa
+ā1ca
+a1šu
+ū1nu
+ū1le
+e1ķi
+ā1tī
+o1ge
+i1vā
+ū1za
+ē1nā
+ū1ma
+ā1ķu
+e1lē
+ā1sē
+ā1li
+ī1ne
+i1mī
+ā1pi
+a1mā
+a1žu
+i1ju
+ē1vu
+u1nā
+ū1ru
+e1vi
+a1pa
+i1bā
+o1cē
+ā1lē
+e1ku
+u1lē
+i1se
+e1vā
+ē1jē
+e1pī
+ē1ci
+o1ši
+a1hā
+a1kā
+u1ji
+ū1rī
+ī1sā
+i1ro
+o1rā
+ū1ki
+o1ro
+e1ru
+o1kū
+ē1su
+a1ņā
+ū1tī
+ā1ba
+e1ņe
+e1nu
+ē1te
+ā1vo
+a1sa
+e1nū
+ū1žī
+o1že
+ū1do
+ē1jī
+ī1vu
+o1vi
+u1ba
+ā1na
+ī1mē
+a1ji
+u1ti
+e1mo
+a1ra
+e1hi
+o1te
+u1bo
+e1su
+i1fī
+ē1pi
+i1ģi
+ī1ņu
+ū1lī
+ā1ro
+o1zā
+a1vi
+o1ni
+ī1za
+o1do
+ī1zā
+o1gē
+u1zū
+u1li
+u1da
+a1či
+e1ta
+i1ra
+ā1ķa
+a1jū
+ī1ba
+a1cē
+u1ra
+i1kā
+i1zu
+ē1nu
+a1šā
+e1to
+u1gē
+ū1pī
+a1ho
+ā1je
+ī1ķa
+a1ve
+o1šu
+u1čo
+ī1mi
+u1sī
+a1dū
+e1cū
+ī1rī
+u1ko
+ā1ķī
+ā1zu
+ā1mu
+ī1sa
+ā1ņu
+u1ka
+i1ba
+ū1vi
+ē1ga
+ē1ģe
+a1rī
+u1ša
+u1cī
+a1co
+ī1cu
+o1vu
+i1je
+u1do
+o1cā
+ā1vi
+i1jā
+a1ze
+a1mu
+o1ņi
+e1ža
+o1čī
+i1ča
+i1mē
+ā1cī
+ē1la
+e1dū
+ū1nī
+ī1po
+ē1ļi
+ī1nā
+ū1be
+u1se
+ū1ci
+ī1ņā
+ī1ke
+ā1cē
+ē1sa
+ē1li
+a1ģā
+u1pe
+ā1ku
+a1bī
+u1pu
+o1ca
+u1ne
+ī1ļī
+u1mi
+e1du
+i1ļu
+u1pā
+ī1ņa
+ī1pu
+u1be
+o1ču
+o1šē
+ū1šo
+ē1me
+a1ķa
+u1zo
+ē1zā
+ū1ce
+e1tī
+o1ķu
+ē1jo
+u1tū
+ā1cu
+i1vi
+e1žā
+a1jo
+e1jo
+ū1bi
+u1nī
+ā1ļu
+e1zo
+i1ma
+u1vē
+o1jū
+o1ha
+ū1pu
+e1ša
+a1ru
+a1li
+u1mī
+ū1ve
+ā1pe
+i1cu
+ū1nā
+ī1sī
+e1pe
+ī1zī
+i1rī
+ī1pe
+o1po
+ā1rē
+a1ņe
+ī1gi
+e1žī
+ī1lu
+i1su
+ī1tā
+a1no
+ī1ži
+a1sū
+a1ko
+i1žē
+u1jo
+i1va
+ī1ji
+a1fe
+o1pa
+e1rē
+e1šī
+ē1cu
+i1šā
+ū1žā
+e1ģe
+ē1cā
+a1po
+i1tā
+ā1ne
+ī1va
+e1se
+ī1ra
+o1gu
+ū1de
+u1dā
+i1di
+u1rā
+ē1nē
+a1to
+e1fī
+a1so
+e1ze
+ē1le
+o1mu
+ī1ta
+e1ļu
+a1zē
+ē1ķē
+o1ģe
+e1na
+ū1vē
+ē1du
+u1žo
+i1nē
+ī1si
+i1ka
+ī1fe
+e1no
+i1le
+e1pē
+e1ģē
+ā1go
+i1ni
+e1ča
+a1čī
+ē1be
+a1ša
+e1gi
+i1mu
+ē1bē
+a1čū
+ī1šā
+a1bā
+ī1du
+o1ci
+ē1bo
+ā1ki
+o1mo
+ē1lo
+o1lā
+o1le
+a1gī
+u1kā
+ē1vi
+ī1lē
+u1čē
+ē1mo
+a1cī
+u1ča
+ī1to
+a1fē
+u1ķi
+e1fa
+ī1ša
+o1bā
+a1ļi
+ī1da
+a1mī
+i1gā
+a1ģē
+e1cī
+ā1ta
+i1re
+ā1me
+ū1dē
+a1re
+ī1li
+a1ga
+o1tu
+u1pī
+e1ha
+ā1ķē
+e1tu
+i1ģē
+e1kē
+ā1bē
+o1čū
+a1zu
+ū1sē
+ū1ne
+ā1ga
+ū1vo
+o1ho
+ē1ļā
+o1rī
+ū1ju
+o1fu
+ū1ji
+o1lū
+ā1do
+i1to
+u1bā
+u1ge
+u1cē
+a1le
+u1ķē
+ī1ce
+a1ķu
+ā1ze
+e1šu
+ē1ja
+a1vū
+i1ņā
+ē1na
+o1ne
+ā1dē
+ā1ģa
+u1su
+u1sa
+ē1di
+ū1su
+e1fo
+ē1ni
+ī1pī
+i1ku
+ē1pa
+ē1po
+ī1zi
+i1ļa
+i1ši
+ē1lī
+ā1no
+a1jī
+ā1gā
+o1zī
+ā1dī
+o1ļi
+ā1rā
+ē1zi
+ū1pi
+ē1ge
+o1mū
+i1kē
+e1gū
+u1gu
+i1zū
+a1gu
+a1lū
+i1cā
+ū1lā
+o1ķe
+o1se
+ē1vā
+ē1ru
+a1fo
+e1sē
+ā1re
+ā1lā
+e1ļi
+a1ņu
+e1jā
+ā1ža
+ē1zu
+e1ņi
+u1pi
+ē1mē
+o1ņē
+o1ti
+u1pē
+e1zī
+u1fi
+e1ķe
+ā1jā
+u1vī
+ī1ņi
+u1žā
+ū1li
+e1de
+o1be
+ē1zī
+e1hu
+e1he
+ī1lā
+u1tē
+e1nā
+a1sā
+ā1se
+ē1ļo
+a1ģi
+ī1ze
+o1je
+ū1te
+e1kū
+o1li
+ā1ce
+o1vī
+i1ci
+ā1so
+e1ge
+i1še
+a1ni
+i1do
+ā1lū
+o1žā
+o1še
+o1zu
+a1cu
+e1mē
+e1gu
+ē1ta
+a1do
+e1ba
+ē1ģi
+e1žo
+ā1gū
+a1za
+ū1la
+ū1ķī
+a1pi
+ī1nī
+ū1šā
+i1šē
+o1ļe
+ē1mi
+u1zā
+i1ķā
+ī1ko
+o1dū
+ī1ķi
+a1ķē
+ā1su
+ī1lī
+e1čā
+ē1ļe
+u1za
+o1ži
+o1fe
+ū1tē
+o1ki
+ā1za
+e1le
+ē1bī
+a1di
+o1sē
+ī1žu
+ī1bo
+u1me
+a1rē
+i1ļo
+ū1si
+ā1sī
+u1ni
+ī1ka
+ā1ļi
+o1tī
+ā1šo
+u1tu
+e1žu
+i1ža
+o1lu
+ē1rī
+ā1ju
+u1šī
+a1ķe
+ē1so
+ā1da
+ē1ba
+ē1ri
+o1ce
+ē1ki
+i1ļā
+a1pe
+o1šū
+u1ļo
+ī1zo
+ē1rū
+e1go
+e1te
+i1za
+e1vo
+u1vi
+i1fe
+i1ņu
+ā1zo
+ē1zē
+o1jē
+u1re
+ā1ņa
+ē1pā
+o1žo
+u1nē
+u1ņu
+ū1du
+a1ļu
+u1mē
+ē1pu
+u1lo
+i1ji
+ā1rī
+ī1rē
+e1rā
+u1ru
+a1cā
+o1rū
+ū1na
+u1ģe
+ū1dā
+u1tā
+i1sa
+at1tu
+eg1rū
+ak1so
+it1de
+eb1lā
+et1vī
+or1bi
+al1ša
+ap1dū
+ak1na
+um1ci
+aš1le
+ēr1ķe
+en1ku
+il1ki
+ēr1ku
+at1nā
+at1ģē
+us1pē
+os1vī
+os1ci
+an1ra
+en1pa
+ej1dē
+až1vī
+as1bu
+īs1ga
+iņ1di
+en1to
+uj1me
+or1ki
+el1zo
+ot1nē
+es1ko
+uz1gu
+ak1ti
+īr1ni
+iz1hi
+il1pu
+es1ma
+āt1vi
+ag1rē
+on1zē
+īb1tu
+ap1do
+īt1vī
+ul1sā
+īk1lī
+ur1so
+ok1tē
+ēb1tu
+īs1la
+et1ve
+al1mo
+op1ša
+en1ce
+im1nī
+uš1ķa
+ek1ti
+iz1cī
+er1di
+ur1fa
+an1tā
+er1ba
+as1pe
+al1su
+ip1so
+al1cī
+at1de
+aņ1ra
+ēk1šu
+īg1li
+om1ni
+oņ1ka
+as1le
+at1ņi
+id1rī
+un1ve
+al1kū
+in1da
+ār1ba
+īs1žu
+al1ka
+up1jī
+ur1gu
+at1sī
+īg1mā
+āl1ti
+al1va
+uļ1ku
+ok1rē
+er1gi
+uz1ļo
+ak1šē
+īm1re
+iz1te
+āt1vē
+ēg1ni
+īg1ru
+il1cē
+ir1mu
+ar1ku
+ot1zi
+ub1na
+an1če
+om1bī
+ēg1si
+el1le
+av1ru
+il1nu
+ēs1te
+ur1kā
+ik1ro
+ep1nu
+ur1vē
+oņ1lu
+it1ma
+il1ja
+ēj1tē
+an1ga
+eš1pa
+āl1ce
+ob1rī
+ur1vi
+up1ri
+ēz1tā
+iz1čo
+ap1ša
+uz1ru
+ut1rē
+ar1to
+ež1nī
+aš1ļu
+aļ1ce
+al1ne
+is1sī
+ib1šo
+uz1nu
+ut1ņu
+ul1de
+ār1ho
+am1pū
+ēl1gu
+um1vi
+ik1to
+ēr1ze
+ož1va
+ez1nī
+am1lī
+ak1se
+el1ko
+ep1si
+āj1tu
+um1zā
+at1ja
+al1ķī
+az1dā
+or1to
+ec1he
+at1cī
+en1ko
+ūs1ki
+īg1sa
+ef1ri
+ār1sa
+im1po
+īt1rī
+ed1vi
+id1sē
+ā1džā
+up1la
+ēc1te
+es1pu
+uk1šo
+āp1ni
+ā1dži
+ak1la
+en1na
+as1ka
+ām1di
+ag1li
+og1rā
+ag1dā
+oz1vi
+an1ku
+īk1nē
+us1mū
+er1ma
+āb1ša
+in1tu
+ob1ti
+ap1cu
+es1vā
+ac1ti
+ur1pu
+ar1kī
+el1la
+it1ta
+am1le
+ik1se
+ēk1ti
+ar1sa
+is1mu
+ut1ķe
+ār1vī
+u1dži
+et1nā
+id1ka
+āl1se
+ur1na
+ār1zo
+uz1li
+ān1ka
+as1ve
+ab1la
+aņ1ķe
+ēb1tā
+el1vā
+al1žu
+at1pū
+at1go
+ēr1la
+e1dzi
+iz1dē
+ab1se
+at1žē
+ir1ca
+ēr1su
+uļ1ma
+el1pe
+ej1ve
+ap1ve
+īg1rā
+el1po
+ed1lo
+it1mo
+ep1nā
+uk1tu
+at1šo
+ap1šā
+ār1čo
+ak1sē
+ek1tē
+om1pe
+ul1go
+um1dī
+ec1si
+ēd1vi
+um1mā
+iz1mo
+ok1zā
+āp1ro
+āl1ko
+āl1vē
+ed1po
+īl1zi
+of1rē
+ēj1lo
+ap1sū
+ip1šo
+is1pu
+in1fe
+ep1ra
+at1ša
+or1ga
+on1gā
+ak1šu
+at1jo
+es1pa
+uz1ša
+ār1su
+uz1be
+ik1sī
+en1ša
+ok1te
+ok1bu
+ur1ša
+or1ģe
+īn1ta
+ap1ģi
+iz1zu
+im1tī
+ap1te
+on1nā
+us1jū
+ur1no
+ab1ti
+en1jū
+op1so
+eņ1no
+ur1ka
+an1šo
+ol1le
+ūs1mo
+ās1tā
+ek1tī
+uz1sī
+iš1ķā
+um1pā
+is1po
+ob1lē
+ap1za
+ek1do
+ez1mē
+ēd1la
+uš1ka
+of1ri
+en1hī
+āf1ri
+uk1nu
+iz1do
+ej1ga
+ul1ri
+iz1fi
+ir1na
+is1ka
+ār1do
+en1šo
+ož1ma
+ēs1tī
+at1sā
+um1la
+oš1pa
+eb1to
+ez1ņi
+ej1ka
+iv1žu
+uņ1ģu
+ik1na
+il1ko
+ol1mu
+im1si
+ap1ta
+os1tu
+us1tī
+at1ko
+ar1ci
+iļ1do
+un1či
+oš1si
+en1zā
+ir1zo
+i1džā
+uz1ba
+er1vē
+ip1ni
+il1zu
+in1pū
+or1hi
+iv1de
+os1mē
+uz1pū
+ām1pi
+os1tū
+az1bē
+al1de
+on1de
+uz1ce
+em1ba
+ēr1ļu
+at1nē
+ār1tū
+ur1cu
+ir1ku
+āv1da
+īp1ri
+op1rā
+ej1ni
+am1dī
+ak1va
+ek1pi
+up1ve
+ūt1ma
+un1tā
+aš1ma
+āv1ja
+um1ti
+ūz1mā
+im1te
+ev1rē
+on1ti
+ig1za
+iz1gū
+up1rā
+id1pū
+ār1cī
+ār1lī
+el1lē
+us1ga
+ez1da
+ap1cē
+ej1la
+ag1da
+uz1va
+op1sē
+āģ1ve
+el1to
+ēz1kū
+eš1vi
+uz1vī
+ī1dze
+is1mē
+ef1rī
+ab1ša
+up1ma
+ār1nī
+aš1va
+ab1ri
+ob1tā
+ik1sā
+is1mī
+ag1ša
+ūr1ka
+āņ1mu
+ev1ni
+or1da
+em1ze
+āj1lo
+at1rū
+al1re
+il1cī
+ār1mi
+et1ma
+um1da
+ob1le
+āp1tu
+el1pā
+iz1ķe
+ez1tu
+al1tī
+ap1rū
+iz1ta
+em1ža
+ar1gi
+ēv1re
+as1kā
+až1kā
+eg1ta
+al1gā
+ap1le
+ap1ro
+īv1ni
+op1ka
+ik1vi
+il1tī
+ur1pī
+ir1kī
+iņ1ne
+iz1da
+op1re
+ēl1ni
+is1nu
+ar1cē
+ed1sē
+ul1ka
+ās1ma
+op1ba
+os1fē
+ak1le
+eļ1mū
+ēb1šu
+aš1ra
+uļ1pu
+oķ1vā
+ār1šo
+am1di
+ār1žu
+ed1pu
+ed1ve
+en1re
+ūk1li
+uš1pi
+ep1ta
+al1ve
+ad1ma
+ez1ce
+ēg1tā
+ud1rī
+im1bi
+ek1ra
+iv1jū
+ez1bi
+iz1me
+uļ1tī
+if1rē
+ap1ku
+id1ni
+og1rē
+ēj1de
+op1ko
+iz1tī
+un1ci
+īt1ka
+ēj1nī
+ēr1pē
+oš1ļa
+at1zu
+īv1ga
+os1na
+og1ga
+es1lu
+āt1ko
+az1va
+em1zi
+as1ke
+an1si
+iz1mi
+er1vā
+ep1sē
+al1sā
+us1cū
+ul1sa
+en1ta
+or1vē
+ek1tā
+uz1žo
+an1ma
+i1dzī
+ij1ku
+id1la
+ēp1ta
+ēļ1ko
+ur1ti
+ap1nī
+ot1re
+eš1ņu
+un1de
+ār1vē
+uz1ģī
+er1mū
+o1džu
+oš1ni
+ij1kā
+al1lo
+ig1lo
+er1rī
+em1pu
+ug1ļo
+ūš1do
+ip1ša
+ūs1tā
+oš1ba
+al1lē
+eš1da
+uļ1ļā
+ār1sū
+in1de
+em1to
+ās1tu
+ol1fi
+or1mā
+iv1pu
+aš1la
+ec1ho
+ār1za
+ar1ka
+ub1sī
+ap1zi
+ēp1to
+āk1tu
+er1te
+ur1zu
+īm1ka
+on1ju
+ap1go
+us1lo
+or1na
+og1no
+am1dā
+ār1ta
+ēl1ne
+er1cā
+im1na
+uz1zā
+ār1no
+aj1ci
+ip1tā
+it1ļu
+ag1ri
+ār1bū
+os1po
+ēņ1da
+an1kū
+om1bē
+ār1ve
+aļ1ģe
+im1ti
+al1ti
+īņ1ni
+in1na
+ep1la
+uz1di
+iž1me
+al1tē
+in1si
+ed1ma
+or1tu
+em1ta
+ug1si
+er1be
+us1ra
+il1mu
+ār1ga
+eb1lo
+īr1rū
+īt1re
+al1la
+et1vi
+el1di
+ār1ži
+iz1ca
+ad1da
+ēn1mī
+ut1sa
+ol1po
+ez1ra
+ir1šā
+eg1šo
+ud1pu
+ud1lē
+uk1sē
+on1vu
+em1pā
+ēk1bē
+ār1dē
+en1zū
+āj1re
+at1lo
+ez1ni
+et1ka
+iv1ji
+in1ku
+or1bī
+ok1ti
+al1si
+ur1zī
+ūn1ga
+ēr1pa
+am1bi
+at1ro
+ēr1bu
+iz1ķē
+ip1sē
+uz1či
+ir1du
+uh1tā
+er1bā
+ik1ga
+īš1ķi
+iz1rū
+it1da
+ok1ņu
+ēg1ta
+ir1lo
+an1ka
+in1dī
+es1vī
+op1ma
+um1sī
+on1pa
+em1pī
+ūk1ko
+el1tī
+uz1me
+er1vī
+ūz1na
+eg1ru
+it1ga
+us1du
+īt1ņu
+ep1lā
+ur1va
+um1zī
+īd1lī
+o1dži
+ār1bu
+ak1tā
+er1ta
+ēr1no
+ēr1pā
+um1bi
+en1ca
+oņ1cū
+ēj1mu
+at1pī
+ēr1gā
+ip1re
+ār1vi
+aļ1ķo
+et1ni
+ir1gū
+āp1ne
+ir1su
+āt1me
+eb1tu
+in1cē
+aš1ķe
+ip1ro
+om1da
+ep1tī
+ef1ra
+ū1dza
+ēt1ku
+ub1li
+az1be
+ūs1ka
+us1pa
+ar1su
+uf1li
+ūr1vī
+īs1za
+af1rē
+uz1ņa
+e1dža
+iz1bē
+ūt1di
+en1nī
+eļ1ķē
+es1ku
+az1da
+īg1ra
+iz1gā
+ar1ķī
+er1šu
+ud1ka
+ed1ri
+op1ra
+ap1li
+ap1dī
+ed1la
+an1rī
+en1tī
+āb1šo
+an1cū
+ēj1da
+es1tī
+er1ko
+ūg1ta
+el1zu
+in1ne
+er1bi
+ig1me
+ež1ni
+ad1mi
+aj1ni
+el1li
+ik1šu
+āl1pu
+ar1ga
+et1ta
+īc1še
+uz1zu
+om1bū
+un1ku
+īb1ni
+ar1ža
+ēt1ni
+is1tu
+un1ze
+aš1di
+it1ni
+en1zē
+en1ģe
+er1pe
+uz1zū
+ul1si
+ur1ca
+ap1fa
+is1no
+iz1ķī
+us1vi
+in1ho
+og1ļu
+ūs1nu
+er1ga
+ir1ze
+ēl1re
+ēs1li
+em1ma
+if1ra
+at1mē
+ur1rā
+at1ho
+ob1ju
+op1ro
+ip1li
+ec1mā
+er1mī
+ak1mu
+es1sa
+īk1lo
+u1džē
+ur1fi
+id1ko
+ār1ņu
+uņ1ģa
+īk1li
+iņ1ķe
+as1kē
+il1de
+ār1kū
+ul1bo
+ez1no
+en1mē
+ab1ro
+uz1gū
+ek1ņu
+ož1ņā
+at1ku
+uk1sa
+uk1lo
+ar1do
+ak1tu
+ār1du
+ik1ci
+al1du
+en1pe
+al1vī
+un1ti
+ul1le
+os1cē
+ec1sa
+īk1ti
+ār1dā
+ēb1ju
+ap1ču
+ub1rā
+iv1pa
+os1ma
+oš1ķe
+aš1pu
+um1pē
+ēp1tā
+ek1si
+īk1ļu
+uļ1ķī
+ūš1ka
+al1pe
+īg1nā
+uz1pā
+āt1rā
+īg1nu
+ik1lu
+āb1tā
+um1ji
+ab1so
+og1le
+ir1te
+īb1tā
+il1do
+em1zē
+ar1ģe
+ot1ve
+ap1gū
+id1vā
+ār1de
+āt1ne
+ēt1sa
+ad1do
+en1ja
+er1na
+ēk1li
+iļ1ņa
+uš1ki
+iz1nē
+oz1va
+ez1go
+us1bā
+ut1ri
+ur1lu
+ib1re
+ej1te
+ok1ho
+en1zu
+eb1rā
+em1tā
+ed1mā
+ah1ti
+em1ti
+um1sā
+az1tu
+ur1sī
+in1go
+ār1di
+ap1ņo
+īs1cī
+al1bi
+as1ni
+ek1se
+al1li
+uk1na
+al1nē
+iz1mē
+er1ce
+ūs1mu
+al1tā
+ul1fā
+ēk1lo
+az1ga
+er1zā
+ir1gu
+ig1rī
+en1dē
+eč1tu
+ep1ļa
+ēk1ta
+uz1dē
+ur1su
+īc1ku
+it1bi
+āk1kā
+āp1tā
+eļ1ce
+ed1rā
+ib1rā
+er1mi
+āb1rī
+iļ1ķi
+or1mē
+em1pi
+os1vā
+as1zo
+af1rā
+ež1pā
+ūs1nē
+ān1ve
+eļ1ķi
+oš1ga
+il1žu
+en1va
+īt1ra
+ak1ri
+up1tu
+ad1ka
+eļ1zī
+ir1nē
+ec1ve
+or1mu
+iz1mī
+īš1ļa
+ab1ve
+er1ri
+ū1dze
+ūz1ni
+in1ka
+īķ1sa
+ud1pe
+us1mē
+iz1rī
+on1rā
+aņ1kā
+at1ze
+āl1re
+em1ja
+im1sē
+īk1lu
+ek1va
+at1bī
+is1lā
+os1pī
+ār1jā
+as1mā
+ol1nī
+īg1ti
+em1po
+īg1tā
+ed1va
+ar1da
+or1po
+us1ni
+al1lā
+os1ti
+eg1da
+uz1bā
+ūt1rī
+ag1ni
+iņ1dē
+iz1zo
+is1me
+at1bi
+az1ti
+og1ra
+en1la
+at1do
+ap1zī
+am1ga
+us1ti
+oš1ķi
+is1tā
+at1la
+ēj1ti
+e1džā
+ec1ka
+or1ķo
+iz1pū
+uļ1zi
+er1de
+uk1ļu
+eh1ni
+ēg1to
+ēl1si
+ēc1nā
+ap1pā
+āl1no
+ar1hā
+at1gu
+ob1ļa
+ap1bo
+uļ1ķi
+uk1lē
+es1bi
+ar1žo
+iv1co
+el1mi
+ēr1ci
+ik1mē
+ap1da
+uz1ķī
+im1pu
+īk1la
+ag1ru
+iz1dī
+er1ņa
+at1ņu
+or1pi
+ēp1ni
+ūt1ņu
+eš1ta
+ar1ta
+un1ga
+oš1ļi
+eņ1ģi
+an1tē
+at1si
+or1te
+iz1rā
+ol1vi
+iv1cī
+aš1ko
+ām1ri
+āz1tu
+ek1sī
+ūk1tu
+ēk1ļu
+ir1sā
+el1ku
+ek1su
+aš1ļi
+iļ1ņu
+iz1si
+ir1gi
+at1ha
+ar1tu
+em1bu
+āt1sa
+ek1ļū
+en1tā
+iz1šu
+as1po
+ir1ta
+ab1re
+it1le
+ūk1pi
+uņ1ne
+aš1vi
+ām1pa
+ār1sē
+ok1si
+og1pa
+ut1rī
+in1ji
+ig1no
+iž1ļa
+ēb1ni
+uk1ma
+ēp1šu
+ol1vē
+ēz1ta
+am1kā
+ed1fo
+āp1ra
+ir1ce
+ul1li
+as1no
+ēt1ra
+on1ta
+ur1ņi
+ur1bi
+iz1cē
+us1ki
+eb1ša
+ož1me
+an1gī
+āv1ji
+ip1si
+ur1nē
+ak1ša
+eņ1ku
+ab1li
+il1vī
+is1kē
+om1pā
+ir1mī
+ip1lī
+ēn1mā
+ēr1šā
+āk1da
+el1nā
+ul1pe
+iš1ļo
+ēj1pu
+āl1lī
+ud1ko
+er1vi
+ak1tē
+īs1ka
+ag1tā
+ī1dzī
+at1vu
+ar1mē
+ar1sē
+eb1lē
+od1kā
+ūr1vi
+ot1ņu
+en1da
+az1du
+āt1nā
+oņ1me
+āl1ba
+eb1šo
+uz1mā
+an1zī
+ag1lī
+ot1bu
+il1po
+ēr1ķa
+ur1cā
+ej1bo
+az1ze
+iz1žo
+op1ļā
+īg1šu
+ēs1lu
+at1mā
+eg1lo
+īt1ri
+ir1tu
+ek1sā
+ik1ta
+eg1lu
+ur1vā
+un1bē
+uz1mū
+ež1zi
+eg1tā
+or1ma
+ob1ga
+av1ko
+el1ba
+ā1dzi
+at1ģi
+āg1ne
+ēr1za
+ed1rū
+iz1hu
+aš1ņa
+āb1si
+uz1ni
+et1pi
+āz1vā
+u1dzi
+en1tē
+āt1re
+ūv1no
+um1su
+iz1ci
+at1ra
+uz1ri
+or1ta
+āk1lu
+ik1po
+āš1ķi
+ār1pe
+ap1ķī
+uz1bū
+uz1pē
+uz1si
+ir1ža
+an1gā
+ap1šū
+i1dze
+at1ju
+at1fo
+is1ne
+ez1rē
+as1gā
+al1gu
+as1ti
+ūš1ko
+es1tā
+al1jē
+in1ša
+ab1le
+i1dža
+ēp1ja
+eb1ļa
+ub1le
+ab1tu
+ād1mi
+iņ1ķo
+ā1dža
+ek1li
+un1li
+ek1mē
+ok1lī
+ēr1pi
+ēr1pu
+iļ1la
+ep1ka
+em1li
+ez1na
+id1ma
+až1ne
+ir1re
+ēt1di
+am1zo
+ūr1fo
+ež1ga
+im1to
+ūp1nī
+at1du
+im1tā
+ūg1šo
+en1si
+al1ge
+al1dē
+eļ1ļa
+ap1vī
+ār1cu
+ež1ģa
+iš1re
+ār1ne
+ul1je
+ar1mī
+oš1ka
+īn1va
+ēr1ma
+ok1nu
+om1ra
+ap1jā
+us1ce
+un1mā
+ek1ši
+ob1lā
+ēr1sā
+et1ne
+uz1de
+il1bo
+it1pā
+ar1tē
+ed1ko
+ol1vī
+ot1rī
+us1se
+ēt1ti
+iž1ļu
+īz1de
+en1sā
+is1la
+ik1te
+ob1to
+ag1lā
+it1ko
+ep1ci
+āg1ti
+ūs1le
+ek1lu
+us1mā
+ār1ze
+īs1tu
+ar1kū
+ir1de
+ed1jū
+or1fī
+ēt1li
+ūs1mā
+el1no
+id1ru
+ij1ko
+er1ve
+ec1la
+aš1mo
+em1zo
+uz1bē
+er1fo
+eš1ķū
+ak1lī
+el1lu
+ib1li
+ek1nu
+ir1ņu
+aš1nā
+ēl1ga
+em1nī
+iz1vi
+us1te
+is1ha
+on1jo
+az1ka
+ās1ta
+aš1ta
+iz1vē
+er1nē
+uļ1va
+ab1lē
+an1žu
+oņ1ve
+il1bu
+em1pa
+ob1se
+em1jo
+īv1su
+er1co
+ur1to
+ēg1vā
+in1ci
+ak1ļū
+uz1šu
+eņ1la
+ūg1šu
+āg1tu
+ūg1ti
+īt1va
+er1ka
+ol1šū
+iz1ču
+us1ke
+ur1bē
+āp1ri
+ak1ļa
+ūs1kā
+os1va
+er1ze
+ēt1nī
+āj1ku
+en1žo
+uļ1ve
+is1ķe
+īg1si
+ur1me
+ur1bī
+on1hī
+an1di
+āj1mā
+ep1ļē
+aš1ņu
+or1vi
+ad1vo
+az1gu
+uz1lū
+it1pi
+ak1šo
+ap1si
+ās1to
+in1te
+am1sa
+ap1šo
+iz1vo
+uz1ve
+uļ1ņe
+uz1fo
+uv1sa
+uņ1ķa
+uz1ta
+ug1ļu
+ek1lī
+ok1se
+ok1vi
+až1ņa
+oņ1sa
+ab1hā
+iņ1ci
+ug1šā
+ek1rū
+ij1pa
+ok1ve
+ap1he
+ut1bo
+el1zā
+or1di
+an1go
+iņ1zi
+ek1mī
+ap1bē
+on1gi
+aļ1me
+ab1ru
+ig1ti
+ur1be
+u1dže
+ek1vi
+ur1ze
+ūm1va
+um1mu
+aļ1bu
+āt1ņu
+om1re
+ug1le
+ez1ta
+am1bu
+at1cē
+ēp1ju
+ez1sa
+at1ni
+an1me
+uz1no
+ār1lē
+ul1kā
+ar1pu
+iz1ru
+an1ži
+eņ1ķē
+od1ni
+is1na
+em1zā
+ār1se
+at1ri
+it1ru
+uš1čo
+il1ve
+al1ta
+oš1vī
+ēr1po
+il1pi
+ap1pē
+is1ķē
+ēr1sa
+ār1ku
+oļ1še
+uz1pi
+av1ro
+og1rū
+īg1ņa
+ī1dzā
+il1ze
+ez1ve
+ūr1te
+on1dā
+up1da
+iz1nā
+im1di
+ul1gi
+az1mē
+ā1dze
+as1lē
+ok1ļa
+ak1ce
+ūn1ve
+ek1lo
+ok1tā
+ap1jo
+ēr1gu
+il1nā
+iz1he
+uļ1ņē
+īt1ru
+īd1se
+ak1rē
+āt1ro
+at1da
+iz1žā
+ol1tē
+ūt1sa
+as1ku
+īn1bū
+īv1si
+or1no
+ot1ce
+ol1de
+ab1pa
+ēr1pe
+oņ1ko
+ok1na
+ev1ze
+us1ri
+ip1ti
+eķ1tu
+op1ta
+īs1ra
+er1zē
+of1rā
+ur1dē
+ot1ka
+is1zi
+ēk1mī
+iz1ne
+ag1rī
+on1si
+ir1pē
+er1ni
+ās1vi
+an1za
+ēl1gā
+ap1du
+ek1lā
+ār1ņa
+um1pa
+an1fa
+ār1pa
+uļ1so
+ar1pe
+eš1ļa
+ēr1vi
+ef1rā
+og1la
+it1pē
+in1je
+ut1ma
+ig1nu
+ēr1te
+az1gā
+āl1de
+ār1zi
+on1fe
+on1ma
+ib1ta
+at1žu
+it1lī
+it1ra
+ok1be
+is1žē
+ēz1ma
+ār1ti
+er1ru
+az1ja
+ēg1le
+an1ni
+az1lē
+uk1ni
+at1lī
+eņ1ma
+ik1vī
+ap1be
+ar1ne
+ip1ta
+ap1žu
+az1pu
+ak1ra
+ul1ve
+is1pē
+ež1sa
+iv1ma
+ār1šu
+ek1na
+os1la
+ik1tē
+ēs1la
+es1la
+at1ki
+iz1lu
+ur1le
+īd1ni
+it1se
+ej1ma
+iņ1si
+ār1lā
+us1va
+us1ci
+if1te
+el1ta
+uz1ga
+ak1tū
+or1ve
+iz1ce
+oš1kā
+ēt1ru
+ad1rē
+et1ņu
+ik1šo
+oz1ma
+ir1ti
+uz1da
+ūm1de
+el1tē
+ēz1ti
+it1rē
+aņ1ve
+ap1zā
+at1ga
+up1de
+ās1na
+ap1tu
+āp1ņu
+in1tē
+ās1ne
+ap1re
+ir1ka
+uz1tī
+uz1go
+at1ļā
+ad1rū
+ir1zi
+īv1mā
+er1sa
+in1ti
+āb1ju
+iv1si
+ep1jo
+e1dzē
+el1si
+ij1žu
+an1du
+iz1tā
+il1lā
+ul1bā
+is1cī
+ag1vi
+āj1rū
+os1lo
+īk1lā
+āb1to
+al1nu
+āt1ki
+eņ1ķī
+ol1kū
+un1pi
+ec1re
+uz1ču
+ul1dā
+en1ro
+ir1di
+en1ču
+ul1jo
+ul1ce
+az1vē
+ap1jē
+āl1zī
+ūš1ļo
+og1ve
+ag1si
+on1su
+og1ca
+ol1gu
+ār1zā
+ig1li
+iš1sa
+ot1ru
+al1vā
+am1tī
+ās1te
+ud1rā
+ēt1ko
+uz1jē
+āl1gu
+et1me
+ed1ra
+at1cū
+ol1zā
+uz1žā
+ul1gā
+ok1ļu
+īv1ze
+at1ve
+en1gu
+um1du
+o1dzī
+up1jo
+ap1di
+ur1rū
+īv1mū
+ūk1to
+iz1ņu
+uz1šā
+uļ1bū
+ez1pi
+in1vā
+al1ja
+in1ve
+iz1bu
+ap1šu
+us1ze
+ob1rā
+ēk1me
+il1le
+ēz1to
+īk1de
+ēj1lu
+ar1zo
+ec1me
+ar1za
+ol1bu
+ēj1pe
+ul1te
+īd1pa
+al1ki
+en1zo
+iv1ka
+āl1te
+ok1no
+a1dze
+it1va
+ār1jū
+un1go
+iz1ko
+u1džo
+up1ti
+on1li
+iz1čā
+il1gā
+er1gu
+iz1za
+in1gi
+ū1dzo
+ur1ni
+um1bē
+ed1mu
+ēk1tu
+ār1so
+id1lu
+ar1me
+ir1ši
+ik1ša
+ej1za
+ap1ha
+īv1lī
+as1ga
+eg1šu
+iz1bā
+ev1ju
+ap1ce
+ar1di
+em1ju
+am1bo
+iņ1ma
+et1si
+āk1tī
+is1da
+id1pu
+iz1le
+et1no
+ul1da
+ur1tā
+em1ga
+ēr1ša
+or1mi
+ak1kā
+iz1mā
+ab1vē
+ok1pi
+ir1bē
+īg1tu
+ir1sī
+eņ1ci
+iz1sā
+uz1he
+eļ1ķe
+eb1kā
+in1če
+ar1mo
+ēp1šo
+eb1rū
+on1cū
+er1pa
+īg1na
+us1ta
+ār1rū
+is1lī
+ēg1li
+eš1re
+uz1hu
+ak1re
+īn1da
+el1de
+um1ja
+ak1nē
+ob1tu
+ek1to
+ēr1bē
+ir1ci
+ih1ti
+ov1nu
+al1be
+aļ1da
+ot1rā
+ēr1ķē
+ud1ma
+āv1ju
+ik1li
+ar1du
+uk1su
+ak1sī
+us1le
+āt1bū
+ug1ša
+ag1mā
+ēr1tā
+uz1nā
+uz1čī
+ēs1tu
+iv1tū
+un1ko
+er1mē
+or1ci
+un1ka
+īt1ci
+ūk1ni
+ār1gā
+oz1ta
+is1pi
+ef1ko
+āš1ņa
+ig1ni
+ur1cī
+aņ1ķī
+ec1ti
+il1tu
+ul1su
+an1jo
+ek1vā
+al1po
+uk1tī
+āj1ni
+ām1ja
+ēr1li
+ah1tu
+at1vē
+il1nē
+an1ke
+as1ci
+er1je
+es1nī
+id1gu
+ān1va
+us1fi
+ār1si
+ēd1va
+ul1vā
+el1ni
+eš1ma
+un1la
+al1ma
+un1du
+an1ho
+ul1šu
+el1mu
+al1žī
+el1rū
+ul1ci
+ar1ģi
+at1vo
+ēr1bi
+il1vē
+us1me
+at1li
+uz1mu
+av1da
+ēg1tu
+uz1ļu
+eg1vī
+ēb1to
+ad1ju
+ir1mo
+or1fē
+el1nī
+iž1ļi
+em1de
+ap1pa
+ūg1ša
+ul1bu
+ēr1mu
+as1vi
+eb1ļā
+as1pi
+ir1sū
+uz1vē
+ās1nī
+ur1zā
+ir1bo
+īk1da
+it1nī
+ar1pa
+el1do
+ēr1le
+or1fi
+ēt1la
+aļ1ļi
+am1bā
+āš1ņā
+us1jo
+eļ1ni
+eļ1nī
+us1ja
+in1gu
+ig1nī
+ed1ru
+uj1bi
+os1te
+em1va
+ar1lo
+ig1lu
+ak1lā
+un1ba
+iz1bū
+am1ze
+is1ti
+it1ne
+uz1sā
+ep1lē
+iz1bī
+ār1nē
+eg1la
+iz1du
+ēg1dē
+ān1za
+es1lo
+im1de
+at1hi
+ar1ķi
+iņ1ve
+ēr1zē
+uz1lā
+ir1vi
+ār1ru
+oš1ļu
+at1te
+at1žā
+un1su
+on1tā
+od1la
+ār1ģe
+ēs1lo
+al1kā
+aš1pa
+ūz1ne
+ār1čā
+ur1je
+uļ1ķa
+ak1ņā
+īr1fa
+es1kū
+ār1ši
+ar1ba
+ār1ša
+ir1dī
+id1nī
+uk1da
+uz1žu
+ār1va
+ot1ra
+am1do
+iz1ģi
+ep1lī
+em1si
+āl1ta
+in1su
+ol1ni
+ub1ļu
+iz1ņe
+ap1ča
+el1za
+ob1jā
+uk1tē
+ap1mā
+al1ri
+ot1za
+ir1dā
+av1ni
+ūr1mu
+it1mi
+og1ļū
+er1za
+ek1lē
+ūg1te
+it1mē
+oš1ņa
+āk1le
+aļ1čū
+ān1lī
+e1dzā
+um1be
+et1rī
+ek1sa
+al1le
+uļ1ka
+iv1ni
+ēd1mē
+il1dī
+ul1ti
+ot1le
+at1gā
+iņ1sē
+at1ca
+aļ1rā
+ab1su
+īn1bu
+ip1rī
+uz1ra
+uļ1de
+em1ko
+at1čo
+op1vē
+a1džu
+uz1ķi
+ir1ma
+ur1bo
+iz1pe
+em1tu
+āč1sū
+um1šo
+ap1ķē
+āl1sa
+as1fa
+ož1ņa
+em1dī
+ūz1da
+el1pi
+ir1sa
+āz1mo
+ed1ro
+il1si
+īk1na
+uz1cu
+os1pu
+ag1šo
+iv1va
+īd1vi
+iņ1ro
+ār1ču
+id1ne
+eg1pu
+um1ko
+uš1ķo
+ār1ka
+īļ1bā
+ak1ve
+ez1gi
+or1la
+aš1pā
+īg1va
+ir1šī
+iļ1li
+ēr1sī
+um1ši
+īm1ju
+ub1je
+ep1li
+at1po
+āl1ma
+am1bī
+iņ1ķi
+āj1ra
+as1tū
+eš1tū
+en1te
+īv1ma
+et1nī
+āb1pu
+os1ku
+is1tē
+ok1ļi
+iz1rē
+iz1ži
+el1nu
+iz1pā
+ul1tā
+oļ1ko
+ēv1vā
+os1lā
+or1tī
+āb1tī
+af1ro
+ēl1zī
+āl1ru
+an1šu
+us1tā
+or1do
+er1ci
+īs1ri
+ēd1ra
+im1da
+ar1be
+il1ku
+iz1mū
+it1rā
+up1ša
+uz1sū
+us1ru
+ir1do
+ur1ga
+ek1re
+al1nā
+ok1ni
+ek1šu
+ob1rē
+ir1žo
+ār1dī
+eļ1ma
+aš1ci
+il1pa
+ū1dzu
+ek1ša
+ār1mo
+il1gi
+uš1ņa
+el1mū
+ās1ka
+ēk1ša
+or1ķi
+ār1nu
+az1ru
+ās1tī
+im1šo
+um1ze
+īv1so
+ūt1nī
+ap1fo
+ag1šu
+il1ma
+īc1ga
+ēr1tu
+es1mi
+ūs1mī
+īs1ti
+ej1vi
+uz1na
+on1na
+id1ro
+el1mē
+os1pe
+op1lu
+ēc1ka
+ar1pā
+up1ci
+ūs1ma
+ag1re
+ūž1ņa
+ol1ga
+an1ta
+un1di
+al1ko
+ul1lā
+ir1ko
+ī1dzo
+os1vi
+es1lē
+us1ma
+ec1mo
+iz1ve
+az1ra
+āl1cu
+id1rā
+an1ža
+oņ1zī
+um1tā
+af1ra
+um1vā
+ār1rā
+ab1vī
+ū1dzī
+i1dži
+ēg1šu
+in1ža
+ed1ņe
+ec1tū
+or1ne
+eg1ma
+āp1ja
+ār1šī
+ep1re
+is1ve
+ol1fe
+op1ci
+as1te
+ār1šū
+ež1ku
+iņ1tū
+es1te
+ek1ta
+ēl1cu
+ār1na
+us1jē
+il1te
+āv1ra
+āv1ce
+aļ1va
+um1ni
+ak1ni
+ār1rē
+et1ri
+u1dzī
+on1tu
+up1le
+am1bē
+in1to
+ād1nī
+in1ta
+ol1ma
+īk1bu
+an1žā
+āb1ma
+ur1ķī
+ak1vi
+at1nu
+is1bi
+ol1ve
+og1ne
+īv1bi
+ok1lu
+ār1čī
+ug1ti
+īn1ra
+ig1to
+uļ1ģi
+ār1ma
+um1jī
+ē1dze
+ap1rē
+is1nā
+ūp1ko
+un1si
+il1tā
+ap1ņu
+ol1be
+os1mi
+ig1la
+īl1ni
+or1bū
+ip1ru
+ak1cī
+eņ1ķa
+ez1gī
+oņ1sā
+āz1ni
+ān1pā
+us1pu
+ād1ne
+us1po
+īn1de
+āk1ba
+ā1džu
+ur1sē
+at1ba
+āp1ti
+ūv1vi
+ah1tā
+ut1nē
+em1be
+ap1na
+ul1pa
+ob1je
+āk1ļa
+ib1ti
+os1ve
+ud1vi
+en1pā
+āv1ni
+iz1vā
+eg1ro
+op1si
+ap1pu
+am1ni
+at1ta
+ak1li
+es1ne
+uv1ju
+ar1rī
+i1dzu
+es1rē
+ob1lo
+es1li
+og1ma
+uš1ko
+an1zā
+ig1tu
+an1be
+im1pē
+ic1sa
+eb1ka
+uz1zī
+oš1ma
+at1nī
+am1dē
+uļ1ba
+ār1mu
+up1jā
+ār1he
+es1mē
+er1ha
+ēl1di
+ih1re
+op1ja
+il1go
+uv1ve
+ul1pu
+il1du
+aš1mi
+āl1ve
+ār1lu
+ez1pu
+at1so
+īs1ca
+ek1ni
+ēg1nā
+ūt1ro
+ap1ķe
+ab1pu
+iz1nu
+iz1ņē
+ēk1ne
+ež1jo
+es1po
+ās1no
+ūv1ni
+aļ1sa
+aļ1ķī
+ē1dzo
+ip1no
+ap1vā
+īk1tā
+ār1čū
+uz1ze
+uz1nī
+on1du
+ap1hu
+ez1nā
+uk1ļi
+ul1bi
+ad1pē
+at1pē
+ēr1zu
+uz1čā
+ēs1to
+aš1gā
+āt1no
+en1vē
+is1be
+et1rū
+āk1ta
+uk1tū
+ij1ni
+ug1šu
+us1ķi
+ij1ve
+el1šu
+ul1vē
+ēt1rī
+ag1ļē
+es1pe
+ēr1šo
+ak1rā
+eļ1pa
+ec1rī
+ez1lo
+ēk1lu
+el1va
+ār1ķi
+eļ1po
+am1pa
+ūt1ni
+iš1zi
+id1mē
+uz1dū
+ēk1la
+iņ1ta
+ol1tā
+īk1ša
+īt1nē
+iļ1jū
+it1tū
+is1pa
+ap1sā
+iz1so
+ež1ģī
+ud1ri
+oņ1nā
+am1lū
+iz1pē
+ak1vā
+al1te
+ad1ri
+ak1ga
+ār1bā
+ap1rī
+or1bē
+af1ti
+uz1du
+at1ši
+ug1tu
+iv1zi
+an1se
+eg1to
+ūd1rā
+os1lē
+ār1ri
+el1ga
+ēr1de
+ir1tē
+em1ļa
+us1na
+im1do
+āt1ve
+ur1ma
+ur1ģi
+īg1ni
+īd1ko
+ūd1ra
+iz1vī
+ed1rī
+at1jā
+il1mo
+e1dza
+ēk1to
+ār1ģē
+iļ1ņi
+iz1bo
+as1ro
+um1zo
+or1pu
+ar1kā
+ik1ko
+ap1ca
+īs1ba
+as1vā
+at1mo
+uz1pu
+ēn1ga
+am1ba
+uk1ši
+ag1to
+iz1zi
+uz1tu
+ul1ni
+er1lī
+eš1ķē
+en1zi
+at1zo
+ir1ša
+ez1si
+us1so
+am1fī
+ig1tā
+e1dzu
+ap1kā
+ār1ro
+es1vi
+ag1la
+ir1mē
+ad1ve
+it1di
+um1no
+ap1lā
+in1ga
+op1šo
+a1džā
+er1po
+uz1bī
+un1ra
+uk1ta
+ar1ve
+īn1sa
+ap1vi
+ēr1ce
+og1lū
+aš1li
+aš1po
+e1džu
+ap1mu
+ag1lu
+or1be
+am1ne
+ol1di
+iņ1ģe
+it1na
+eļ1ņu
+uz1lu
+ās1me
+ār1sī
+ur1ku
+ur1pe
+ep1na
+ut1na
+ac1da
+uz1le
+ik1ka
+ar1fi
+ab1si
+er1zī
+ār1ļu
+ap1ja
+ul1tu
+is1di
+an1ge
+ar1lī
+ug1tā
+on1so
+ud1kā
+eļ1ko
+iš1ķī
+um1po
+ik1ļa
+ūg1tu
+ār1gi
+ēr1ni
+et1va
+ap1lo
+ēr1ķī
+iz1tu
+īv1la
+is1ju
+od1ba
+az1ro
+ūs1di
+up1tū
+ūs1nī
+eļ1lo
+ap1bī
+um1ta
+īs1tī
+eb1rī
+uš1ķē
+ep1tū
+eb1lī
+or1že
+up1ra
+ēt1ma
+ak1ro
+ir1la
+at1či
+og1lu
+ūs1ku
+ut1rā
+il1no
+ec1de
+an1bā
+az1vi
+ān1ga
+ēj1ce
+eļ1ve
+er1zi
+el1sa
+īk1ta
+īt1rā
+ār1fe
+um1ka
+ir1si
+ag1ļi
+ip1ka
+ak1šā
+ar1ki
+ek1ļā
+ar1bā
+ed1da
+os1le
+iv1ja
+iv1kā
+ūk1šo
+uļ1vē
+ēk1tā
+oš1ņu
+og1de
+ok1ļo
+ul1dē
+ik1sa
+am1pē
+ūs1no
+um1to
+us1ču
+od1ka
+as1lo
+op1mī
+up1to
+oļ1ti
+ū1dzi
+īr1ma
+os1kā
+al1dī
+ok1va
+el1tu
+ap1pi
+is1ca
+os1ce
+āl1vi
+ir1mi
+uš1ķi
+oz1tā
+is1te
+ig1ša
+at1rā
+ar1žu
+os1kū
+im1ša
+ār1to
+um1bo
+an1sa
+aļ1ļa
+ēk1di
+āj1ka
+ak1tī
+ar1tī
+os1tā
+eg1re
+im1sa
+ul1sī
+ag1me
+il1lē
+on1ce
+iz1jā
+iž1ci
+or1ku
+az1no
+im1pā
+of1se
+op1ļē
+āl1ka
+ēs1ti
+oņ1de
+er1la
+ār1ņē
+uz1ku
+ab1pi
+ar1na
+em1ša
+er1ku
+im1pe
+in1tī
+es1mī
+īv1do
+uz1mo
+uš1mi
+ak1lē
+aļ1la
+up1lā
+ok1ta
+ūv1me
+em1žē
+āl1rū
+is1pā
+ar1le
+eš1va
+eņ1rā
+ad1ne
+on1ku
+īs1si
+ab1da
+il1lu
+ar1va
+an1ko
+ez1bē
+ež1li
+il1ga
+at1tā
+iz1kū
+ar1nu
+ir1mā
+ad1je
+ik1ra
+an1bu
+op1ri
+ik1vā
+ek1šē
+ap1ru
+uz1ņi
+iz1be
+at1vi
+it1ro
+ur1tē
+en1po
+ap1jū
+iz1ģī
+ol1rā
+ar1go
+ah1lo
+im1pa
+ī1dzi
+us1lu
+ir1žu
+at1cu
+am1vi
+ag1ti
+im1ju
+ep1ļā
+ec1ga
+on1di
+ān1kā
+is1fu
+at1ņē
+āņ1ti
+at1čū
+az1pa
+ik1pa
+ov1bo
+ad1si
+er1lū
+ir1bā
+um1tu
+uj1ko
+ež1vī
+ab1lo
+ūk1la
+os1pa
+ul1to
+ap1žē
+āv1ma
+ez1zo
+eg1mā
+ap1to
+iz1ku
+os1lu
+or1vā
+ok1rī
+os1to
+al1di
+is1lu
+ē1dzi
+āt1li
+aļ1li
+an1ču
+eb1la
+eņ1ķo
+ak1rū
+en1ri
+ez1be
+ēr1nē
+eļ1ņā
+ab1rū
+un1sa
+iz1zī
+až1da
+ūv1so
+aš1ķī
+it1kā
+ap1bu
+ē1dzē
+a1džo
+īb1šu
+us1lā
+ad1re
+ej1le
+ek1ro
+at1su
+ap1ļu
+ež1ci
+er1ra
+ez1vē
+aļ1ko
+og1re
+ur1ja
+er1zu
+ār1me
+av1tī
+on1tē
+at1fi
+ir1bi
+ob1li
+uz1jū
+aš1ļa
+āb1ra
+ur1bā
+ap1nu
+al1ģi
+an1vī
+on1dē
+ep1tē
+ez1de
+um1de
+up1ju
+īg1te
+od1de
+ok1sā
+at1jē
+ār1zu
+um1di
+eš1di
+eļ1mo
+iz1de
+in1gā
+ač1gā
+ip1se
+iš1ķē
+ūn1ze
+āk1to
+eš1vī
+ēņ1ve
+ap1la
+oņ1ni
+im1ni
+ut1ro
+et1de
+ep1pa
+aš1re
+up1ja
+us1pi
+uj1la
+āt1ti
+op1le
+an1nu
+ēj1mā
+as1lā
+am1mi
+az1dē
+am1po
+īk1pi
+ūk1tā
+ār1go
+ap1ma
+uf1ra
+īg1ta
+ad1ca
+ār1ķē
+ek1vo
+am1te
+iz1zā
+ar1ke
+ēr1mā
+en1dā
+eg1lī
+at1ci
+ur1ci
+āg1la
+af1ri
+īk1ze
+er1cu
+ad1va
+el1ci
+ep1no
+ag1ne
+ār1zī
+eg1rā
+eš1ķī
+an1ti
+iļ1dā
+ud1mu
+āl1li
+ub1ve
+uz1pe
+uš1ķu
+eļ1tē
+or1čē
+og1pu
+eg1nē
+op1la
+al1dū
+ef1rē
+īt1ni
+ek1nā
+āz1be
+er1ti
+er1no
+os1fo
+ēr1ga
+at1ka
+er1go
+or1ķe
+er1mo
+un1da
+an1žo
+ez1mi
+ef1pa
+ek1rī
+ūp1li
+eļ1te
+ār1tā
+ot1ri
+ud1li
+us1zā
+as1tē
+iv1da
+is1ko
+il1za
+īg1to
+uz1bu
+er1tē
+ap1su
+es1zi
+u1džu
+uk1li
+iz1lū
+it1ti
+īk1kā
+es1pī
+uz1vu
+ūž1di
+ūs1li
+āl1po
+ok1re
+āk1ļi
+īž1me
+eš1ķa
+at1ķe
+āt1rī
+iņ1ši
+ap1ga
+um1jā
+īm1ja
+ez1ro
+iz1jē
+es1sū
+eš1vā
+og1ri
+ār1lo
+al1so
+iz1lī
+is1kā
+ep1ti
+eg1bi
+ār1la
+ar1vo
+ēp1si
+ār1gū
+eļ1ga
+uz1kū
+iļ1le
+o1dze
+an1sē
+at1no
+ok1ma
+al1sa
+ek1ri
+ep1le
+en1rī
+eš1de
+ez1jū
+ik1sē
+al1gi
+ep1ro
+īv1ci
+id1po
+oņ1pi
+od1ra
+ej1pu
+ir1go
+el1ma
+in1se
+et1sa
+īb1ša
+aļ1ķa
+ol1la
+at1rī
+at1dē
+īļ1si
+ār1ņo
+ur1mi
+ep1lo
+āg1šo
+ec1to
+ob1ve
+up1tā
+āt1ra
+os1ko
+al1zi
+el1du
+iz1vu
+ār1pi
+at1šā
+ul1tū
+il1dē
+ap1mī
+ar1lē
+er1tā
+us1mu
+is1hu
+oņ1si
+āz1ve
+īp1ne
+āz1to
+iš1ma
+ol1vā
+em1zī
+āl1be
+al1šo
+us1ko
+es1ga
+in1fa
+āj1vi
+at1di
+at1ži
+ap1bā
+ah1ta
+ēr1nā
+el1me
+īs1le
+iz1ja
+ēb1ti
+es1ka
+ul1be
+ep1ri
+ež1zī
+ot1vē
+as1la
+at1ru
+er1mā
+ed1re
+ēj1ma
+av1ci
+ak1do
+us1nē
+eš1ga
+ap1cī
+āt1zī
+as1pa
+āk1ša
+es1ta
+ib1lo
+er1ģi
+ēr1mī
+eļ1di
+at1lā
+ak1te
+aš1vī
+og1li
+al1ga
+aš1kī
+ār1fi
+es1to
+ūt1pa
+on1ko
+ār1ci
+ām1ju
+el1ce
+īs1tā
+ec1ni
+al1ku
+at1hu
+er1fe
+ār1mē
+ēr1mū
+ul1di
+on1ga
+ār1pē
+ar1pē
+ās1nā
+am1fi
+āt1pe
+an1co
+oš1ņo
+eļ1ņi
+aš1no
+īr1na
+āk1šo
+et1ko
+ig1ma
+an1te
+an1ba
+e1dzī
+ek1šo
+um1bu
+ir1gā
+om1le
+ūm1ve
+al1na
+iz1va
+og1lā
+ūk1ta
+il1so
+uz1ma
+il1ša
+oš1ķū
+at1zī
+ās1mo
+ēr1na
+ūž1ņo
+um1nī
+eg1vi
+al1tū
+on1se
+iz1ža
+ek1te
+ep1lū
+ep1se
+os1tī
+as1ta
+ār1be
+iz1ša
+oš1ķo
+āg1ri
+īv1ku
+āt1na
+aš1ķi
+ēr1dē
+ir1tā
+ak1sa
+as1to
+az1jū
+un1me
+ap1pū
+ep1to
+ur1ve
+en1ma
+ēc1na
+eņ1ķu
+ār1le
+um1zi
+uz1cē
+ez1pa
+os1ka
+ab1rī
+er1ģē
+et1ra
+īt1na
+ap1čī
+ok1ri
+eš1pe
+iž1ma
+is1ša
+āz1ģe
+on1dī
+ep1tā
+am1zi
+īg1lo
+iv1re
+at1lu
+āl1ci
+ez1vā
+iz1ti
+al1mā
+ug1li
+il1bi
+iļ1ķu
+aš1ņā
+iv1ba
+ik1ši
+īk1me
+ap1kū
+un1gi
+uk1nā
+al1vo
+up1lo
+oz1vē
+ēj1ka
+ap1rā
+ad1li
+uz1ju
+el1pa
+en1li
+at1ču
+īk1bū
+at1dā
+up1ta
+iļ1ņo
+ar1pī
+ak1vē
+ēc1ga
+eb1ne
+af1li
+ol1ka
+ez1fo
+in1ki
+an1gi
+ak1lo
+up1si
+ej1va
+ag1tu
+ek1ļo
+iž1vī
+as1zi
+ir1lī
+en1du
+uz1tā
+if1lo
+eļ1ļo
+ob1lī
+um1sū
+on1ci
+an1de
+es1lī
+ēb1si
+ib1tā
+il1da
+uķ1ko
+uk1ša
+āj1pe
+ej1bu
+ūv1ka
+ar1fa
+oz1ve
+īk1rā
+up1mā
+ūs1to
+ir1nī
+ag1lo
+oņ1ra
+iz1sū
+īg1ce
+an1dū
+iņ1vī
+e1džo
+ār1da
+īn1mā
+ār1ju
+er1vo
+ar1se
+i1dzē
+iļ1pi
+it1pu
+ur1sa
+id1da
+iš1ko
+eš1ķo
+ār1po
+ev1kā
+īk1rū
+os1ri
+ik1no
+ār1tu
+ur1ko
+oz1tu
+om1pi
+ar1šē
+on1nu
+uņ1ģi
+ur1šu
+ab1rē
+īr1kū
+en1cē
+em1je
+ap1va
+av1ļa
+aļ1bi
+uz1hi
+in1ča
+on1fu
+ār1sā
+oš1mī
+uz1rī
+il1ka
+un1tē
+as1mi
+iz1ga
+ār1mā
+āk1tā
+ik1lo
+im1pi
+or1pa
+aš1ro
+um1mē
+īn1te
+ež1rū
+ab1sa
+uz1mē
+a1dza
+as1sa
+un1gā
+ag1mī
+eš1mī
+eg1ša
+ak1ru
+ēt1ri
+or1se
+us1no
+it1mā
+uz1po
+in1čo
+iz1su
+is1to
+uk1vi
+ir1to
+um1ju
+uļ1sū
+in1dā
+um1tē
+ar1šo
+īk1ko
+er1me
+uk1si
+īv1pi
+ēr1mē
+as1tī
+in1kā
+en1za
+al1bu
+or1ģi
+a1dzī
+en1sa
+īs1ta
+eļ1de
+ū1dzē
+uk1tā
+ec1vi
+ūk1le
+ap1čo
+ēd1ni
+ān1ce
+if1tu
+īk1di
+āl1va
+ap1gu
+en1de
+ar1de
+ap1mū
+on1te
+es1da
+ud1ci
+at1se
+ūp1ni
+in1ha
+ap1de
+al1ci
+ir1pu
+um1va
+ok1tu
+ug1lī
+aņ1da
+ep1ša
+el1su
+īk1si
+eņ1ģe
+aļ1fi
+er1si
+op1ju
+od1le
+īt1pa
+ak1nā
+ap1nē
+ar1dī
+ek1zē
+at1zi
+āt1ka
+āl1mē
+em1za
+um1pu
+ap1žo
+ēj1sū
+en1le
+iz1lē
+er1zo
+um1dā
+ur1žu
+eh1no
+ab1ka
+īs1vē
+īb1šo
+as1se
+ul1lē
+ir1ki
+at1ča
+uļ1ķe
+āz1ma
+ip1nu
+ar1nī
+īg1lī
+ad1ra
+ez1ti
+īk1ra
+ūr1zi
+ap1vu
+ib1la
+īt1kā
+iļ1da
+ēl1ko
+ob1la
+o1dza
+ep1nī
+es1ri
+up1ji
+eļ1ku
+ik1ve
+es1vē
+er1lo
+um1do
+ik1lā
+em1žo
+is1so
+om1ju
+ij1ka
+en1ni
+āz1ne
+īv1di
+if1to
+un1je
+er1da
+en1kā
+ūt1ra
+en1ge
+āp1ji
+oņ1kā
+al1vi
+ēr1zā
+en1ga
+īr1ku
+ar1te
+up1rī
+or1ti
+ar1ķē
+el1lī
+iš1la
+an1no
+ec1pi
+ēk1šo
+an1da
+āp1šu
+iļ1ru
+ež1lī
+ed1rē
+ed1ka
+at1kū
+īb1si
+ež1ņa
+am1va
+un1dī
+ār1nā
+al1me
+uļ1ze
+es1tē
+āj1ba
+āp1šo
+ap1po
+en1zī
+er1sī
+ig1ro
+at1bu
+um1sē
+el1cē
+ās1ni
+ar1pū
+od1ve
+oz1ga
+in1do
+uz1mi
+un1mē
+uz1ka
+ig1ne
+et1pa
+ol1si
+ab1ra
+on1to
+os1kī
+aš1ķa
+iz1se
+īn1pi
+eb1ru
+es1nu
+ūt1ru
+ik1ri
+as1lu
+iz1la
+uz1ci
+at1tē
+on1da
+āp1ša
+ēp1ne
+or1ce
+ep1rā
+ūr1mā
+ež1vā
+up1jē
+eh1lo
+īg1ņā
+us1li
+ec1tē
+āt1mā
+ak1nu
+u1dzē
+ez1ne
+ar1dē
+ēk1da
+et1nē
+ež1ro
+ir1kū
+ap1lū
+īs1tē
+us1ba
+ēj1zo
+ī1dzu
+at1le
+ēg1na
+ep1tu
+i1dza
+af1ta
+ep1de
+īļ1ve
+od1ro
+um1šā
+en1se
+eņ1ra
+as1tu
+at1pu
+eļ1da
+āb1ba
+iš1ķa
+āg1ša
+il1bā
+ūš1tu
+ud1sa
+at1ģe
+um1šu
+aš1mā
+en1so
+eg1ba
+am1re
+ud1ro
+ov1na
+ik1re
+ār1rī
+ār1ni
+ež1ra
+i1dzo
+īs1to
+an1še
+ar1ju
+iz1ģē
+az1dū
+ēr1me
+oņ1ga
+ēr1tē
+id1mo
+īs1fi
+at1mī
+al1se
+il1ha
+ep1ja
+il1ce
+of1ra
+um1pi
+uz1rē
+aš1ņo
+el1ža
+ap1ņē
+ar1bu
+iņ1re
+ij1pu
+er1žo
+ol1ta
+ez1va
+aļ1ķi
+il1nī
+ag1no
+ul1lī
+ib1ri
+āt1ri
+um1pī
+ūg1tā
+is1fē
+ak1su
+al1to
+el1žu
+ap1ģē
+iv1ga
+al1za
+aļ1dē
+ēr1si
+ār1ņi
+et1rā
+aļ1ņi
+um1zu
+ūg1si
+az1mā
+in1ko
+īg1ri
+il1šu
+er1va
+uz1tū
+ec1cī
+īs1li
+a1dži
+u1dzā
+am1žu
+uz1fi
+iz1nī
+ir1dē
+ev1ga
+iz1ča
+iz1pu
+up1šu
+iz1gu
+in1ce
+uz1dī
+āb1šu
+or1ba
+i1dzā
+a1dzo
+es1tu
+āz1ti
+el1mā
+ap1vo
+ub1lē
+aš1ķē
+īs1vi
+en1jo
+as1ki
+ik1tī
+ok1le
+ur1ķu
+in1gī
+ek1ļu
+uz1to
+uk1le
+ir1bu
+āg1to
+uz1ne
+as1ko
+ek1rē
+ur1do
+ob1ta
+ār1jo
+uk1no
+ot1lī
+ur1te
+uz1re
+at1ma
+at1žo
+ēd1ne
+at1na
+us1ka
+al1vu
+ib1šu
+iz1dū
+ug1ko
+uz1vo
+at1zā
+eg1zī
+ūš1ga
+il1ni
+uz1ro
+el1pu
+ūg1to
+os1mā
+ul1ma
+as1ma
+al1ni
+ut1ra
+ug1šē
+at1sē
+in1fo
+eļ1bū
+uz1jā
+ēt1va
+ēk1ba
+ik1di
+īg1le
+op1ne
+ur1vī
+ār1dū
+ir1cē
+ēr1sē
+as1ja
+es1mo
+il1ci
+az1li
+em1šu
+ap1lu
+er1nā
+ot1rū
+uz1čo
+as1dē
+os1mo
+aļ1ga
+un1te
+at1ne
+om1ba
+ok1ra
+en1vā
+ap1sē
+an1dē
+ol1dē
+ap1ļa
+ek1sē
+ad1so
+iz1po
+uz1lī
+īk1ne
+ud1ra
+uz1ko
+ur1ta
+ep1šo
+ud1mi
+ār1ki
+eļ1vi
+ūk1ti
+īg1ro
+iņ1ti
+ur1du
+eg1tu
+ār1bo
+es1mu
+ar1ce
+os1ki
+iz1tē
+ev1mā
+ān1ko
+er1ge
+ē1dzī
+en1ba
+īv1ba
+ot1mu
+ēb1ta
+īn1rū
+ūk1ņa
+op1jo
+is1lo
+ob1ru
+ur1li
+ēs1le
+ur1lā
+ēj1rā
+ul1ko
+āg1tā
+iv1ku
+ām1ga
+o1dzē
+ī1dzē
+ir1za
+ip1rā
+at1tū
+iv1vi
+op1lū
+āp1si
+em1me
+ap1žā
+ār1mū
+ik1šā
+il1ba
+an1ze
+on1do
+il1he
+ek1ļa
+el1nē
+āk1re
+uk1se
+ēr1so
+ef1re
+ūt1rā
+ip1tu
+am1pā
+ak1ņu
+at1me
+ūr1ma
+ik1tā
+am1pu
+az1de
+en1ki
+iv1mo
+ar1ge
+īb1ti
+uj1ma
+os1ta
+as1na
+ēs1ma
+om1bo
+eb1rē
+er1ža
+āt1nu
+ež1ko
+uz1tē
+up1ni
+ig1nā
+an1na
+az1ku
+on1tī
+ar1sī
+ek1tū
+eņ1me
+os1vē
+ak1šī
+at1rē
+er1bu
+eļ1ņa
+og1ro
+īt1lī
+ij1ro
+ūk1si
+ār1žā
+ap1dā
+uz1pa
+ek1ļi
+iz1tū
+aš1ķo
+im1ta
+ik1nā
+at1jū
+ēg1no
+ā1dzē
+em1te
+er1ģe
+āš1ņi
+eļ1ta
+ap1lī
+ul1la
+uz1bi
+īt1di
+ud1bā
+en1tu
+un1ne
+uk1so
+īv1ti
+ol1je
+ed1li
+iz1ni
+ēr1šu
+eb1si
+ēv1ze
+uz1za
+er1ne
+om1pa
+ec1kā
+in1sa
+uz1ža
+ūs1ta
+ap1ļā
+ūv1ga
+iv1ri
+aļ1ba
+ob1ša
+ir1zī
+aš1mē
+āt1ru
+az1sa
+iš1ķi
+ok1nā
+or1mo
+iļ1ļa
+iņ1ru
+uz1gā
+uz1vā
+it1ri
+om1de
+is1cē
+is1mi
+op1ga
+at1čī
+ar1nē
+uz1ho
+at1bā
+ir1ži
+el1fi
+ir1ne
+ar1dā
+uz1fa
+ap1ki
+ur1dā
+āl1ze
+ār1li
+or1bu
+ap1ti
+um1ga
+ek1ņa
+al1pi
+us1fa
+ār1vo
+uz1ģi
+e1dži
+ig1nē
+uz1te
+ot1va
+ag1ļu
+os1pā
+īk1ņā
+īk1šu
+e1dze
+iš1jā
+ek1ve
+at1ļa
+āl1si
+or1zā
+ul1lo
+ab1va
+aņ1ķi
+ār1ķe
+ur1vo
+ap1ze
+em1ni
+oš1ņā
+ūž1za
+ēr1cē
+ap1hi
+ek1nī
+uz1ņe
+in1tā
+un1cē
+ib1lā
+īr1ga
+is1ku
+uz1zo
+ug1ši
+am1zā
+as1me
+un1dā
+ak1sā
+it1ļa
+ur1nī
+uz1ņē
+ēz1tu
+ab1tā
+ār1šā
+us1sa
+īg1šo
+eņ1ca
+op1lo
+āp1to
+el1mī
+eč1zi
+eg1ku
+al1pē
+ik1rī
+al1vē
+it1ļo
+em1mē
+iz1ba
+is1dā
+īd1mē
+en1ve
+ap1ju
+ol1ko
+ag1le
+ap1tē
+āt1nī
+āv1va
+et1so
+an1hi
+eš1kā
+ir1šu
+es1lā
+os1me
+is1tī
+ur1ne
+et1nu
+ap1mi
+ūz1ma
+or1mī
+as1za
+an1cē
+es1ni
+al1fa
+ēr1bo
+ur1ģe
+āg1si
+is1de
+īs1sa
+at1mi
+ēš1ļa
+ūg1da
+ūs1nā
+ār1ra
+un1kā
+ok1li
+ē1dzū
+ēg1nu
+al1bo
+op1da
+et1ķī
+ur1pi
+ār1pu
+ok1sī
+it1ļi
+ap1sa
+ip1ci
+ar1ša
+av1ma
+ec1vā
+iv1do
+ūs1ti
+at1dī
+ār1žē
+am1na
+ak1ļā
+iņ1me
+uz1ha
+ar1mi
+eļ1ļi
+ēp1tu
+of1to
+ag1rā
+il1zī
+ēg1šo
+il1sē
+is1ba
+ap1ko
+ug1šo
+ot1mā
+iž1ni
+ār1tē
+at1šu
+ep1šu
+uz1ģē
+ag1lū
+up1lu
+ām1gā
+ar1šī
+it1ve
+ak1ma
+už1pu
+uk1te
+uz1lo
+ik1ce
+eļ1rī
+et1na
+āl1ra
+oz1ti
+iz1ze
+ap1zo
+ir1nā
+ad1le
+ēt1ho
+ad1mo
+un1ta
+a1dzi
+az1ko
+āl1pa
+uz1nē
+ug1ma
+en1di
+iz1šū
+ag1rū
+īr1ra
+as1pē
+ok1ce
+en1cī
+il1mā
+op1su
+al1šu
+of1li
+ev1ma
+ab1ļā
+a1dzē
+ud1ru
+ir1zā
+od1bi
+ol1dā
+ap1ci
+il1dā
+ok1pe
+an1ki
+as1vī
+od1ru
+ur1pā
+āj1ga
+ēr1da
+ep1ju
+iz1re
+iņ1ka
+ār1mī
+at1lē
+ir1sē
+iš1ļa
+ēg1ša
+āš1ņu
+ar1gā
+av1la
+aļ1ni
+iz1fo
+il1la
+er1mu
+up1šo
+is1ma
+āl1sā
+ap1ļē
+ur1dī
+as1tā
+ul1tē
+es1cē
+ud1lī
+on1ve
+uz1ģe
+ek1me
+āš1ņo
+ek1la
+āl1ga
+iz1di
+on1vo
+er1tī
+on1ja
+uļ1žo
+ār1fo
+ak1rī
+ev1bi
+ij1ci
+eš1ra
+um1jo
+az1me
+im1šu
+aš1da
+or1tē
+uz1rā
+ār1vu
+al1ba
+in1ge
+ab1na
+an1ci
+īs1lā
+il1šā
+am1za
+al1jo
+ek1le
+im1dā
+iņ1de
+oļ1va
+iž1ra
+am1mē
+ok1rā
+er1le
+ok1vē
+ok1rū
+uz1ķē
+eb1ti
+āv1la
+a1dža
+iz1ļu
+on1ka
+uz1do
+ār1ķī
+ē1dzā
+an1nā
+āģ1zo
+uz1ča
+īt1bi
+am1da
+at1kā
+ēj1ko
+ul1du
+op1lā
+uk1šā
+ik1nu
+oh1ro
+at1ti
+eļ1dā
+it1li
+uļ1ļa
+ūs1mi
+at1he
+at1to
+ec1pa
+aņ1pa
+om1bu
+ig1tī
+ap1me
+er1so
+an1tu
+on1fi
+aš1ni
+īv1ja
+oņ1ma
+il1rū
+ap1pe
+em1di
+ār1pī
+er1žu
+it1rī
+al1tu
+iz1kā
+an1gu
+im1tu
+an1va
+īn1dā
+el1ti
+ap1sī
+ēr1be
+ez1ga
+ēt1ki
+us1tē
+īn1ko
+el1ze
+ab1lī
+ar1tā
+aš1ķū
+en1vi
+il1fa
+ik1ti
+eg1ri
+et1vā
+us1mi
+um1te
+eb1jo
+eļ1ģi
+ar1ha
+al1mi
+ig1lā
+ek1vē
+is1le
+eg1rē
+el1tā
+ap1ģe
+iz1ri
+er1to
+ug1to
+el1lo
+ār1lū
+el1sī
+el1fī
+oņ1da
+in1du
+eg1si
+ub1ļo
+un1zē
+ar1bī
+iz1ju
+ap1nā
+at1ce
+ej1da
+am1vī
+eņ1ķi
+oš1ļā
+ij1me
+ob1ra
+e1dže
+ap1pī
+am1pi
+īķ1ma
+op1te
+uz1cī
+oņ1te
+at1vā
+ap1ņi
+uk1lā
+ir1so
+ak1me
+ip1lo
+ik1ca
+ap1fi
+oj1ne
+iz1pa
+ok1to
+ok1ci
+en1mu
+ip1nī
+ol1za
+ār1ģi
+āk1ļu
+ēr1to
+āl1šā
+ef1le
+as1li
+ar1so
+as1mī
+at1re
+īs1co
+ar1nā
+ug1ta
+is1ta
+eg1ļu
+ām1ni
+ēg1ti
+eļ1ri
+o1dzi
+op1lē
+ip1nā
+oš1ķē
+ap1bū
+im1nā
+ir1gē
+īg1vā
+ēr1nu
+āk1si
+el1mo
+iz1ņi
+ap1mē
+al1pa
+ol1ti
+un1vē
+os1mī
+āk1li
+as1pā
+ēr1ķu
+ul1tī
+ij1ti
+im1fa
+ūs1ni
+um1ba
+um1me
+al1dā
+us1to
+iž1ce
+it1cī
+or1ņa
+ad1rī
+ur1ba
+us1vā
+u1dze
+oš1da
+ok1mī
+ež1ģi
+ef1li
+ir1kā
+uk1ti
+uz1dā
+ēr1ģe
+īg1tē
+ūs1te
+is1vi
+il1ti
+eš1ļā
+ik1me
+or1de
+od1va
+ur1zi
+iz1či
+uk1nī
+az1ma
+uz1ja
+āb1jo
+at1fa
+ev1ri
+iz1jo
+īs1pa
+u1dža
+od1ko
+eb1ro
+is1li
+at1mu
+at1sa
+ub1ri
+ab1me
+ēļ1ni
+ār1hu
+ik1tu
+ok1sa
+em1dē
+ab1lā
+um1sa
+og1lē
+āg1ta
+ez1li
+ob1ļā
+ad1pa
+ig1na
+or1sā
+ir1da
+an1sī
+am1mu
+ul1do
+ār1či
+uz1vi
+ol1ho
+em1zu
+ut1ni
+el1šo
+uļ1vi
+īk1šo
+is1lē
+uz1sa
+ir1gī
+ež1va
+īb1ne
+īd1la
+it1vi
+ēk1ve
+is1sa
+em1pe
+ēj1sa
+id1ra
+ol1da
+il1ca
+uv1re
+ār1tī
+ar1bū
+ap1mo
+il1ža
+a1dzu
+ap1se
+ub1lā
+as1pī
+er1tu
+īc1ni
+ip1ra
+og1lo
+ib1lu
+el1na
+uļ1ni
+ak1si
+an1ši
+ēr1zi
+er1ke
+am1ka
+on1za
+ār1bē
+ud1ni
+ak1ha
+us1mo
+ār1ņe
+at1dū
+iz1žu
+ām1ma
+aj1mu
+uz1čū
+aņ1ģi
+iz1ho
+ēj1ni
+ir1ni
+ek1tu
+ās1ku
+el1žo
+iz1ģe
+ēr1ķi
+ēr1se
+īr1sē
+iz1na
+ob1ro
+al1go
+um1si
+op1ļa
+ur1tu
+or1tā
+ul1cē
+iš1ķo
+ad1ro
+it1če
+il1vi
+uz1se
+oh1lo
+od1ne
+iļ1ra
+īg1no
+ap1ni
+oz1ni
+il1me
+ur1da
+āt1do
+ar1he
+in1tū
+ul1fī
+us1gu
+ul1cī
+al1bā
+ib1ra
+ir1ga
+ul1gu
+ān1ri
+il1gu
+ab1pe
+op1to
+il1zi
+is1ķi
+uv1cī
+ap1tā
+až1re
+iz1pī
+ud1be
+ek1ne
+ab1ļa
+iz1ki
+ar1mā
+iļ1ķe
+ok1ro
+ig1šu
+at1bo
+ār1pū
+īb1ta
+uz1kā
+iz1bi
+um1ma
+or1ko
+an1vā
+es1le
+is1ci
+op1mē
+ām1pu
+ir1ba
+os1tē
+ig1rē
+ok1da
+īk1le
+el1te
+ek1ru
+ok1mā
+ob1ja
+ar1gu
+iz1ķi
+or1gā
+ij1jū
+is1mā
+ūk1nē
+al1ce
+ēs1tā
+ur1la
+īv1bē
+ar1bo
+až1vi
+iz1li
+om1fi
+ar1ni
+ār1cē
+uņ1ni
+ir1pā
+uk1šu
+in1fu
+op1ļo
+on1mē
+ēš1la
+ūm1ju
+on1me
+is1ja
+āl1da
+āj1pu
+el1zi
+ēr1ko
+īs1tū
+āb1ta
+it1re
+ēr1ta
+ik1ne
+aņ1ģē
+es1na
+uš1ķī
+ēk1sū
+āp1jo
+ār1ja
+op1li
+ib1rē
+oš1ķa
+ag1ta
+ob1jo
+ok1lē
+ul1ku
+ip1te
+ar1cī
+ār1te
+īg1ša
+uz1ki
+ās1la
+et1ro
+ās1ti
+ar1ti
+iz1sa
+āk1zi
+uz1sē
+em1šo
+ok1so
+et1ze
+ar1žī
+oš1vi
+ap1ri
+ad1ru
+u1dzo
+āp1nē
+at1za
+ūr1li
+iv1la
+or1va
+ūv1be
+ep1ni
+eņ1sā
+ūr1vē
+āz1tā
+ēb1šo
+ev1lū
+ib1kā
+īt1da
+um1ša
+ug1sa
+ik1da
+ak1lu
+ēr1ļa
+os1mu
+īņ1la
+if1rā
+oņ1tū
+eg1ne
+is1mo
+uz1šū
+on1tū
+ob1šo
+in1va
+eg1lū
+ir1pi
+u1dza
+us1la
+ūs1pu
+ib1to
+iz1sē
+ap1čū
+ok1lā
+uv1mu
+īk1sa
+āķ1ve
+iz1mu
+uz1mī
+uļ1ķo
+ar1hī
+ēl1me
+īg1me
+ag1ve
+ur1vu
+ār1ha
+ed1ni
+āt1se
+at1ņa
+at1sū
+ūk1šu
+ol1me
+ūz1mē
+ip1to
+at1tī
+ēs1ta
+us1ve
+iņ1pu
+ol1va
+in1ši
+āp1ta
+ar1ko
+ēk1si
+el1zī
+er1nu
+az1pi
+ār1bī
+uk1la
+ek1ņi
+er1ro
+ēt1bi
+al1da
+is1pe
+īk1mu
+ēc1pu
+in1dē
+ūr1ve
+es1tū
+ēr1mi
+ez1ko
+ār1ko
+āl1lē
+ep1te
+ār1re
+an1ce
+od1ku
+ig1ru
+īk1tu
+ēž1ve
+ap1no
+ul1ga
+el1ve
+at1ņe
+ār1pā
+op1bu
+iv1ti
+iz1dā
+ig1ra
+ij1va
+ēr1di
+iz1lo
+uz1bo
+ās1nu
+el1ņa
+us1ne
+ev1ge
+ab1di
+uz1jo
+ār1kā
+eb1re
+ir1nu
+op1tā
+il1li
+uz1pī
+āj1do
+ēg1tī
+ul1re
+eļ1ķī
+ej1nī
+av1ļu
+aļ1ņu
+ūs1ga
+im1fo
+ab1ta
+ut1ne
+iš1ķu
+ez1nu
+or1sē
+ep1ļu
+ūt1si
+ik1le
+is1ga
+oz1to
+op1ti
+ur1šo
+il1kā
+im1du
+ēr1ba
+iz1no
+ar1je
+am1du
+ul1lu
+ot1ni
+eš1si
+at1pa
+ab1to
+ip1zā
+ūs1tī
+at1mū
+ī1dza
+im1bo
+op1tu
+ak1ta
+es1ve
+īk1ma
+ūk1ša
+in1di
+uz1ži
+iz1čī
+ad1vi
+am1šā
+iņ1ņa
+ār1ce
+ēd1ma
+ik1ni
+ap1tī
+ap1zu
+ep1sī
+am1pe
+uz1lē
+iņ1ģi
+uņ1ķi
+ur1pa
+eb1ra
+eš1me
+āt1ni
+or1me
+uč1ka
+ar1vi
+en1gā
+ar1ši
+uz1la
+es1kā
+uk1ņī
+ap1gā
+er1vu
+es1nā
+ir1šo
+iz1sī
+at1gū
+ar1ma
+ef1ro
+eš1ķi
+on1nī
+ap1ho
+ez1zi
+oņ1re
+ur1nu
+am1be
+ek1no
+is1jē
+āž1ni
+ag1lē
+ek1ci
+el1da
+es1pi
+ož1vī
+oņ1mā
+il1pā
+ok1la
+as1lī
+en1ze
+ām1vi
+ir1be
+ik1lī
+e1dzo
+uz1ti
+ul1ta
+ār1gu
+an1so
+ik1si
+eņ1ze
+iv1ju
+ag1nā
+ār1bi
+ib1ša
+or1fo
+ūr1zā
+ap1ņa
+ap1ji
+ēr1lī
+u1dzu
+en1rā
+iņ1pa
+at1ķī
+ār1vā
+ap1ļo
+ār1ca
+ek1šā
+ēr1ka
+īz1da
+us1di
+īk1to
+op1sa
+iv1ko
+āb1ti
+il1jo
+iz1ra
+ir1se
+uļ1pa
+iz1ņa
+ār1fa
+os1li
+ez1ma
+ar1si
+oš1ta
+eh1ro
+až1di
+er1sā
+ep1sa
+el1je
+āt1ce
+ek1lū
+an1dā
+ig1rā
+is1za
+ok1ru
+eš1ļi
+āj1mu
+ot1rē
+el1ka
+ur1čū
+eb1šu
+uz1žū
+eg1ve
+uz1ņu
+ob1ri
+ap1bi
+iž1ga
+av1va
+ūs1na
+ēj1ra
+iņ1ni
+eg1tī
+uš1pa
+ag1ma
+ur1ķē
+on1go
+ēr1ne
+īž1ni
+ir1ģe
+as1kū
+ēr1cī
+el1ša
+ēr1nī
+āk1ti
+es1mā
+ap1dē
+īn1me
+ig1šo
+es1ki
+ot1ne
+ab1rā
+ab1te
+ib1rī
+ir1po
+az1do
+en1sī
+az1nī
+er1bo
+al1bī
+ib1lē
+aš1ha
+es1va
+et1ru
+ez1jē
+id1ga
+il1tē
+on1ki
+il1na
+ur1go
+oņ1pa
+ur1lī
+od1pi
+īb1to
+iņ1va
+ad1ni
+ev1ka
+ar1la
+āb1tu
+at1vī
+er1su
+us1ku
+iv1vē
+iņ1za
+or1nī
+an1do
+ūt1ne
+om1bi
+an1to
+el1dē
+uļ1sē
+el1jē
+il1ča
+ās1lē
+as1pu
+uz1su
+uš1ku
+om1po
+ul1bē
+ēc1mē
+eņ1ko
+īv1zā
+eg1le
+is1ce
+is1ni
+od1rā
+om1na
+ul1mi
+āk1ļo
+ig1mu
+ir1me
+eg1ra
+eb1ta
+al1mu
+is1ki
+in1jo
+īn1vi
+ef1lā
+ēj1ca
+ar1hi
+ul1ba
+om1ja
+an1kā
+am1bū
+op1tē
+ol1lo
+am1mā
+at1ķi
+ad1hē
+ot1ma
+em1lī
+āl1le
+as1mē
+ūr1ga
+ik1la
+um1so
+an1dī
+us1lī
+ūr1ta
+in1že
+ip1ri
+ej1se
+ul1ki
+eg1bu
+il1šo
+at1pe
+at1čā
+ap1lē
+eg1lā
+īs1re
+ēr1ve
+ek1ca
+ap1so
+ēr1mo
+āz1ta
+or1tū
+āk1šu
+em1ci
+ok1ne
+ēd1nī
+es1ti
+il1pe
+ip1na
+ik1va
+os1lī
+iz1šā
+od1ri
+ob1rū
+un1va
+eb1ku
+il1to
+ir1tī
+uk1ro
+iz1cu
+āž1ra
+ur1di
+eb1ju
+ul1so
+īs1lo
+ēj1čū
+in1fi
+ur1za
+il1va
+iz1fa
+al1do
+ib1si
+ēr1bā
+os1ni
+oš1re
+im1ba
+ig1si
+ūr1fi
+ec1pu
+ak1to
+el1so
+ek1rā
+īs1va
+aš1mī
+en1ti
+en1pu
+eb1ri
+am1ma
+es1me
+ūn1vi
+ak1ci
+ēp1ša
+eš1ni
+el1vi
+ov1ka
+ēz1do
+iz1lā
+en1tū
+en1su
+ur1nā
+ot1ro
+ob1re
+ep1žo
+at1ķē
+ēp1ti
+en1ci
+at1bē
+uk1to
+āg1šu
+il1mē
+ār1žo
+is1va
+ēt1ce
+un1ro
+eg1me
+on1bū
+ah1ro
+ād1re
+or1ni
+uģ1ni
+uz1so
+uz1rū
+īs1kā
+īs1pu
+ar1šu
+ar1sā
+el1bu
+il1ta
+ur1ķi
+ak1ne
+ap1vē
+ār1ča
+av1ve
+os1pē
+aļ1ra
+eš1ķe
+ur1zo
+as1va
+uk1či
+ar1pi
+uk1ra
+ur1mē
+ez1se
+al1pī
+um1za
+īs1de
+aļ1ru
+uk1ko
+eb1le
+ul1ju
+āt1ze
+at1bū
+ez1vi
+at1šū
+ag1ra
+āt1kā
+īs1te
+iz1jū
+eš1ņo
+ur1co
+ar1bi
+ūs1tu
+it1ka
+en1sē
+eš1ņa
+ag1ro
+aļ1si
+id1ri
+it1no
+ež1ma
+os1pi
+ev1ti
+ēk1pi
+ap1tū
+us1mī
+el1hi
+iz1ha
+eš1ļu
+ām1vā
+un1gu
+ā1dzī
+āl1nī
+eb1li
+od1re
+āk1la
+ab1zi
+af1ni
+ād1ni
+ig1ri
+ek1ga
+uļ1mu
+on1va
+īv1ko
+um1ra
+at1pā
+ub1ļa
+er1nī
+ug1ļi
+aš1ke
+ēr1tī
+ap1ba
+od1jo
+ok1ļū
+us1tu
+uz1ķe
+ih1ta
+iņ1ga
+ēp1jo
+un1ce
+il1ši
+īt1ne
+oš1ķī
+ig1ta
+ol1lī
+ūk1ga
+es1pē
+et1bo
+ez1di
+ap1ķi
+uz1ca
+ig1mā
+or1ķa
+ez1to
+āp1ju
+ēk1nī
+at1ļu
+es1sē
+ir1pa
+ap1ra
+up1li
+ul1dī
+ē1dza
+ek1so
+ol1zī
+ēr1co
+or1ka
+ad1ja
+en1ra
+ez1ba
+iz1go
+en1hā
+ez1ka
+et1re
+ah1ve
+il1pī
+ep1lu
+eg1ti
+im1fā
+ih1nī
+ēr1dī
+ap1čā
+ēj1vi
+an1tī
+eņ1tu
+ut1ru
+ēj1tā
+ur1bu
+ur1de
+es1no
+am1pī
+un1vā
+iž1ku
+uk1lu
+un1bū
+un1tu
+is1nī
+ub1ļi
+ap1či
+ūd1ri
+en1lī
+es1pā
+iz1čū
+ob1ji
+ez1tā
+em1žu
+op1lī
+ab1lu
+od1rī
+āj1sa
+uk1ci
+an1žē
+ūt1ri
+un1dē
+eg1gā
+ur1pū
+il1di
+iķ1ve
+eņ1ka
+an1tū
+āv1vi
+īt1ro
+iz1ro
+āl1di
+i1dzi
+ad1rā
+ap1ne
+at1va
+iz1ma
+ūv1ko
+ūt1nē
+až1va
+ān1sa
+uz1zi
+as1vē
+et1vē
+iļ1bu
+aš1vā
+ap1ka
+iz1pi
+er1ša
+ed1na
+im1dē
+ag1nē
+āj1bu
+ād1ve
+eb1tā
+us1pū
+īt1sa
+ap1ži
+ūr1ni
+og1ļa
+āt1nē
+el1vē
+et1la
+og1ru
+iz1ka
+al1sī
+ir1zu
+om1fo
+eļ1jū
+il1bī
+il1sa
+uņ1ģī
+ej1sa
+or1nē
+am1ta
+ul1šo
+or1pē
+em1du
+ur1lo
+at1be
+ur1si
+ēr1ti
+er1šo
+at1pi
+or1lo
+ev1na
+ec1ri
+ol1ba
+iņ1kā
+ār1hi
+os1fā
+at1lū
+og1ni
+aš1sa
+eg1li
+ij1de
+eļ1mā
+il1nsa
+ir1pti
+iz1šķo
+ēl1mju
+uz1glā
+ap1slā
+op1ska
+ek1špē
+al1tru
+iz1smē
+ēr1kta
+us1kri
+il1bsi
+ul1gri
+ap1sku
+at1frē
+is1pru
+at1fri
+um1pja
+ār1brā
+os1tga
+as1pre
+ār1sve
+ūm1tve
+ār1brī
+uz1fra
+iz1dru
+ēr1ptu
+un1dzā
+ut1ska
+īk1šķo
+āb1sti
+iz1hlo
+ēr1šļo
+ap1gro
+at1šmī
+un1spu
+es1tro
+ap1blē
+et1rka
+us1gri
+at1plā
+on1ste
+ap1šķī
+el1dze
+ab1sce
+at1kļa
+iz1prā
+ug1šde
+on1fli
+at1stu
+im1šte
+ir1kta
+ar1bnī
+er1dzī
+en1dro
+ok1snī
+uk1šķa
+eš1bļo
+īt1ņmē
+et1rde
+ir1mbā
+az1gru
+in1grā
+uk1ska
+ap1spo
+āg1sti
+ug1špa
+al1kva
+ez1tne
+an1gli
+udz1ba
+ūk1sli
+at1sma
+ap1fra
+iķ1skā
+uz1sma
+īp1sla
+il1stu
+iz1gra
+os1krē
+am1sti
+uz1pre
+ez1gla
+īdz1jū
+us1trā
+iz1pla
+iļ1krā
+ēr1zka
+ap1pro
+ir1sno
+ir1smo
+ir1mme
+er1dze
+ān1prā
+ap1bru
+ēg1sto
+as1bra
+ek1šne
+ēr1bšo
+edž1li
+as1tru
+un1dra
+āl1pro
+ār1grē
+ēr1stā
+ar1pta
+īk1stu
+ez1spē
+am1skā
+ir1kļo
+on1gru
+iz1šta
+āļ1dzi
+āl1štā
+īs1pro
+ur1dzu
+ir1stī
+ār1šļa
+uz1gru
+el1pšu
+al1frī
+ek1šga
+ir1mdī
+ek1sku
+iz1spu
+uz1plū
+āk1sla
+iz1dre
+in1ssū
+uz1gle
+om1pre
+ār1gti
+udz1cī
+iš1brū
+uz1kru
+uz1sli
+uz1klā
+at1ble
+īdz1ni
+iz1smī
+ār1sni
+īs1spa
+iz1pre
+īg1sko
+iz1žva
+ir1gti
+ēr1bta
+īt1pra
+at1gla
+as1dzi
+ap1skū
+uk1šķe
+at1dzī
+uz1šta
+uk1lva
+at1dzē
+ār1šma
+es1prā
+iz1blo
+al1sti
+at1zvi
+in1dzo
+uz1krē
+at1kvē
+an1brū
+ur1ksi
+uz1stī
+op1sta
+in1sti
+on1sti
+uz1pli
+at1kve
+as1krē
+in1sda
+an1smi
+ap1stu
+us1tpu
+uz1kņu
+ār1blo
+on1gli
+ar1pli
+ap1šļa
+us1kre
+āk1šķu
+al1vja
+iz1sni
+ap1pla
+uz1brā
+iz1brē
+eš1stū
+iz1svā
+ēr1kša
+ug1sta
+at1blo
+ap1švi
+il1dno
+iz1glū
+ir1sdi
+im1pro
+ār1tre
+iz1bri
+āl1bra
+at1bri
+uk1stē
+iz1brū
+at1plē
+il1bšo
+ur1dza
+ik1lpa
+āt1rra
+uk1sti
+ur1kša
+en1džo
+ār1svā
+ap1krā
+īk1šķi
+at1rre
+iņ1zva
+at1žvī
+ār1blī
+ēr1sta
+ār1smi
+iz1šmī
+ug1šna
+iz1skā
+uz1trī
+ap1svī
+is1prā
+ek1sta
+at1sla
+at1trū
+āk1slī
+uz1kna
+il1dvi
+ār1dzi
+uz1šņu
+is1tre
+iz1svi
+ap1dri
+el1dmē
+ul1gto
+an1tzi
+is1kvī
+uz1kļū
+ār1šņo
+uz1frē
+ib1sto
+ig1sta
+in1ktī
+ir1sni
+en1sne
+em1pjo
+ēr1btu
+īn1skā
+ēk1šņo
+ik1smē
+es1trī
+at1šķū
+at1pla
+in1gto
+ot1rdi
+al1cvi
+um1bri
+uz1švi
+is1glī
+an1džū
+ap1sle
+uz1pļē
+ap1šķe
+iz1ble
+ap1šņa
+ir1mre
+en1tra
+ār1tra
+ul1snē
+iz1spa
+ep1sti
+ūt1sga
+āg1sto
+īb1sta
+ap1pļā
+at1kle
+il1gtu
+iz1spi
+am1tra
+an1fra
+uz1frā
+ēr1nva
+uz1stū
+ūk1sto
+at1šma
+um1šzi
+ug1stā
+at1špa
+il1kti
+īp1sle
+iz1tri
+os1tro
+el1pšo
+av1sta
+ak1tda
+ik1snu
+iz1stū
+ok1tri
+ap1gve
+op1spē
+iz1pra
+el1ptā
+es1tra
+iz1kni
+ān1spē
+os1kva
+ol1ste
+ul1dzo
+ek1šzo
+uz1ste
+uz1brī
+in1skā
+ār1švī
+il1nvē
+ūv1pro
+iz1šļu
+ev1ski
+en1zda
+āt1rda
+ēk1šķu
+ig1sto
+ēr1kšu
+ēr1ktā
+iz1skū
+an1kre
+iz1pro
+il1spi
+al1kto
+ok1zvē
+ap1zva
+ār1zvē
+un1tni
+ak1sti
+as1tri
+īb1spē
+os1mve
+en1sžu
+el1nru
+er1csa
+uz1zvi
+al1vtu
+at1dzi
+um1krū
+ot1frī
+ap1klī
+an1sko
+el1dko
+an1tkā
+ap1gla
+īk1šņa
+ār1gve
+il1dba
+es1tma
+uz1sti
+at1drū
+ul1pto
+uk1smi
+as1trē
+er1tro
+īb1sti
+id1spa
+at1trā
+ar1pna
+at1sta
+ek1trī
+at1šņo
+at1zve
+ig1zda
+ir1mpa
+ak1tni
+ir1kšo
+ār1plo
+ār1prā
+il1nti
+om1sva
+ēr1bja
+il1trā
+al1kta
+iz1dza
+iz1šma
+at1dza
+iz1kri
+ol1skā
+en1tni
+et1sti
+at1tru
+iz1špa
+ur1kne
+īg1zna
+ul1sva
+an1tza
+ār1tņu
+īn1krū
+uz1šņo
+ek1tkā
+at1plū
+il1kni
+uz1žņa
+ur1sli
+iz1tre
+ap1stī
+or1dda
+ur1gra
+at1glā
+ās1tni
+uz1žmi
+at1dze
+āl1sti
+ēr1slī
+el1nze
+āk1ste
+op1pla
+at1prā
+up1sto
+em1plā
+ib1stī
+up1sti
+ār1špa
+ēj1pla
+ār1hlo
+ap1frē
+il1kto
+al1dzi
+on1tri
+ar1gsē
+iz1frē
+ap1bro
+ul1tne
+im1stī
+ug1špē
+em1pta
+at1grū
+as1tma
+īk1ste
+iņ1krū
+il1kšu
+ek1ska
+is1tvi
+ār1dro
+iz1tro
+us1smē
+el1zta
+ēr1psi
+āk1sme
+ēs1tne
+ār1grū
+ok1gri
+up1stē
+ok1sko
+et1rro
+un1dze
+ap1trī
+uk1šķu
+in1sri
+en1tri
+āj1dzī
+ap1fri
+et1rpa
+uz1klu
+ik1sme
+ār1dra
+iz1kvi
+ēr1pto
+at1plī
+od1pra
+at1glu
+ap1fli
+uz1gri
+at1krī
+īk1stē
+oš1prā
+an1frē
+ap1sva
+il1bta
+ek1smē
+ār1šru
+us1tmā
+īk1smī
+al1dķi
+os1trī
+in1ssē
+al1tga
+ir1mkā
+ap1zvi
+ūg1sto
+em1pli
+uz1ble
+on1spe
+at1spā
+ār1sko
+ap1trā
+ek1šli
+āl1skā
+iv1pro
+ar1krē
+iz1tra
+uz1tri
+uk1ste
+ir1klī
+ap1kna
+er1spē
+ik1šķa
+ak1šķo
+ur1gšo
+al1dga
+ap1kla
+ap1svē
+in1tri
+im1tga
+in1šķi
+ēr1bka
+ēr1sti
+at1ska
+āb1sle
+ap1slī
+iz1slā
+an1gļu
+ir1msā
+ēr1pša
+or1tlī
+iz1dri
+un1kta
+el1dzī
+em1ztu
+en1ksi
+ār1kna
+un1kto
+ap1klu
+at1tra
+at1brā
+at1žva
+an1kro
+ap1sme
+ūg1sti
+ar1tmā
+in1gti
+ār1sti
+ik1stē
+om1bve
+ap1sko
+ār1ple
+īk1smi
+ug1sne
+ap1krē
+en1skā
+en1szī
+āk1sne
+es1pre
+ēr1ķti
+āl1sma
+īr1ska
+at1slī
+us1krē
+us1ska
+el1pta
+en1kto
+ar1bga
+ār1tru
+eņ1krū
+en1trē
+ār1spu
+en1spu
+al1ktā
+ik1sti
+em1zti
+āt1stā
+al1kci
+ap1kļū
+el1nsi
+ēr1nru
+ir1dza
+ār1klī
+at1tre
+il1dma
+īk1pla
+ap1sni
+el1kme
+el1nbā
+ak1smē
+āb1sto
+un1drā
+uz1glu
+uz1ska
+en1slī
+an1sli
+ēr1sba
+un1dro
+el1zto
+uz1trā
+uz1spā
+ap1dzē
+ap1dru
+in1dze
+ed1gri
+eļ1blā
+an1kci
+os1krū
+iz1spā
+an1krū
+ir1sra
+it1sko
+ir1mso
+un1ktī
+iz1slī
+er1zto
+et1pra
+ur1tra
+al1tme
+iz1slu
+il1gti
+iz1gre
+ek1šķī
+op1sva
+uz1tru
+ar1ppa
+in1dzē
+ab1dzi
+ur1tni
+uz1bri
+ab1stu
+in1gra
+uz1sva
+iz1krē
+ap1dzi
+ug1šte
+um1bru
+at1dro
+ir1sti
+ur1sti
+āl1sko
+at1klu
+en1kšo
+ut1skā
+il1pšu
+ur1gšu
+ar1knā
+ap1knu
+im1bra
+ēk1stu
+iz1knā
+il1bto
+āp1sli
+us1tru
+ak1šņo
+ap1prā
+ir1dzo
+en1krā
+ār1spē
+ar1kro
+iz1dro
+ār1bra
+il1dnī
+el1dba
+al1bri
+uz1brē
+ot1gri
+at1tvē
+ur1sme
+uz1šļa
+ek1šte
+at1šņa
+en1sro
+āk1slo
+an1žsa
+uz1plī
+an1tra
+il1bša
+il1tni
+us1glā
+ur1gti
+īg1stu
+ar1zva
+ol1lmē
+iz1kve
+ar1glī
+in1kru
+ap1kņu
+ir1pšu
+ec1skā
+ar1dzi
+od1ršu
+al1tma
+uz1sle
+eg1spa
+ap1šļi
+ek1šķo
+uz1spo
+ar1kto
+iz1zvi
+uz1šķo
+il1trē
+or1tre
+im1šļa
+iz1blē
+el1gti
+uz1slē
+ār1spo
+al1dka
+uz1bre
+is1tzo
+im1fva
+az1pra
+ap1plī
+aš1kri
+ir1pji
+uz1šļu
+iz1sla
+em1zto
+ur1kri
+al1tna
+er1dzi
+en1kti
+at1pļē
+ēr1slo
+ar1gto
+ūk1šķi
+in1dzu
+es1pļa
+oņ1pri
+uz1bļā
+us1tro
+ij1skā
+ār1fra
+iz1tru
+og1dzi
+ij1spe
+ij1stū
+uk1šķi
+ār1trā
+uz1kla
+ek1sče
+ik1stu
+ar1ppi
+iz1šņu
+oņ1sli
+il1psi
+iz1gro
+ēg1stu
+uz1sku
+ol1stī
+ur1vci
+uz1smī
+ur1zma
+en1sve
+er1spe
+uš1plē
+ur1bšu
+at1stū
+iz1sme
+el1gšu
+ec1sta
+ap1kra
+ek1šda
+il1dde
+el1kņa
+il1dle
+el1psi
+ap1stū
+ap1ple
+uz1ple
+ur1kšo
+ār1dnī
+ēr1pju
+ēk1šķa
+ir1mte
+ug1ļķe
+an1kvē
+il1gta
+īr1šķi
+ap1svā
+ul1lpu
+es1nvē
+uz1gve
+at1pri
+ug1šda
+at1šķo
+iz1plī
+ār1bri
+al1dkā
+udz1ma
+un1ssa
+os1prū
+iļ1ņve
+er1che
+ān1skā
+ab1ska
+ēr1sli
+ār1krī
+al1kšu
+ur1sto
+ūg1sna
+uk1sto
+ir1mcē
+id1sta
+id1slā
+ut1sko
+ir1stā
+ār1pro
+ir1kti
+ār1kre
+ap1glu
+as1tne
+iz1švī
+uz1spu
+al1nrū
+ār1spa
+un1ktā
+āb1slī
+ār1pļē
+ir1bju
+ur1bto
+el1svi
+un1ktū
+ug1šga
+ir1sli
+uz1fri
+ur1bta
+āb1stu
+em1brā
+om1pro
+ez1glā
+ep1sto
+al1kme
+iz1blī
+ar1ksi
+īk1smo
+ār1spe
+ap1krī
+iz1šķē
+ur1tkā
+ēk1lko
+ār1tna
+il1dsa
+al1dni
+el1dce
+on1tru
+iz1sto
+ūp1sto
+ap1žvī
+ap1tri
+od1gru
+ār1gtā
+iz1gve
+el1gsi
+er1nha
+at1švī
+ār1hro
+il1tvā
+uz1sme
+at1sve
+im1tni
+uz1pri
+ēr1sra
+as1krā
+en1ska
+iz1glī
+us1tdē
+ol1tme
+ūr1stu
+um1švi
+at1šļa
+ār1knā
+uz1tre
+ok1šņo
+at1bli
+at1sni
+el1gto
+ek1šķe
+ab1sti
+un1fte
+ap1gri
+ir1ste
+ul1sni
+en1tvi
+am1plu
+am1zda
+ik1stī
+at1knā
+at1skū
+is1tro
+is1trē
+īg1sta
+ir1spu
+am1svē
+ār1bru
+ec1stū
+ul1dza
+il1kšo
+ār1plā
+os1tni
+īk1sna
+uz1sta
+ār1zda
+ār1šķi
+uz1bli
+ek1tro
+ap1grē
+ur1bšo
+ir1slē
+iz1kla
+uz1trū
+uz1tra
+ak1sto
+os1tre
+uz1dri
+ir1sma
+ak1šķē
+ak1tli
+ek1švē
+ās1nku
+el1zti
+er1cba
+ēr1kto
+in1dsē
+al1kša
+um1tra
+ip1sna
+eļ1ska
+ār1šķī
+ap1kri
+ār1šķē
+el1drē
+im1pli
+uļ1dzi
+ir1pta
+ēr1pta
+il1pra
+up1stī
+iz1fra
+us1tre
+ub1krē
+ār1pļā
+in1fra
+il1kta
+ir1mpi
+ap1šņo
+at1sku
+un1dzi
+es1trē
+an1drī
+il1pto
+adz1ni
+ar1pju
+in1gtā
+iz1gru
+ap1šķo
+ēr1skā
+ot1rpi
+or1tfe
+ir1mti
+ik1šķi
+an1tmē
+am1bri
+un1dža
+il1pšo
+as1brā
+el1gšo
+ap1kvi
+ug1sme
+il1pne
+ēt1svi
+ir1kša
+as1sko
+ek1spe
+en1kša
+iz1bre
+em1pti
+ār1gre
+iz1frā
+iv1stā
+ul1šņa
+ār1kro
+as1pra
+il1ktā
+at1sle
+iz1glu
+ik1snā
+ok1šņa
+um1šma
+ār1gru
+ār1sme
+at1sna
+ur1kto
+ik1sna
+uz1svī
+us1slo
+am1pda
+em1ztā
+uz1žva
+is1smi
+ēr1tnī
+ār1gtu
+ār1drū
+īg1sti
+ap1tro
+at1sme
+iz1plē
+ir1tni
+ak1šžo
+il1sku
+ul1bša
+um1spo
+āk1sli
+ap1blo
+ār1dze
+ār1kva
+uk1sne
+āt1rvi
+ap1žva
+am1stu
+an1dra
+ār1gšo
+ek1stē
+ār1slo
+ār1gto
+ek1ļve
+ek1spo
+ār1tsa
+iz1dži
+ar1blā
+ēg1sti
+ar1bdi
+uk1šķī
+il1bšu
+or1pro
+ap1hlo
+iz1trī
+as1trī
+uz1smē
+ār1spā
+is1tri
+ab1klā
+uz1hlo
+uļ1sti
+at1fli
+ut1nko
+iv1krā
+ur1tdi
+ap1glū
+ār1glū
+om1skā
+at1sto
+um1sta
+ap1gle
+al1sma
+el1tra
+er1sto
+el1dvi
+iz1fri
+et1sko
+at1tva
+ār1kle
+āš1kru
+er1tce
+ap1kru
+us1tri
+uz1gla
+ap1ble
+il1sta
+ap1sve
+iz1dzī
+as1tpa
+em1psi
+iz1tvē
+ac1grī
+ēr1dzī
+ul1lci
+iz1šļi
+at1žņa
+ov1smē
+as1ska
+en1tge
+at1plu
+īs1šķi
+ār1dzī
+ēk1šņā
+el1nko
+ār1sku
+āv1sti
+āl1dzi
+ēp1stu
+īv1kla
+im1tmu
+os1pro
+ap1spē
+um1brā
+ul1dzi
+ār1stā
+ur1knē
+er1trū
+el1nba
+ār1bro
+ar1sme
+ok1sne
+il1ška
+at1svē
+ar1vde
+at1slu
+iz1bro
+ēr1ste
+āb1sli
+us1skā
+at1grā
+āp1stu
+ār1brū
+am1stī
+as1tmē
+iz1kņu
+en1kla
+iļ1sli
+um1sto
+ap1bļā
+uz1sna
+ol1klo
+er1tme
+iz1fli
+al1stu
+ap1špa
+ar1sti
+āk1šķi
+ār1dži
+um1bra
+ir1dzu
+al1kjū
+ap1smī
+āb1sta
+iz1kļa
+ul1ptū
+ap1smē
+ār1tnī
+ar1gva
+udz1so
+us1stu
+ap1ste
+ul1zna
+ār1glā
+ār1blā
+ur1ska
+il1stā
+el1nra
+ak1tri
+at1kņu
+eg1sme
+ap1grū
+ēk1šķo
+in1spi
+ik1sta
+am1bli
+ir1dzē
+ēr1ktu
+ur1kni
+el1tni
+iņ1krā
+iņ1kre
+iz1kle
+an1spa
+un1ska
+am1stā
+ēr1pšo
+ār1fli
+ir1mri
+ēr1btā
+at1svi
+ir1spa
+ār1tnā
+ap1šķū
+en1drā
+ek1šni
+at1trī
+ar1kti
+iz1pri
+ig1znē
+on1spi
+ul1kve
+ek1šķu
+āt1sko
+ek1sne
+īs1krā
+iz1klā
+ēj1tve
+ur1kti
+og1ļhi
+or1tme
+aš1plū
+ēj1slē
+am1pla
+ēs1tni
+ur1bsi
+is1tka
+is1dzi
+iz1spe
+ab1sta
+āp1sti
+as1tme
+os1tri
+udz1da
+ur1dzē
+at1šļu
+at1bra
+un1kla
+er1zti
+uz1pļā
+ār1dre
+il1gša
+iz1ple
+iz1žņa
+er1ztā
+el1dše
+ir1knē
+eņ1krā
+ēr1ssi
+al1sno
+ūp1stī
+ir1gsi
+iz1sta
+ir1sse
+uz1spe
+ek1sni
+īg1snē
+in1dzi
+at1kli
+ar1bve
+on1glo
+iv1ska
+il1dni
+ār1kra
+ār1blē
+ar1stā
+ār1sli
+eņ1ķmē
+ēr1bsi
+ik1smī
+āl1sci
+at1dre
+až1brī
+iz1plā
+ir1mve
+uz1gro
+up1jma
+uz1dza
+em1pto
+an1kto
+ež1sta
+ēr1šļu
+ap1brī
+uz1kro
+uz1skū
+uz1krī
+ap1šmī
+uz1kvi
+il1btā
+or1tje
+es1krā
+at1tve
+ul1stu
+ūk1stu
+en1kta
+ēr1stu
+ar1bma
+uk1stu
+ēr1nzi
+uz1slī
+ūk1sti
+at1sva
+ap1pļē
+il1nmi
+ir1snī
+in1dni
+āj1prā
+ar1sbu
+at1spa
+el1nma
+ek1stu
+is1grū
+is1nle
+āk1stī
+uz1stu
+if1šte
+ār1spi
+īk1stā
+ar1ktu
+ur1ktā
+āj1dzi
+ēr1bto
+iz1zva
+at1knu
+at1fra
+en1sra
+al1ctī
+ār1bre
+ar1bni
+ār1tni
+ez1pro
+an1tnī
+ēp1sti
+as1trā
+āp1sto
+īr1sva
+iz1šķa
+ig1stu
+er1tra
+es1tru
+as1grā
+al1sna
+ur1pre
+ur1mjā
+ēn1prā
+at1pro
+ek1ļpa
+ik1lve
+ēr1kšo
+iz1gla
+ap1sna
+in1dza
+ār1gra
+ir1gto
+iz1sna
+an1čki
+ap1tva
+ār1sna
+um1špe
+at1zva
+ig1zdo
+en1sva
+et1rga
+il1gga
+īk1sme
+al1stā
+et1rri
+iz1dzi
+ār1pra
+iz1trū
+ār1pli
+ēk1šķē
+āj1sta
+iz1kro
+ur1kšu
+iž1knā
+or1bci
+em1ptā
+an1scē
+ir1kšu
+al1tdi
+ēk1šņu
+īdz1ši
+ot1rre
+āt1spē
+ēk1mju
+āt1krū
+il1dda
+at1svī
+udz1kā
+ār1trī
+ar1ktā
+āl1ska
+en1sli
+es1pri
+ur1btu
+ug1stī
+uz1plā
+em1zta
+iz1bļā
+īk1sti
+uz1spa
+ār1tve
+an1dce
+el1dse
+uz1kra
+ap1sli
+ir1gta
+uz1slā
+ir1kli
+oņ1plū
+ur1gto
+an1grē
+ūk1sna
+āv1zva
+an1slā
+ek1švā
+ār1žva
+ār1šļu
+ap1frā
+až1skā
+at1pre
+as1tti
+iv1plā
+uz1grē
+ek1šno
+iz1grā
+uz1bra
+es1tpa
+ur1bra
+iz1kļu
+im1sto
+ur1gtu
+om1dzi
+ir1gka
+iz1šķe
+ek1sti
+uk1šga
+ār1sma
+el1tka
+ar1gma
+al1nra
+uļ1krē
+ar1gka
+iz1svē
+ēr1sto
+il1špa
+im1tci
+uk1plē
+el1pti
+is1dra
+er1sme
+ul1snī
+ār1krā
+āt1sma
+ir1stu
+at1pļā
+uk1smu
+an1dtā
+en1kšu
+ar1sko
+ēr1pti
+ēk1lva
+or1skā
+uk1sta
+ep1sta
+ār1tri
+ir1kņi
+ul1stā
+et1rvi
+il1btu
+ār1sla
+at1pli
+el1nsa
+ur1kmē
+uz1bro
+al1dne
+ār1frē
+un1spū
+ek1šķē
+en1pro
+an1dro
+at1bru
+ak1snī
+uz1tvē
+ik1spā
+uz1blī
+ap1šķi
+el1dra
+un1svi
+at1spu
+ār1fri
+ep1stu
+ēr1szā
+īb1sto
+ār1dza
+ār1gli
+el1kne
+ār1tne
+un1prā
+ap1kve
+uz1kni
+ap1dra
+ār1gša
+ār1kvi
+ir1zga
+ek1šgā
+ek1sve
+at1gle
+ār1stī
+es1pro
+al1kma
+iz1klī
+ug1sto
+az1pro
+āj1sla
+en1tne
+ul1sti
+at1kre
+ār1sva
+ār1šķe
+iz1kļū
+ap1slu
+il1zka
+ek1šme
+am1pšo
+ūr1sko
+uz1grā
+es1grā
+ap1šņu
+ir1kļa
+ur1lmē
+el1dfē
+az1dru
+at1rpu
+um1stu
+es1grī
+iz1kna
+as1smē
+ur1spī
+eņ1skā
+ār1slē
+udz1vī
+un1dru
+ar1ska
+eņ1tra
+am1pli
+uz1kli
+ul1gtu
+ēk1brū
+us1dzī
+ap1stā
+ar1kšu
+es1kra
+iz1brā
+ir1sta
+ar1gce
+em1ptu
+ur1ste
+ār1dru
+uz1pļa
+at1glū
+ad1skā
+ov1skā
+ak1stā
+ēr1zga
+ir1mga
+in1gtu
+īdz1te
+ār1drī
+am1bra
+īk1šķu
+ur1gsi
+ab1sci
+on1dri
+il1pju
+āp1jve
+ar1gbū
+ul1gšu
+ār1dva
+ār1tno
+ap1plo
+as1tka
+il1gšo
+iz1ska
+ār1dni
+ap1dva
+īk1snā
+ap1blā
+as1pļa
+ap1kre
+al1pre
+em1pšo
+ap1tru
+ak1stī
+el1sku
+ak1ņve
+ak1špa
+aļ1ska
+ūr1sta
+at1bļā
+in1gve
+at1hlo
+ig1frī
+ok1snē
+ār1gri
+ak1šķi
+āt1sna
+ul1tsi
+as1tni
+ir1sto
+an1sfo
+ek1šla
+ul1tzo
+ob1spi
+os1pri
+el1bri
+ār1žvī
+at1blī
+ot1rti
+il1gsi
+uz1zvē
+in1spe
+ir1ptu
+ag1sva
+iz1kli
+ok1sni
+el1gra
+um1spē
+ūp1sti
+ak1stē
+ur1kta
+an1dri
+ir1pto
+iz1pli
+īv1drē
+ar1pzo
+ur1bti
+ul1šņi
+at1blē
+og1ļra
+iz1sle
+il1pro
+il1gto
+eļ1tra
+iz1slē
+ār1kve
+ur1btā
+ār1frā
+al1tla
+ur1pmā
+ēr1ksi
+al1ksi
+ir1kņo
+in1sra
+em1blē
+ib1sta
+in1sci
+ur1ktu
+iz1šķū
+an1tni
+ām1glā
+ur1zva
+īk1šķē
+up1rla
+il1nga
+il1gla
+ēk1šņa
+en1prā
+uk1špa
+at1pļa
+iz1šķī
+ār1gšu
+ir1gša
+ul1dzē
+an1kku
+ul1tni
+un1dzē
+ap1sma
+er1sti
+el1ztu
+ir1gko
+im1tre
+us1sna
+ūk1šķu
+ik1tni
+at1brē
+as1kra
+an1dža
+am1plī
+ar1kša
+ap1spe
+an1ska
+ih1svē
+od1sli
+ēr1pšu
+ar1gre
+am1sto
+ān1ska
+or1tvī
+at1svā
+uz1šķū
+ūr1sto
+in1sce
+ud1spi
+udz1ga
+al1snā
+āg1stu
+al1tro
+at1šta
+at1kļū
+udz1vi
+ap1slo
+ap1gre
+iz1šņo
+ug1stu
+im1sti
+up1stu
+ur1stī
+os1kra
+ir1ska
+og1ļde
+um1dzi
+in1kvi
+ed1kļū
+ul1tra
+iz1sko
+el1gtā
+ur1gtā
+iz1pļē
+ap1smu
+er1stī
+āt1ršu
+ok1šņu
+ap1šķa
+āt1dzī
+at1tro
+at1brī
+al1sta
+udz1ru
+ar1gtē
+in1sta
+iņ1ķve
+at1kri
+al1snu
+iz1zvē
+iz1klu
+in1hro
+ir1ptā
+as1kvi
+ur1spi
+iz1kvē
+ār1skā
+ir1gtu
+āp1sta
+uz1bru
+ed1krā
+et1sta
+al1vga
+am1pša
+ar1pga
+uz1sla
+at1šķī
+at1dži
+ār1kļū
+ār1šro
+eņ1bra
+īk1gru
+ār1klā
+ak1ņko
+od1prā
+at1klī
+iz1stē
+ār1žņa
+at1tri
+ik1stū
+ek1šzī
+ār1kni
+ār1pre
+ap1klā
+ul1gta
+ēr1pjo
+ār1gsi
+iz1šņa
+iz1gle
+ēr1bjo
+is1stū
+eļ1drā
+ik1ste
+ēr1nga
+ap1tve
+uz1skā
+ap1knā
+ik1snī
+am1ble
+ek1stā
+ol1fga
+em1bri
+uz1spī
+el1dma
+iz1slo
+ar1gkā
+iz1svī
+ūg1kri
+un1kti
+er1pre
+uz1švī
+ap1dzī
+iz1spī
+ek1tda
+ēr1dze
+il1ska
+ār1tnu
+ur1bša
+ap1tra
+ap1dze
+an1ste
+in1ktū
+er1ztu
+as1pru
+en1sca
+uz1svā
+il1dmē
+ik1sni
+ār1brē
+āk1sto
+āk1slu
+ap1bri
+ap1stē
+iz1sti
+ap1pļa
+ār1šta
+īk1sne
+un1tra
+ok1šķi
+ūs1tni
+ok1trī
+iz1glā
+om1ple
+ār1kri
+uv1bra
+īv1stu
+āt1rgā
+ār1pļa
+uz1klī
+uz1slo
+at1gre
+eļ1bri
+as1prā
+ig1žņa
+ēr1glē
+ūr1sti
+īv1sva
+ah1tve
+ūk1sne
+et1rsi
+uz1špa
+an1dze
+um1pra
+er1plē
+iņ1sti
+at1drī
+at1dva
+in1tnī
+in1gvi
+al1šķī
+ap1slē
+id1plē
+il1nva
+uz1glū
+iz1švi
+udz1pu
+or1tli
+in1kri
+ap1pri
+em1dvi
+ār1drā
+as1tro
+ar1dze
+āk1sni
+uz1ski
+as1tva
+um1sve
+ār1gdi
+ik1sto
+os1pre
+at1frā
+el1dre
+il1dva
+ug1prā
+ul1stī
+uz1svi
+ur1tda
+ār1slu
+ūp1stā
+ez1glu
+īļ1knā
+an1cle
+ūp1stu
+ec1svi
+ak1šķe
+ir1dzī
+uz1dze
+āl1spē
+ij1dro
+ār1kla
+im1sli
+ap1bli
+il1sru
+on1skā
+uz1spi
+ul1dze
+ik1šķo
+us1krū
+ek1stī
+ek1šro
+it1bri
+as1pri
+ik1šķu
+or1tku
+at1kni
+is1mju
+im1stu
+ez1prā
+at1sli
+ur1vma
+om1sta
+er1sta
+ot1rpu
+es1pra
+uz1gre
+at1šķē
+ur1dzi
+ūk1ste
+ap1smi
+ār1stu
+an1skā
+ūr1stē
+ur1zmi
+ār1krē
+er1sma
+at1šņu
+od1sko
+im1pre
+al1snē
+ap1dza
+iz1pļa
+il1krū
+at1spe
+uz1krā
+in1tra
+at1šķi
+at1bro
+el1tga
+in1tro
+on1tda
+ak1šķa
+as1tna
+ir1ski
+aļ1stu
+os1kni
+ēr1tni
+ār1trū
+er1zta
+ir1zma
+iz1knu
+ar1gku
+eļ1gle
+iz1dzē
+ap1sti
+os1trā
+uz1šķi
+os1tru
+ir1kļu
+es1brā
+ar1sto
+ap1grā
+us1tme
+iz1ski
+in1sva
+um1sko
+un1kni
+at1kvi
+uk1stī
+ap1pli
+ot1plā
+et1rmo
+el1djo
+ub1sta
+uz1sni
+iz1dze
+ul1gšo
+am1pjo
+uz1dre
+ar1pni
+is1mmī
+al1dzī
+iz1žvī
+ar1bmū
+at1spo
+al1šķi
+uz1kvē
+al1kti
+udz1re
+ār1spī
+iz1kra
+et1rre
+ab1sto
+uz1slu
+ār1plē
+us1ttē
+ur1sta
+iz1gri
+ot1rto
+en1sti
+āv1grū
+ār1tva
+un1slī
+on1gre
+ēk1sne
+ir1kni
+el1dpū
+av1grī
+or1tjē
+īk1smā
+īdz1ju
+es1smē
+iz1spo
+iz1brī
+um1bve
+is1kva
+īg1ļla
+īs1stū
+im1tkā
+ār1gme
+ār1ble
+āč1plē
+ēr1zci
+ēp1sta
+el1drā
+ak1šķu
+al1nga
+uk1šķē
+ir1ktā
+od1ska
+īk1sto
+ir1spe
+ir1pšo
+ēj1spē
+at1hro
+id1smi
+on1tra
+at1gve
+il1dķe
+in1sku
+el1dtī
+ek1šķi
+uz1kre
+ap1zvē
+ār1ska
+ān1sve
+udz1vā
+iz1ste
+uz1pla
+an1cka
+ež1frē
+in1gša
+ap1hro
+in1gtī
+ir1mdi
+ir1mva
+ap1svi
+uz1dzī
+uz1pro
+ēr1sna
+ap1dro
+uz1blo
+al1tva
+ek1šsē
+udz1ve
+ih1stā
+uz1gra
+ēd1dzi
+ar1psi
+ār1dri
+at1klā
+iz1tve
+ār1sle
+ul1gša
+al1tvī
+ēr1ļve
+ir1mzi
+at1dra
+os1pļa
+ir1kto
+el1nga
+ēl1spi
+ap1gru
+ēr1bti
+us1pli
+ik1sma
+ār1slī
+ol1ska
+īt1ska
+ap1dži
+ur1tnī
+uz1dzi
+ār1šmī
+odz1ni
+ar1gda
+at1ski
+uz1dzē
+el1tli
+ov1ski
+el1ztā
+at1blā
+ar1dzī
+is1trā
+as1tra
+en1svī
+on1krē
+ur1gta
+en1tmē
+ār1kru
+un1dri
+ār1gla
+el1pva
+as1pro
+is1pri
+iz1plū
+il1dko
+ār1šļi
+ar1tne
+us1tne
+at1kna
+at1kra
+at1spi
+ēr1ptā
+īk1sta
+in1grī
+ed1spi
+op1stu
+um1šsa
+ap1pre
+ap1trū
+ār1šķa
+at1brū
+um1šķi
+el1stu
+al1sto
+uz1kļa
+al1nze
+at1gru
+on1fro
+at1kla
+ap1brū
+ir1mtē
+īdz1nā
+uz1šmī
+ap1gra
+ak1šze
+ap1blī
+an1kno
+il1skā
+ir1ktu
+ēt1spē
+al1vni
+ar1gri
+uz1kle
+ul1sto
+es1krū
+iz1pļā
+uz1plo
+at1šļi
+ug1šma
+ec1sla
+īg1sto
+uz1blē
+ib1sti
+en1sto
+in1kli
+ir1dzi
+ug1zna
+in1gro
+as1prū
+ež1gra
+iz1kre
+eg1slā
+ām1grā
+ig1znā
+am1fle
+ir1pša
+eg1smi
+uz1šķa
+ap1šķē
+ug1sti
+al1ste
+al1nci
+em1mvi
+īdz1ti
+ik1sno
+ār1svē
+et1rkā
+ul1gtā
+at1spē
+ār1sto
+il1šmā
+et1rti
+ar1dzē
+er1cko
+ar1sta
+ēr1bša
+āj1gle
+am1pja
+uz1dva
+ot1rkā
+ak1šma
+uz1plē
+ak1špu
+ār1bļā
+ir1gtā
+ik1šķē
+uz1zva
+al1stī
+os1kle
+ār1ste
+ug1šžo
+ēr1tne
+iz1dva
+is1tru
+ek1šku
+ap1skā
+ar1gti
+ar1gvi
+uz1smi
+im1pto
+ār1ski
+ār1plū
+uļ1ska
+ib1snī
+iz1šķi
+ap1ski
+un1sbī
+ep1stē
+us1sko
+at1zvē
+at1sti
+el1dzo
+īk1smē
+an1sku
+um1sla
+uz1šma
+ap1žņa
+ek1šze
+uz1kri
+ir1mmā
+an1čka
+ēg1sta
+at1kro
+et1rrā
+uz1knā
+uz1stā
+ap1drī
+ez1glo
+at1ple
+ar1šļa
+ug1šņu
+ār1kli
+ot1rzi
+al1kvī
+is1tra
+ib1stā
+or1dni
+el1dpa
+in1gpo
+ul1sla
+uz1tve
+el1tta
+ap1plē
+uz1šņa
+ār1sta
+os1tbi
+ār1gle
+og1ļrū
+er1stu
+iz1plo
+ūv1bri
+ēl1spu
+iz1sli
+ap1plu
+um1sti
+uk1švā
+us1tra
+uz1dži
+ēr1npa
+el1pjo
+et1kre
+āb1slē
+ik1lķe
+an1spo
+im1tku
+ok1gre
+iļ1ska
+an1tku
+an1sjē
+il1pša
+ūk1snā
+āl1szā
+ol1sto
+us1trē
+ij1krē
+an1flo
+ap1glā
+āl1svi
+at1slo
+ur1bjo
+el1sme
+at1smē
+op1dzī
+ūg1stu
+al1tra
+er1tne
+at1švi
+os1trē
+ez1drā
+ur1gša
+en1spo
+ov1ska
+il1ktu
+es1tre
+iz1dve
+ār1smē
+at1gra
+āg1sta
+ūv1gri
+as1tmā
+in1flā
+oņ1stū
+ār1klu
+el1tne
+ak1sta
+ār1dko
+ār1kvē
+an1tro
+at1kru
+ap1sto
+il1pta
+edz1ni
+is1pro
+īr1gro
+udz1si
+em1bra
+ār1zko
+ul1šņā
+us1sti
+ēk1šķi
+udz1vē
+um1tni
+ar1stu
+ap1kle
+īk1smu
+up1sta
+īk1sma
+ār1zva
+ab1rka
+ēdz1ni
+āb1stā
+ēr1kli
+en1tro
+ār1plī
+il1gšu
+ap1kvē
+as1tre
+ak1ste
+ek1šķa
+āt1rmo
+an1sce
+in1sde
+iz1kru
+ap1šļā
+at1bre
+on1sta
+ēr1zla
+el1gša
+ām1bra
+el1dzi
+uz1dru
+udz1di
+ap1brā
+ar1kta
+eņ1sla
+ar1švi
+iz1smi
+ir1vja
+en1gri
+ar1kšo
+uz1drī
+ul1sta
+ek1sme
+ār1šņa
+ār1zni
+ār1tro
+ap1kli
+ār1svi
+ēr1stē
+īk1stī
+et1rtū
+īdz1ci
+ur1tli
+ek1sto
+im1tsa
+us1brā
+uk1šķo
+ir1zta
+ār1stū
+un1ktu
+ēr1mju
+īk1šķa
+ur1kli
+uz1fli
+ap1plū
+il1dzi
+ap1dre
+az1sva
+ug1ļla
+at1stī
+iz1plu
+uz1tro
+is1sli
+iž1skā
+ir1gšo
+en1ktā
+ār1gta
+iz1bli
+ār1smī
+im1brī
+ār1dzē
+ār1svī
+ek1spa
+īdz1ko
+uz1svē
+at1plo
+or1tla
+ab1prā
+ir1tne
+ūk1slā
+iz1sve
+et1plā
+ir1sva
+il1bti
+uz1brū
+īt1spē
+uz1šķē
+udz1no
+at1slā
+iz1blā
+es1tdi
+us1zvi
+is1kri
+ēl1slē
+ob1sku
+ēk1šņi
+ul1šņu
+on1tro
+il1stī
+iz1bra
+ur1pni
+al1dsē
+im1ttū
+is1spē
+es1tme
+in1gvī
+ug1špu
+ir1dne
+iļ1ņla
+ap1sta
+ik1smi
+ad1grā
+iz1spē
+il1gtā
+iz1sva
+il1nbā
+im1stā
+ak1šve
+uz1pra
+uz1grū
+ār1skū
+iz1bru
+us1tsē
+ug1snē
+ār1dzo
+in1tni
+ig1sti
+er1gtu
+en1tru
+as1krū
+ār1slā
+ap1tvē
+el1sti
+il1sto
+il1dra
+ot1rga
+ur1kņu
+ap1bra
+er1tzā
+at1stā
+er1cli
+ēr1bšu
+uz1stē
+ap1plā
+an1gvi
+uz1šļi
+uz1blā
+ed1rvi
+as1tla
+iz1stu
+ot1spē
+us1pro
+im1tda
+am1krē
+op1pro
+ig1žņo
+at1bļa
+ap1kni
+iz1sma
+iz1grū
+an1dpu
+īv1prā
+ur1stu
+ar1stī
+ig1zne
+ūk1sta
+āj1sko
+ek1ška
+ub1sti
+ur1dze
+iz1hro
+ap1šma
+ap1spa
+ār1stē
+ib1stu
+at1smī
+im1sta
+il1ksi
+ar1ndo
+on1kre
+es1krē
+āl1plā
+uk1sma
+in1gri
+um1pro
+uz1dra
+ār1pla
+ār1plu
+at1ste
+el1gta
+en1gru
+il1tze
+ār1pri
+iz1krī
+at1krē
+es1prū
+is1svē
+ār1švi
+ār1knu
+en1ktu
+ap1tre
+iz1kņū
+ul1gsi
+in1dri
+iz1drī
+ek1ste
+aļ1ķne
+uz1spē
+os1tma
+ug1sni
+at1grē
+al1sni
+ur1nga
+ip1frū
+ēr1sko
+at1stē
+ēr1gli
+ol1fra
+at1gro
+un1kci
+ār1kņu
+iz1sku
+ek1sce
+ap1sla
+at1slē
+ap1šta
+ap1šļu
+es1tri
+uz1plu
+ār1bli
+ār1grā
+uz1sto
+il1tra
+in1gru
+ūk1sni
+en1szā
+os1prā
+āp1jvī
+ār1tnē
+il1ptu
+um1šza
+is1kre
+is1krē
+ul1gti
+um1dzī
+ek1špu
+ur1zni
+uz1dro
+us1tve
+ās1trā
+ūg1sta
+ap1brē
+er1vje
+iz1grē
+ar1gmu
+at1dru
+ap1kļa
+ap1spi
+ap1bre
+el1pto
+ār1tvē
+al1kšo
+uk1sme
+el1dzē
+il1kme
+ēn1skā
+ir1gšu
+il1sti
+ir1dsa
+ir1slī
+at1smi
+ār1šķo
+ar1spa
+al1dse
+uz1knu
+ar1gpo
+iz1šļa
+at1šķa
+ār1šņu
+uz1sve
+an1stē
+ek1trā
+ār1glu
+ur1vju
+oņ1sti
+at1drā
+iļ1pro
+iz1tva
+iz1trā
+ap1spā
+om1pli
+ak1stu
+ap1spu
+ek1tdi
+ok1ste
+er1gra
+am1bre
+uz1bļa
+us1gra
+el1gru
+am1sta
+at1sko
+īb1stu
+ek1tri
+el1mla
+an1sve
+at1skā
+un1dzī
+īk1gra
+ap1ska
+in1dko
+al1ktu
+ul1dzu
+es1trā
+at1spī
+ol1dla
+at1šķe
+eņ1ple
+os1tla
+ik1stā
+ap1švī
+uz1prā
+ap1kro
+ūt1smē
+is1gri
+em1pšu
+iz1bļa
+ir1mno
+ap1spī
+ēr1kti
+al1gme
+ed1svi
+is1bri
+un1sne
+en1svi
+uz1kve
+ār1gro
+er1stā
+uz1šķe
+eļ1krū
+od1rpa
+īv1grā
+et1rba
+un1sku
+ār1tmē
+āb1stī
+il1pjo
+iz1stā
+uz1žvī
+uz1šķī
+is1tko
+os1pra
+el1gtu
+ad1smi
+om1kra
+ut1sva
+il1pti
+ug1pre
+un1kte
+il1gru
+ār1šķū
+ez1gli
+iv1spē
+er1dlo
+āt1ršā
+ēj1grā
+ur1dzo
+en1trā
+ap1bļa
+ēr1tņu
+em1dni
+in1ksa
+āl1šķē
+uz1hro
+iv1sto
+et1rjū
+uļ1glu
+ir1psi
+el1zce
+um1slē
+at1gri
+el1ptu
+uk1stā
+at1pra
+ar1gjo
+uz1tva
+uz1sko
+iz1stī
+el1sto
+ap1pra
+ov1sku
+ar1šru
+ēp1sto
+at1krā
+ir1ksi
+ok1šķe
+iz1šļā
+iz1dra
+il1ptā
+il1dsē
+in1gta
+ūp1sta
+ug1ļko
+ar1džu
+iz1krā
+ul1dzī
+ur1stā
+ārg1sti
+ilg1sto
+akt1spo
+alt1gva
+ark1sta
+ugs1tlē
+uzs1pļa
+ald1skā
+ins1grē
+izs1prū
+ilk1tni
+urb1sti
+ezg1lve
+arp1pro
+irk1sni
+eld1plē
+ird1spu
+ilp1stu
+īns1trā
+ārs1kra
+ird1smi
+eln1svā
+irp1sti
+ārg1stu
+ens1sta
+ugš1sti
+irk1sti
+ilg1sta
+als1tpu
+ārd1dzi
+irm1dzi
+abs1tra
+umš1brū
+arb1spē
+ils1blī
+urs1krū
+izs1pra
+urb1stu
+udz1šķa
+uzs1kra
+aps1pre
+ins1gru
+ens1bla
+ārs1pra
+arg1krā
+ilk1tne
+ens1tru
+ulk1ste
+upj1gra
+unk1šķi
+urk1sta
+aps1krē
+irs1drē
+ērt1sli
+obs1tru
+ērt1ssū
+ast1sko
+ird1ska
+irg1sto
+ord1zni
+aks1tve
+ikt1stē
+uzs1pre
+izs1pro
+ilt1stē
+uzs1prā
+eks1tko
+alk1stī
+īdz1pro
+ens1dro
+irg1stu
+ing1sto
+izs1kra
+ink1stē
+alk1šķi
+ātr1sli
+ild1spa
+āls1tre
+alk1sto
+ubs1trā
+aps1tru
+ērk1šķa
+izs1trī
+ats1krē
+ārs1trī
+alk1stu
+uss1kri
+izs1pre
+ent1lme
+irg1zda
+ilb1sti
+eks1tre
+aps1pra
+ilk1sti
+unt1szi
+uzs1pro
+eks1klu
+iss1pri
+aps1trī
+ulb1sto
+urk1sti
+aps1pro
+aht1klu
+āls1sta
+ens1krā
+ilt1smā
+eks1pre
+uzs1tru
+aps1prā
+etr1kla
+uzs1pri
+īks1tmē
+eld1spē
+apj1dra
+ist1hre
+ids1krē
+irs1plā
+irs1stu
+unk1stē
+ilk1sni
+ink1šķi
+ird1smī
+irs1kre
+īdz1ska
+alk1snā
+īks1tsi
+izs1tru
+ars1tda
+unt1sno
+ēst1gri
+uzs1tre
+urk1sto
+uns1dro
+ulg1sto
+ātr1spi
+ilg1spē
+erc1sko
+ilb1sto
+āls1skā
+ens1krū
+aps1tri
+ilk1tnē
+udr1skā
+urb1jma
+ats1pra
+ird1sli
+izs1trā
+ekš1ņnī
+ind1sta
+aps1kra
+ērk1stu
+iln1bri
+uzs1pra
+udz1pla
+ilb1stu
+izs1kri
+ilk1stu
+irp1sta
+eks1trē
+ugs1tka
+ult1zva
+ātr1gri
+ink1šķo
+urk1šķa
+ulb1sti
+uzs1trā
+aps1trā
+irk1stī
+ulb1stu
+unk1tsi
+ons1trē
+īgt1spē
+ark1stu
+ilk1sto
+ark1šķo
+alt1kvē
+uns1dzē
+irk1stē
+ild1krē
+ink1sli
+urs1trā
+unk1sto
+ilk1stē
+ārg1sto
+akt1sgu
+ert1bri
+ilg1sti
+ērt1svē
+ērs1gri
+aps1trē
+eņs1krā
+amp1stu
+ats1trā
+ilp1sti
+ežs1trā
+erk1šķi
+eln1pla
+urk1sni
+akt1svi
+ens1dzi
+irg1sti
+ark1šķu
+ess1krā
+irk1sto
+unt1sma
+isn1gri
+alk1sne
+ild1pla
+udz1ska
+ārs1tru
+uzs1krū
+ink1šķē
+ērs1svī
+ērk1šķo
+īks1tpi
+ilt1rpa
+ātr1bra
+urk1stu
+ārs1pro
+als1sti
+eks1plo
+amp1sto
+izs1tre
+ang1ste
+irg1sta
+izs1krē
+ātr1spē
+ust1knā
+ark1šķē
+ark1šķi
+ārs1prā
+aps1prū
+ilp1sto
+īgs1trā
+ont1rre
+akt1sde
+ats1tre
+uzs1trī
+aps1pļa
+urk1šķi
+urk1ste
+ink1stu
+ājs1trā
+ats1pļa
+ērk1šķi
+etr1stū
+ink1sta
+ans1kri
+eks1pro
+ald1drā
+ārp1sta
+urb1sta
+unk1šķē
+akt1sda
+akt1spu
+alk1sni
+ārg1sta
+āls1tra
+āls1ste
+irg1zde
+āgs1tvi
+ird1zni
+irt1sku
+ons1trā
+ērk1sta
+ilp1sta
+isn1stū
+elk1sni
+ilt1sko
+ats1prū
+urk1šķu
+ars1tga
+ugs1tro
+ens1šķi
+ing1sti
+ads1krū
+els1tra
+ark1šķa
+ark1sto
+ant1sbe
+ink1šķa
+unk1sti
+ird1sde
+ink1sti
+ans1pla
+ugs1tra
+ats1pre
+irk1šķi
+irp1stu
+ils1dru
+als1tni
+ats1tru
+ins1tru
+anž1dze
+īks1pro
+amp1sti
+ars1tvī
+ugš1stā
+anc1spē
+ark1sti
+unk1sta
+irm1ska
+akt1smī
+ulg1stu
+amp1sta
+eks1trī
+unk1šķo
+urk1stē
+elz1szā
+ārs1tre
+ens1kri
+ink1šķe
+uks1trā
+ink1sto
+ult1spū
+elt1spē
+ats1pri
+ild1spē
+uzs1prū
+eks1tro
+egl1prā
+irp1sto
+alt1kri
+akņ1gra
+ārs1lve
+ārs1pļa
+udz1stū
+urb1sto
+aps1tre
+ugs1tvē
+ekļ1skā
+unk1šķa
+isn1prā
+ats1tri
+ākļ1stā
+udz1krā
+imt1pro
+ing1sta
+eks1plu
+akt1spa
+ilk1sta
+alk1šņa
+ats1prā
+īks1tča
+ent1rti
+ērk1sti
+irg1spē
+ikt1spē
+izs1prā
+akt1smi
+izs1krū
+unk1stu
+ats1krū
+ārs1pri
+unk1šķu
+ult1spē
+unt1sga
+ugs1tsi
+izs1pri
+ārs1krū
+aps1krū
+ārk1sti
+izs1pļa
+ars1tpu
+ērk1ste
+uzs1tri
+ulb1sta
+izs1tri
+ons1tru
+irs1svā
+ats1trī
+ārs1krē
+akt1ssa
+eks1tra
+akt1slo
+urk1šķo
+ing1stu
+ult1kva
+ust1spo
+ītņ1gri
+ežs1krū
+irm1sle
+irk1sta
+urk1šķē
+ort1pre
+ekš1ņla
+iņs1trā
+alk1sta
+irk1stu
+emm1dzi
+irg1zdā
+irm1kla
+aks1tni
+ons1tra
+ink1šķu
+ats1kra
+ind1rve
+akt1sja
+ens1blu
+aļķ1špa
+ult1sva
+ogļ1skā
+ārk1sta
+ulg1sti
+ērk1sto
+ird1sdā
+ugs1tce
+uns1grē
+ult1pla
+irš1krā
+egt1spē
+ārs1tni
+ats1pro
+akt1sla
+ārs1tri
+ilg1stu
+īdz1sva
+uzs1krē
+oks1krū
+ārt1sta
+ilb1sta
+alk1sti
+oks1tro
+ekš1dzi
+ent1rbē
+iln1ska
+irm1šķi
+ārs1trā
+aps1pri
+ons1krē
+ārs1pre
+irk1ste
+ird1slē
+ulg1sta
+akš1svā
+alt1bri
+ārs1prū
+.jā1s2p
+.ne1s2p
+.ie1s2p
+.no1s2p
+.pa1s2p
+.pie1s2p
+.sa1s2p
+.uz1s2p
+.aiz1s2p
+.ap1s2p
+.at1s2p
+.bez1s2p
+.pār1s2p
+.iz1s2p
+.eks1s2p
+.vis1s2p
+.jā1t2r
+.ne1t2r
+.ie1t2r
+.no1t2r
+.pa1t2r
+.pie1t2r
+.sa1t2r
+.uz1t2r
+.aiz1t2r
+.ap1t2r
+.at1t2r
+.bez1t2r
+.pār1t2r
+.iz1t2r
+.eks1t2r
+.vis1t2r
+.jā1s2c
+.ne1s2c
+.ie1s2c
+.no1s2c
+.pa1s2c
+.pie1s2c
+.sa1s2c
+.uz1s2c
+.aiz1s2c
+.ap1s2c
+.at1s2c
+.bez1s2c
+.pār1s2c
+.iz1s2c
+.eks1s2c
+.vis1s2c
+.jā1s2tj
+.ne1s2tj
+.ie1s2tj
+.no1s2tj
+.pa1s2tj
+.pie1s2tj
+.sa1s2tj
+.uz1s2tj
+.aiz1s2tj
+.ap1s2tj
+.at1s2tj
+.bez1s2tj
+.pār1s2tj
+.iz1s2tj
+.eks1s2tj
+.vis1s2tj
+.jā1g2l
+.ne1g2l
+.ie1g2l
+.no1g2l
+.pa1g2l
+.pie1g2l
+.sa1g2l
+.uz1g2l
+.aiz1g2l
+.ap1g2l
+.at1g2l
+.bez1g2l
+.pār1g2l
+.iz1g2l
+.eks1g2l
+.vis1g2l
+.jā1ž2v
+.ne1ž2v
+.ie1ž2v
+.no1ž2v
+.pa1ž2v
+.pie1ž2v
+.sa1ž2v
+.uz1ž2v
+.aiz1ž2v
+.ap1ž2v
+.at1ž2v
+.bez1ž2v
+.pār1ž2v
+.iz1ž2v
+.eks1ž2v
+.vis1ž2v
+.jā1š2ļ
+.ne1š2ļ
+.ie1š2ļ
+.no1š2ļ
+.pa1š2ļ
+.pie1š2ļ
+.sa1š2ļ
+.uz1š2ļ
+.aiz1š2ļ
+.ap1š2ļ
+.at1š2ļ
+.bez1š2ļ
+.pār1š2ļ
+.iz1š2ļ
+.eks1š2ļ
+.vis1š2ļ
+.jā1s2f
+.ne1s2f
+.ie1s2f
+.no1s2f
+.pa1s2f
+.pie1s2f
+.sa1s2f
+.uz1s2f
+.aiz1s2f
+.ap1s2f
+.at1s2f
+.bez1s2f
+.pār1s2f
+.iz1s2f
+.eks1s2f
+.vis1s2f
+.jā1š2t
+.ne1š2t
+.ie1š2t
+.no1š2t
+.pa1š2t
+.pie1š2t
+.sa1š2t
+.uz1š2t
+.aiz1š2t
+.ap1š2t
+.at1š2t
+.bez1š2t
+.pār1š2t
+.iz1š2t
+.eks1š2t
+.vis1š2t
+.jā1s2tr
+.ne1s2tr
+.ie1s2tr
+.no1s2tr
+.pa1s2tr
+.pie1s2tr
+.sa1s2tr
+.uz1s2tr
+.aiz1s2tr
+.ap1s2tr
+.at1s2tr
+.bez1s2tr
+.pār1s2tr
+.iz1s2tr
+.eks1s2tr
+.vis1s2tr
+.jā1b2r
+.ne1b2r
+.ie1b2r
+.no1b2r
+.pa1b2r
+.pie1b2r
+.sa1b2r
+.uz1b2r
+.aiz1b2r
+.ap1b2r
+.at1b2r
+.bez1b2r
+.pār1b2r
+.iz1b2r
+.eks1b2r
+.vis1b2r
+.jā1š2r
+.ne1š2r
+.ie1š2r
+.no1š2r
+.pa1š2r
+.pie1š2r
+.sa1š2r
+.uz1š2r
+.aiz1š2r
+.ap1š2r
+.at1š2r
+.bez1š2r
+.pār1š2r
+.iz1š2r
+.eks1š2r
+.vis1š2r
+.jā1š2v
+.ne1š2v
+.ie1š2v
+.no1š2v
+.pa1š2v
+.pie1š2v
+.sa1š2v
+.uz1š2v
+.aiz1š2v
+.ap1š2v
+.at1š2v
+.bez1š2v
+.pār1š2v
+.iz1š2v
+.eks1š2v
+.vis1š2v
+.jā1s2t
+.ne1s2t
+.ie1s2t
+.no1s2t
+.pa1s2t
+.pie1s2t
+.sa1s2t
+.uz1s2t
+.aiz1s2t
+.ap1s2t
+.at1s2t
+.bez1s2t
+.pār1s2t
+.iz1s2t
+.eks1s2t
+.vis1s2t
+.jā1p2r
+.ne1p2r
+.ie1p2r
+.no1p2r
+.pa1p2r
+.pie1p2r
+.sa1p2r
+.uz1p2r
+.aiz1p2r
+.ap1p2r
+.at1p2r
+.bez1p2r
+.pār1p2r
+.iz1p2r
+.eks1p2r
+.vis1p2r
+.jā1g2ļ
+.ne1g2ļ
+.ie1g2ļ
+.no1g2ļ
+.pa1g2ļ
+.pie1g2ļ
+.sa1g2ļ
+.uz1g2ļ
+.aiz1g2ļ
+.ap1g2ļ
+.at1g2ļ
+.bez1g2ļ
+.pār1g2ļ
+.iz1g2ļ
+.eks1g2ļ
+.vis1g2ļ
+.jā1š2k
+.ne1š2k
+.ie1š2k
+.no1š2k
+.pa1š2k
+.pie1š2k
+.sa1š2k
+.uz1š2k
+.aiz1š2k
+.ap1š2k
+.at1š2k
+.bez1š2k
+.pār1š2k
+.iz1š2k
+.eks1š2k
+.vis1š2k
+.jā1p2s
+.ne1p2s
+.ie1p2s
+.no1p2s
+.pa1p2s
+.pie1p2s
+.sa1p2s
+.uz1p2s
+.aiz1p2s
+.ap1p2s
+.at1p2s
+.bez1p2s
+.pār1p2s
+.iz1p2s
+.eks1p2s
+.vis1p2s
+.jā1k2l
+.ne1k2l
+.ie1k2l
+.no1k2l
+.pa1k2l
+.pie1k2l
+.sa1k2l
+.uz1k2l
+.aiz1k2l
+.ap1k2l
+.at1k2l
+.bez1k2l
+.pār1k2l
+.iz1k2l
+.eks1k2l
+.vis1k2l
+.jā1g2r
+.ne1g2r
+.ie1g2r
+.no1g2r
+.pa1g2r
+.pie1g2r
+.sa1g2r
+.uz1g2r
+.aiz1g2r
+.ap1g2r
+.at1g2r
+.bez1g2r
+.pār1g2r
+.iz1g2r
+.eks1g2r
+.vis1g2r
+.jā1š2ķ
+.ne1š2ķ
+.ie1š2ķ
+.no1š2ķ
+.pa1š2ķ
+.pie1š2ķ
+.sa1š2ķ
+.uz1š2ķ
+.aiz1š2ķ
+.ap1š2ķ
+.at1š2ķ
+.bez1š2ķ
+.pār1š2ķ
+.iz1š2ķ
+.eks1š2ķ
+.vis1š2ķ
+.jā1p2n
+.ne1p2n
+.ie1p2n
+.no1p2n
+.pa1p2n
+.pie1p2n
+.sa1p2n
+.uz1p2n
+.aiz1p2n
+.ap1p2n
+.at1p2n
+.bez1p2n
+.pār1p2n
+.iz1p2n
+.eks1p2n
+.vis1p2n
+.jā1s2v
+.ne1s2v
+.ie1s2v
+.no1s2v
+.pa1s2v
+.pie1s2v
+.sa1s2v
+.uz1s2v
+.aiz1s2v
+.ap1s2v
+.at1s2v
+.bez1s2v
+.pār1s2v
+.iz1s2v
+.eks1s2v
+.vis1s2v
+.jā1s2pr
+.ne1s2pr
+.ie1s2pr
+.no1s2pr
+.pa1s2pr
+.pie1s2pr
+.sa1s2pr
+.uz1s2pr
+.aiz1s2pr
+.ap1s2pr
+.at1s2pr
+.bez1s2pr
+.pār1s2pr
+.iz1s2pr
+.eks1s2pr
+.vis1s2pr
+.jā1d2r
+.ne1d2r
+.ie1d2r
+.no1d2r
+.pa1d2r
+.pie1d2r
+.sa1d2r
+.uz1d2r
+.aiz1d2r
+.ap1d2r
+.at1d2r
+.bez1d2r
+.pār1d2r
+.iz1d2r
+.eks1d2r
+.vis1d2r
+.jā1p2l
+.ne1p2l
+.ie1p2l
+.no1p2l
+.pa1p2l
+.pie1p2l
+.sa1p2l
+.uz1p2l
+.aiz1p2l
+.ap1p2l
+.at1p2l
+.bez1p2l
+.pār1p2l
+.iz1p2l
+.eks1p2l
+.vis1p2l
+.jā1d2v
+.ne1d2v
+.ie1d2v
+.no1d2v
+.pa1d2v
+.pie1d2v
+.sa1d2v
+.uz1d2v
+.aiz1d2v
+.ap1d2v
+.at1d2v
+.bez1d2v
+.pār1d2v
+.iz1d2v
+.eks1d2v
+.vis1d2v
+.jā1š2l
+.ne1š2l
+.ie1š2l
+.no1š2l
+.pa1š2l
+.pie1š2l
+.sa1š2l
+.uz1š2l
+.aiz1š2l
+.ap1š2l
+.at1š2l
+.bez1š2l
+.pār1š2l
+.iz1š2l
+.eks1š2l
+.vis1š2l
+.jā1s2k
+.ne1s2k
+.ie1s2k
+.no1s2k
+.pa1s2k
+.pie1s2k
+.sa1s2k
+.uz1s2k
+.aiz1s2k
+.ap1s2k
+.at1s2k
+.bez1s2k
+.pār1s2k
+.iz1s2k
+.eks1s2k
+.vis1s2k
+.jā1s2kv
+.ne1s2kv
+.ie1s2kv
+.no1s2kv
+.pa1s2kv
+.pie1s2kv
+.sa1s2kv
+.uz1s2kv
+.aiz1s2kv
+.ap1s2kv
+.at1s2kv
+.bez1s2kv
+.pār1s2kv
+.iz1s2kv
+.eks1s2kv
+.vis1s2kv
+.jā1k2v
+.ne1k2v
+.ie1k2v
+.no1k2v
+.pa1k2v
+.pie1k2v
+.sa1k2v
+.uz1k2v
+.aiz1k2v
+.ap1k2v
+.at1k2v
+.bez1k2v
+.pār1k2v
+.iz1k2v
+.eks1k2v
+.vis1k2v
+.jā1z2v
+.ne1z2v
+.ie1z2v
+.no1z2v
+.pa1z2v
+.pie1z2v
+.sa1z2v
+.uz1z2v
+.aiz1z2v
+.ap1z2v
+.at1z2v
+.bez1z2v
+.pār1z2v
+.iz1z2v
+.eks1z2v
+.vis1z2v
+.jā1k2s
+.ne1k2s
+.ie1k2s
+.no1k2s
+.pa1k2s
+.pie1k2s
+.sa1k2s
+.uz1k2s
+.aiz1k2s
+.ap1k2s
+.at1k2s
+.bez1k2s
+.pār1k2s
+.iz1k2s
+.eks1k2s
+.vis1k2s
+.jā1p2t
+.ne1p2t
+.ie1p2t
+.no1p2t
+.pa1p2t
+.pie1p2t
+.sa1p2t
+.uz1p2t
+.aiz1p2t
+.ap1p2t
+.at1p2t
+.bez1p2t
+.pār1p2t
+.iz1p2t
+.eks1p2t
+.vis1p2t
+.jā1z2n
+.ne1z2n
+.ie1z2n
+.no1z2n
+.pa1z2n
+.pie1z2n
+.sa1z2n
+.uz1z2n
+.aiz1z2n
+.ap1z2n
+.at1z2n
+.bez1z2n
+.pār1z2n
+.iz1z2n
+.eks1z2n
+.vis1z2n
+.jā1k2r
+.ne1k2r
+.ie1k2r
+.no1k2r
+.pa1k2r
+.pie1k2r
+.sa1k2r
+.uz1k2r
+.aiz1k2r
+.ap1k2r
+.at1k2r
+.bez1k2r
+.pār1k2r
+.iz1k2r
+.eks1k2r
+.vis1k2r
+.jā1s2kr
+.ne1s2kr
+.ie1s2kr
+.no1s2kr
+.pa1s2kr
+.pie1s2kr
+.sa1s2kr
+.uz1s2kr
+.aiz1s2kr
+.ap1s2kr
+.at1s2kr
+.bez1s2kr
+.pār1s2kr
+.iz1s2kr
+.eks1s2kr
+.vis1s2kr
+.jā1f2r
+.ne1f2r
+.ie1f2r
+.no1f2r
+.pa1f2r
+.pie1f2r
+.sa1f2r
+.uz1f2r
+.aiz1f2r
+.ap1f2r
+.at1f2r
+.bez1f2r
+.pār1f2r
+.iz1f2r
+.eks1f2r
+.vis1f2r
+.jā1s2h
+.ne1s2h
+.ie1s2h
+.no1s2h
+.pa1s2h
+.pie1s2h
+.sa1s2h
+.uz1s2h
+.aiz1s2h
+.ap1s2h
+.at1s2h
+.bez1s2h
+.pār1s2h
+.iz1s2h
+.eks1s2h
+.vis1s2h
+.jā1ž2ņ
+.ne1ž2ņ
+.ie1ž2ņ
+.no1ž2ņ
+.pa1ž2ņ
+.pie1ž2ņ
+.sa1ž2ņ
+.uz1ž2ņ
+.aiz1ž2ņ
+.ap1ž2ņ
+.at1ž2ņ
+.bez1ž2ņ
+.pār1ž2ņ
+.iz1ž2ņ
+.eks1ž2ņ
+.vis1ž2ņ
+.jā1d2d
+.ne1d2d
+.ie1d2d
+.no1d2d
+.pa1d2d
+.pie1d2d
+.sa1d2d
+.uz1d2d
+.aiz1d2d
+.ap1d2d
+.at1d2d
+.bez1d2d
+.pār1d2d
+.iz1d2d
+.eks1d2d
+.vis1d2d
+.jā1š2pr
+.ne1š2pr
+.ie1š2pr
+.no1š2pr
+.pa1š2pr
+.pie1š2pr
+.sa1š2pr
+.uz1š2pr
+.aiz1š2pr
+.ap1š2pr
+.at1š2pr
+.bez1š2pr
+.pār1š2pr
+.iz1š2pr
+.eks1š2pr
+.vis1š2pr
+.jā1v2j
+.ne1v2j
+.ie1v2j
+.no1v2j
+.pa1v2j
+.pie1v2j
+.sa1v2j
+.uz1v2j
+.aiz1v2j
+.ap1v2j
+.at1v2j
+.bez1v2j
+.pār1v2j
+.iz1v2j
+.eks1v2j
+.vis1v2j
+.jā1f2j
+.ne1f2j
+.ie1f2j
+.no1f2j
+.pa1f2j
+.pie1f2j
+.sa1f2j
+.uz1f2j
+.aiz1f2j
+.ap1f2j
+.at1f2j
+.bez1f2j
+.pār1f2j
+.iz1f2j
+.eks1f2j
+.vis1f2j
+.jā1p2j
+.ne1p2j
+.ie1p2j
+.no1p2j
+.pa1p2j
+.pie1p2j
+.sa1p2j
+.uz1p2j
+.aiz1p2j
+.ap1p2j
+.at1p2j
+.bez1p2j
+.pār1p2j
+.iz1p2j
+.eks1p2j
+.vis1p2j
+.jā1b2ļ
+.ne1b2ļ
+.ie1b2ļ
+.no1b2ļ
+.pa1b2ļ
+.pie1b2ļ
+.sa1b2ļ
+.uz1b2ļ
+.aiz1b2ļ
+.ap1b2ļ
+.at1b2ļ
+.bez1b2ļ
+.pār1b2ļ
+.iz1b2ļ
+.eks1b2ļ
+.vis1b2ļ
+.jā1g2n
+.ne1g2n
+.ie1g2n
+.no1g2n
+.pa1g2n
+.pie1g2n
+.sa1g2n
+.uz1g2n
+.aiz1g2n
+.ap1g2n
+.at1g2n
+.bez1g2n
+.pār1g2n
+.iz1g2n
+.eks1g2n
+.vis1g2n
+.jā1h2r
+.ne1h2r
+.ie1h2r
+.no1h2r
+.pa1h2r
+.pie1h2r
+.sa1h2r
+.uz1h2r
+.aiz1h2r
+.ap1h2r
+.at1h2r
+.bez1h2r
+.pār1h2r
+.iz1h2r
+.eks1h2r
+.vis1h2r
+.jā1s2n
+.ne1s2n
+.ie1s2n
+.no1s2n
+.pa1s2n
+.pie1s2n
+.sa1s2n
+.uz1s2n
+.aiz1s2n
+.ap1s2n
+.at1s2n
+.bez1s2n
+.pār1s2n
+.iz1s2n
+.eks1s2n
+.vis1s2n
+.jā1ž2m
+.ne1ž2m
+.ie1ž2m
+.no1ž2m
+.pa1ž2m
+.pie1ž2m
+.sa1ž2m
+.uz1ž2m
+.aiz1ž2m
+.ap1ž2m
+.at1ž2m
+.bez1ž2m
+.pār1ž2m
+.iz1ž2m
+.eks1ž2m
+.vis1ž2m
+.jā1d2ž
+.ne1d2ž
+.ie1d2ž
+.no1d2ž
+.pa1d2ž
+.pie1d2ž
+.sa1d2ž
+.uz1d2ž
+.aiz1d2ž
+.ap1d2ž
+.at1d2ž
+.bez1d2ž
+.pār1d2ž
+.iz1d2ž
+.eks1d2ž
+.vis1d2ž
+.jā1k2c
+.ne1k2c
+.ie1k2c
+.no1k2c
+.pa1k2c
+.pie1k2c
+.sa1k2c
+.uz1k2c
+.aiz1k2c
+.ap1k2c
+.at1k2c
+.bez1k2c
+.pār1k2c
+.iz1k2c
+.eks1k2c
+.vis1k2c
+.jā1k2ņ
+.ne1k2ņ
+.ie1k2ņ
+.no1k2ņ
+.pa1k2ņ
+.pie1k2ņ
+.sa1k2ņ
+.uz1k2ņ
+.aiz1k2ņ
+.ap1k2ņ
+.at1k2ņ
+.bez1k2ņ
+.pār1k2ņ
+.iz1k2ņ
+.eks1k2ņ
+.vis1k2ņ
+.jā1š2m
+.ne1š2m
+.ie1š2m
+.no1š2m
+.pa1š2m
+.pie1š2m
+.sa1š2m
+.uz1š2m
+.aiz1š2m
+.ap1š2m
+.at1š2m
+.bez1š2m
+.pār1š2m
+.iz1š2m
+.eks1š2m
+.vis1š2m
+.jā1g2v
+.ne1g2v
+.ie1g2v
+.no1g2v
+.pa1g2v
+.pie1g2v
+.sa1g2v
+.uz1g2v
+.aiz1g2v
+.ap1g2v
+.at1g2v
+.bez1g2v
+.pār1g2v
+.iz1g2v
+.eks1g2v
+.vis1g2v
+.jā1h2l
+.ne1h2l
+.ie1h2l
+.no1h2l
+.pa1h2l
+.pie1h2l
+.sa1h2l
+.uz1h2l
+.aiz1h2l
+.ap1h2l
+.at1h2l
+.bez1h2l
+.pār1h2l
+.iz1h2l
+.eks1h2l
+.vis1h2l
+.jā1k2ļ
+.ne1k2ļ
+.ie1k2ļ
+.no1k2ļ
+.pa1k2ļ
+.pie1k2ļ
+.sa1k2ļ
+.uz1k2ļ
+.aiz1k2ļ
+.ap1k2ļ
+.at1k2ļ
+.bez1k2ļ
+.pār1k2ļ
+.iz1k2ļ
+.eks1k2ļ
+.vis1k2ļ
+.jā1s2l
+.ne1s2l
+.ie1s2l
+.no1s2l
+.pa1s2l
+.pie1s2l
+.sa1s2l
+.uz1s2l
+.aiz1s2l
+.ap1s2l
+.at1s2l
+.bez1s2l
+.pār1s2l
+.iz1s2l
+.eks1s2l
+.vis1s2l
+.jā1t2v
+.ne1t2v
+.ie1t2v
+.no1t2v
+.pa1t2v
+.pie1t2v
+.sa1t2v
+.uz1t2v
+.aiz1t2v
+.ap1t2v
+.at1t2v
+.bez1t2v
+.pār1t2v
+.iz1t2v
+.eks1t2v
+.vis1t2v
+.jā1š2ņ
+.ne1š2ņ
+.ie1š2ņ
+.no1š2ņ
+.pa1š2ņ
+.pie1š2ņ
+.sa1š2ņ
+.uz1š2ņ
+.aiz1š2ņ
+.ap1š2ņ
+.at1š2ņ
+.bez1š2ņ
+.pār1š2ņ
+.iz1š2ņ
+.eks1š2ņ
+.vis1š2ņ
+.jā1š2p
+.ne1š2p
+.ie1š2p
+.no1š2p
+.pa1š2p
+.pie1š2p
+.sa1š2p
+.uz1š2p
+.aiz1š2p
+.ap1š2p
+.at1š2p
+.bez1š2p
+.pār1š2p
+.iz1š2p
+.eks1š2p
+.vis1š2p
+.jā1d2z
+.ne1d2z
+.ie1d2z
+.no1d2z
+.pa1d2z
+.pie1d2z
+.sa1d2z
+.uz1d2z
+.aiz1d2z
+.ap1d2z
+.at1d2z
+.bez1d2z
+.pār1d2z
+.iz1d2z
+.eks1d2z
+.vis1d2z
+.jā1f2l
+.ne1f2l
+.ie1f2l
+.no1f2l
+.pa1f2l
+.pie1f2l
+.sa1f2l
+.uz1f2l
+.aiz1f2l
+.ap1f2l
+.at1f2l
+.bez1f2l
+.pār1f2l
+.iz1f2l
+.eks1f2l
+.vis1f2l
+.jā1k2n
+.ne1k2n
+.ie1k2n
+.no1k2n
+.pa1k2n
+.pie1k2n
+.sa1k2n
+.uz1k2n
+.aiz1k2n
+.ap1k2n
+.at1k2n
+.bez1k2n
+.pār1k2n
+.iz1k2n
+.eks1k2n
+.vis1k2n
+.jā1p2ļ
+.ne1p2ļ
+.ie1p2ļ
+.no1p2ļ
+.pa1p2ļ
+.pie1p2ļ
+.sa1p2ļ
+.uz1p2ļ
+.aiz1p2ļ
+.ap1p2ļ
+.at1p2ļ
+.bez1p2ļ
+.pār1p2ļ
+.iz1p2ļ
+.eks1p2ļ
+.vis1p2ļ
+.jā1s2pļ
+.ne1s2pļ
+.ie1s2pļ
+.no1s2pļ
+.pa1s2pļ
+.pie1s2pļ
+.sa1s2pļ
+.uz1s2pļ
+.aiz1s2pļ
+.ap1s2pļ
+.at1s2pļ
+.bez1s2pļ
+.pār1s2pļ
+.iz1s2pļ
+.eks1s2pļ
+.vis1s2pļ
+.jā1s2kl
+.ne1s2kl
+.ie1s2kl
+.no1s2kl
+.pa1s2kl
+.pie1s2kl
+.sa1s2kl
+.uz1s2kl
+.aiz1s2kl
+.ap1s2kl
+.at1s2kl
+.bez1s2kl
+.pār1s2kl
+.iz1s2kl
+.eks1s2kl
+.vis1s2kl
+.jā1k2b
+.ne1k2b
+.ie1k2b
+.no1k2b
+.pa1k2b
+.pie1k2b
+.sa1k2b
+.uz1k2b
+.aiz1k2b
+.ap1k2b
+.at1k2b
+.bez1k2b
+.pār1k2b
+.iz1k2b
+.eks1k2b
+.vis1k2b
+.jā1s2m
+.ne1s2m
+.ie1s2m
+.no1s2m
+.pa1s2m
+.pie1s2m
+.sa1s2m
+.uz1s2m
+.aiz1s2m
+.ap1s2m
+.at1s2m
+.bez1s2m
+.pār1s2m
+.iz1s2m
+.eks1s2m
+.vis1s2m
+.jā1m2n
+.ne1m2n
+.ie1m2n
+.no1m2n
+.pa1m2n
+.pie1m2n
+.sa1m2n
+.uz1m2n
+.aiz1m2n
+.ap1m2n
+.at1m2n
+.bez1m2n
+.pār1m2n
+.iz1m2n
+.eks1m2n
+.vis1m2n
+.jā1š2n
+.ne1š2n
+.ie1š2n
+.no1š2n
+.pa1š2n
+.pie1š2n
+.sa1š2n
+.uz1š2n
+.aiz1š2n
+.ap1š2n
+.at1š2n
+.bez1š2n
+.pār1š2n
+.iz1š2n
+.eks1š2n
+.vis1š2n
+.jā1v2r
+.ne1v2r
+.ie1v2r
+.no1v2r
+.pa1v2r
+.pie1v2r
+.sa1v2r
+.uz1v2r
+.aiz1v2r
+.ap1v2r
+.at1v2r
+.bez1v2r
+.pār1v2r
+.iz1v2r
+.eks1v2r
+.vis1v2r
+.jā1b2l
+.ne1b2l
+.ie1b2l
+.no1b2l
+.pa1b2l
+.pie1b2l
+.sa1b2l
+.uz1b2l
+.aiz1b2l
+.ap1b2l
+.at1b2l
+.bez1b2l
+.pār1b2l
+.iz1b2l
+.eks1b2l
+.vis1b2l
+2b3dams.
+2c3dams.
+2č3dams.
+2d3dams.
+2f3dams.
+2g3dams.
+2ģ3dams.
+2h3dams.
+2j3dams.
+2k3dams.
+2ķ3dams.
+2l3dams.
+2ļ3dams.
+2m3dams.
+2n3dams.
+2ņ3dams.
+2p3dams.
+2r3dams.
+2s3dams.
+2š3dams.
+2t3dams.
+2v3dams.
+2z3dams.
+2ž3dams.
+2b3da3ma.
+2c3da3ma.
+2č3da3ma.
+2d3da3ma.
+2f3da3ma.
+2g3da3ma.
+2ģ3da3ma.
+2h3da3ma.
+2j3da3ma.
+2k3da3ma.
+2ķ3da3ma.
+2l3da3ma.
+2ļ3da3ma.
+2m3da3ma.
+2n3da3ma.
+2ņ3da3ma.
+2p3da3ma.
+2r3da3ma.
+2s3da3ma.
+2š3da3ma.
+2t3da3ma.
+2v3da3ma.
+2z3da3ma.
+2ž3da3ma.
+2b3da3mies.
+2c3da3mies.
+2č3da3mies.
+2d3da3mies.
+2f3da3mies.
+2g3da3mies.
+2ģ3da3mies.
+2h3da3mies.
+2j3da3mies.
+2k3da3mies.
+2ķ3da3mies.
+2l3da3mies.
+2ļ3da3mies.
+2m3da3mies.
+2n3da3mies.
+2ņ3da3mies.
+2p3da3mies.
+2r3da3mies.
+2s3da3mies.
+2š3da3mies.
+2t3da3mies.
+2v3da3mies.
+2z3da3mies.
+2ž3da3mies.
+2b3da3mās.
+2c3da3mās.
+2č3da3mās.
+2d3da3mās.
+2f3da3mās.
+2g3da3mās.
+2ģ3da3mās.
+2h3da3mās.
+2j3da3mās.
+2k3da3mās.
+2ķ3da3mās.
+2l3da3mās.
+2ļ3da3mās.
+2m3da3mās.
+2n3da3mās.
+2ņ3da3mās.
+2p3da3mās.
+2r3da3mās.
+2s3da3mās.
+2š3da3mās.
+2t3da3mās.
+2v3da3mās.
+2z3da3mās.
+2ž3da3mās.
+2b3gans.
+2c3gans.
+2č3gans.
+2d3gans.
+2f3gans.
+2g3gans.
+2ģ3gans.
+2h3gans.
+2j3gans.
+2k3gans.
+2ķ3gans.
+2l3gans.
+2ļ3gans.
+2m3gans.
+2n3gans.
+2ņ3gans.
+2p3gans.
+2r3gans.
+2s3gans.
+2š3gans.
+2t3gans.
+2v3gans.
+2z3gans.
+2ž3gans.
+2b3ga3na.
+2c3ga3na.
+2č3ga3na.
+2d3ga3na.
+2f3ga3na.
+2g3ga3na.
+2ģ3ga3na.
+2h3ga3na.
+2j3ga3na.
+2k3ga3na.
+2ķ3ga3na.
+2l3ga3na.
+2ļ3ga3na.
+2m3ga3na.
+2n3ga3na.
+2ņ3ga3na.
+2p3ga3na.
+2r3ga3na.
+2s3ga3na.
+2š3ga3na.
+2t3ga3na.
+2v3ga3na.
+2z3ga3na.
+2ž3ga3na.
+2b3nieks.
+2c3nieks.
+2č3nieks.
+2d3nieks.
+2f3nieks.
+2g3nieks.
+2ģ3nieks.
+2h3nieks.
+2j3nieks.
+2k3nieks.
+2ķ3nieks.
+2l3nieks.
+2ļ3nieks.
+2m3nieks.
+2n3nieks.
+2ņ3nieks.
+2p3nieks.
+2r3nieks.
+2s3nieks.
+2š3nieks.
+2t3nieks.
+2v3nieks.
+2z3nieks.
+2ž3nieks.
+2b3nie3ce.
+2c3nie3ce.
+2č3nie3ce.
+2d3nie3ce.
+2f3nie3ce.
+2g3nie3ce.
+2ģ3nie3ce.
+2h3nie3ce.
+2j3nie3ce.
+2k3nie3ce.
+2ķ3nie3ce.
+2l3nie3ce.
+2ļ3nie3ce.
+2m3nie3ce.
+2n3nie3ce.
+2ņ3nie3ce.
+2p3nie3ce.
+2r3nie3ce.
+2s3nie3ce.
+2š3nie3ce.
+2t3nie3ce.
+2v3nie3ce.
+2z3nie3ce.
+2ž3nie3ce.
+2b3nī3ca.
+2c3nī3ca.
+2č3nī3ca.
+2d3nī3ca.
+2f3nī3ca.
+2g3nī3ca.
+2ģ3nī3ca.
+2h3nī3ca.
+2j3nī3ca.
+2k3nī3ca.
+2ķ3nī3ca.
+2l3nī3ca.
+2ļ3nī3ca.
+2m3nī3ca.
+2n3nī3ca.
+2ņ3nī3ca.
+2p3nī3ca.
+2r3nī3ca.
+2s3nī3ca.
+2š3nī3ca.
+2t3nī3ca.
+2v3nī3ca.
+2z3nī3ca.
+2ž3nī3ca.
+2b3ša3na.
+2c3ša3na.
+2č3ša3na.
+2d3ša3na.
+2f3ša3na.
+2g3ša3na.
+2ģ3ša3na.
+2h3ša3na.
+2j3ša3na.
+2k3ša3na.
+2ķ3ša3na.
+2l3ša3na.
+2ļ3ša3na.
+2m3ša3na.
+2n3ša3na.
+2ņ3ša3na.
+2p3ša3na.
+2r3ša3na.
+2s3ša3na.
+2š3ša3na.
+2t3ša3na.
+2v3ša3na.
+2z3ša3na.
+2ž3ša3na.
+2b3ša3nās.
+2c3ša3nās.
+2č3ša3nās.
+2d3ša3nās.
+2f3ša3nās.
+2g3ša3nās.
+2ģ3ša3nās.
+2h3ša3nās.
+2j3ša3nās.
+2k3ša3nās.
+2ķ3ša3nās.
+2l3ša3nās.
+2ļ3ša3nās.
+2m3ša3nās.
+2n3ša3nās.
+2ņ3ša3nās.
+2p3ša3nās.
+2r3ša3nās.
+2s3ša3nās.
+2š3ša3nās.
+2t3ša3nās.
+2v3ša3nās.
+2z3ša3nās.
+2ž3ša3nās.
+2b3ta3la.
+2c3ta3la.
+2č3ta3la.
+2d3ta3la.
+2f3ta3la.
+2g3ta3la.
+2ģ3ta3la.
+2h3ta3la.
+2j3ta3la.
+2k3ta3la.
+2ķ3ta3la.
+2l3ta3la.
+2ļ3ta3la.
+2m3ta3la.
+2n3ta3la.
+2ņ3ta3la.
+2p3ta3la.
+2r3ta3la.
+2s3ta3la.
+2š3ta3la.
+2t3ta3la.
+2v3ta3la.
+2z3ta3la.
+2ž3ta3la.
+2b3tu3ve.
+2c3tu3ve.
+2č3tu3ve.
+2d3tu3ve.
+2f3tu3ve.
+2g3tu3ve.
+2ģ3tu3ve.
+2h3tu3ve.
+2j3tu3ve.
+2k3tu3ve.
+2ķ3tu3ve.
+2l3tu3ve.
+2ļ3tu3ve.
+2m3tu3ve.
+2n3tu3ve.
+2ņ3tu3ve.
+2p3tu3ve.
+2r3tu3ve.
+2s3tu3ve.
+2š3tu3ve.
+2t3tu3ve.
+2v3tu3ve.
+2z3tu3ve.
+2ž3tu3ve.
+.jā3a2
+.ne3a2
+.ie3a2
+.no3a2
+.pa3a2
+.pie3a2
+.sa3a2
+.uz3a2
+.aiz3a2
+.ap3a2
+.at3a2
+.bez3a2
+.pār3a2
+.iz3a2
+.eks3a2
+.vis3a2
+.jā3ā2
+.ne3ā2
+.ie3ā2
+.no3ā2
+.pa3ā2
+.pie3ā2
+.sa3ā2
+.uz3ā2
+.aiz3ā2
+.ap3ā2
+.at3ā2
+.bez3ā2
+.pār3ā2
+.iz3ā2
+.eks3ā2
+.vis3ā2
+.jā3e2
+.ne3e2
+.ie3e2
+.no3e2
+.pa3e2
+.pie3e2
+.sa3e2
+.uz3e2
+.aiz3e2
+.ap3e2
+.at3e2
+.bez3e2
+.pār3e2
+.iz3e2
+.eks3e2
+.vis3e2
+.jā3ē2
+.ne3ē2
+.ie3ē2
+.no3ē2
+.pa3ē2
+.pie3ē2
+.sa3ē2
+.uz3ē2
+.aiz3ē2
+.ap3ē2
+.at3ē2
+.bez3ē2
+.pār3ē2
+.iz3ē2
+.eks3ē2
+.vis3ē2
+.jā3i2
+.ne3i2
+.ie3i2
+.no3i2
+.pa3i2
+.pie3i2
+.sa3i2
+.uz3i2
+.aiz3i2
+.ap3i2
+.at3i2
+.bez3i2
+.pār3i2
+.iz3i2
+.eks3i2
+.vis3i2
+.jā3ī2
+.ne3ī2
+.ie3ī2
+.no3ī2
+.pa3ī2
+.pie3ī2
+.sa3ī2
+.uz3ī2
+.aiz3ī2
+.ap3ī2
+.at3ī2
+.bez3ī2
+.pār3ī2
+.iz3ī2
+.eks3ī2
+.vis3ī2
+.jā3o2
+.ne3o2
+.ie3o2
+.no3o2
+.pa3o2
+.pie3o2
+.sa3o2
+.uz3o2
+.aiz3o2
+.ap3o2
+.at3o2
+.bez3o2
+.pār3o2
+.iz3o2
+.eks3o2
+.vis3o2
+.jā3u2
+.ne3u2
+.ie3u2
+.no3u2
+.pa3u2
+.pie3u2
+.sa3u2
+.uz3u2
+.aiz3u2
+.ap3u2
+.at3u2
+.bez3u2
+.pār3u2
+.iz3u2
+.eks3u2
+.vis3u2
+.jā3ū2
+.ne3ū2
+.ie3ū2
+.no3ū2
+.pa3ū2
+.pie3ū2
+.sa3ū2
+.uz3ū2
+.aiz3ū2
+.ap3ū2
+.at3ū2
+.bez3ū2
+.pār3ū2
+.iz3ū2
+.eks3ū2
+.vis3ū2
+.jā3ie1
+.jā3iz1
+.jā3no1
+.ne3aiz1
+.ne3ap1
+.ne3ie1
+.ne3at1
+.ne3in1
+.ne3iz1
+.ne3sa
+.ne3uz1
+.priek2š1
+4d5ze1me
+.tur2p1m
+il2k1tie
+.spil2g1t
+mē1ne2š1
+1pa1d2smit
+g2š1gal
+k2š1gal
+tran2s
+1port
+vēs2t1n
+vēs2t1k
+pa2t3stā
+pa2s2t3k
+pa2s2t3m
+pa2s2t2s.
+pa2r2k2s.
+pa2r3ket
+sa2ls.
+sa2lds.
+sa2l2d1
+pir2m1r
+pir2m1k
+pir2m2s1
+ot2r1r2
+ot2r1k2
+ir2k3l
+ir2k3ļ
+.adā2m3
+.ai4z5
+ak3me4ņ3
+apak2š3
+ap1au
+kār2t3n
+aug2s2t3
+.at3e2j
+bal2t3ma
+.vie2n1} \ No newline at end of file
diff --git a/tex/context/patterns/lang-lv.rme b/tex/context/patterns/lang-lv.rme
new file mode 100644
index 000000000..3f5b4e021
--- /dev/null
+++ b/tex/context/patterns/lang-lv.rme
@@ -0,0 +1,19 @@
+% generated by mtxrun --script pattern --convert
+
+Latvian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
+% This file is part if hyph-utf8 package and resulted from semi-manual
+% conversions of hyphenation patterns into UTF-8 in November 2008 by Mojca &
+% Arthur.
+%
+% This file is available under the term of the GNU GPL, version 2.
+%
+% Source: Latvian Lingucomponents for OpenOffice
+% Homepage: http://sourceforge.net/projects/openoffice-lv
+% File: hyph_lv_lv.dic (version 0.3, 2005-09-14)
+% Author: Copyright (C) 2004-2005 Janis Vilims, jvilims@apollo.lv
+% License: Lesser General Public Licence (LGPL) 2.1
+%
+
diff --git a/tex/context/patterns/lang-mn.lua b/tex/context/patterns/lang-mn.lua
index b041efeff..67703267d 100644
--- a/tex/context/patterns/lang-mn.lua
+++ b/tex/context/patterns/lang-mn.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="mn",
- ["source"]="hyph-mn-cyrl.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-mn-cyrl",
+ ["texcomment"]="% (New) Mongolian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: mnhyphn.tex (2008-03-30)\
diff --git a/tex/context/patterns/lang-mn.rme b/tex/context/patterns/lang-mn.rme
index 338ec58fc..c00688f3a 100644
--- a/tex/context/patterns/lang-mn.rme
+++ b/tex/context/patterns/lang-mn.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+(New) Mongolian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -83,4 +87,4 @@
% 2. In the case of hardsign or softsign, it's possible to hyphen after these signs.
% For instance, байгуулъ-я, үзүүль-е
% 3. However one vowel can be belong to a syllable, it's not possible to use hyphen.
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-nb.hyp b/tex/context/patterns/lang-nb.hyp
index cc740c930..fabde8319 100644
--- a/tex/context/patterns/lang-nb.hyp
+++ b/tex/context/patterns/lang-nb.hyp
@@ -2,51 +2,8 @@
% for comment and copyright, see e:/tmp/patterns/lang-nb.rme
-% used: D N S a b c d e f g h i j k l m n o p r s t u v w y z å æ ø ü
+% used: a b d e n r t
\hyphenation{
-atten-de
-aust-røn
-aviser
-betre
-bortan-for
-bortre
-Dansk-øya
-der-etter
-dess-uak-tet
-dit-over
-finger-spitzen-ge-fühl
-finger-spitz-ge-fühl
-fram-ifrå
-før-enn
-her-etter
-her-etter-dags
-hvor-etter
-hvor-over
-høyt-ærede
-gi-vet-vis
-lands-øl
-lands-ølet
-lands-ølets
-langt-ifra
-ned-imot
-noens
-Not-odden
-Not-oddens
-nøye-reg-nen-de
-opp-imot
-oven-ikjøpet
-promp-te
-spleen
-sel-ves-te
-smal-enden
-sørpe-is
-sørpe-isen
-skrov-is
-skrov-isen
-Steins-land
-syd-enden
-tvert-om
-velan
-velet
-welt-schmerz} \ No newline at end of file
+at-ten-de
+be-tre} \ No newline at end of file
diff --git a/tex/context/patterns/lang-nb.lua b/tex/context/patterns/lang-nb.lua
index f5bdd3b6c..e49810691 100644
--- a/tex/context/patterns/lang-nb.lua
+++ b/tex/context/patterns/lang-nb.lua
@@ -1,14 +1,18 @@
return {
["comment"]="% generated by mtxrun --script pattern --convert",
["exceptions"]={
- ["characters"]="DNSabcdefghijklmnoprstuvwyzåæøü",
- ["data"]="atten-de aust-røn aviser betre bortan-for bortre Dansk-øya der-etter dess-uak-tet dit-over finger-spitzen-ge-fühl finger-spitz-ge-fühl fram-ifrå før-enn her-etter her-etter-dags hvor-etter hvor-over høyt-ærede gi-vet-vis lands-øl lands-ølet lands-ølets langt-ifra ned-imot noens Not-odden Not-oddens nøye-reg-nen-de opp-imot oven-ikjøpet promp-te spleen sel-ves-te smal-enden sørpe-is sørpe-isen skrov-is skrov-isen Steins-land syd-enden tvert-om velan velet welt-schmerz",
- ["n"]=45,
+ ["characters"]="abdenrt",
+ ["data"]="at-ten-de be-tre",
+ ["n"]=2,
},
["metadata"]={
["mnemonic"]="nb",
- ["source"]="hyph-nb.tex",
- ["texcomment"]="% Adapted to the new pattern-loading scheme.\
+ ["source"]="hyph-nb",
+ ["texcomment"]="% Norwegian Bokmal Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% Adapted to the new pattern-loading scheme.\
% Original file name was nbhyph.tex\
% \
% TeX hyphenation patterns for Norwegian Bokmal\
@@ -34,111 +38,12 @@ return {
% Please send bugs or suggestions to karl@huftis.org.\
%\
% \
-% This file is part of hyph-utf8 package and resulted from\
-% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
-%\
-% Source: nohyphbx.tex (2007-02-07)\
-% Author:\
-%\
-% The above mentioned file should become obsolete,\
-% and the author of the original file should preferaby modify this file instead.\
-%\
-% Modificatios were needed in order to support native UTF-8 engines,\
-% but functionality (hopefully) didn't change in any way, at least not intentionally.\
-% This file is no longer stand-alone; at least for 8-bit engines\
-% you probably want to use loadhyph-foo.tex (which will load this file) instead.\
-%\
-% Modifications were done by Jonathan Kew, Mojca Miklavec & Arthur Reutenauer\
-% with help & support from:\
-% - Karl Berry, who gave us free hands and all resources\
-% - Taco Hoekwater, with useful macros\
-% - Hans Hagen, who did the unicodifisation of patterns already long before\
-% and helped with testing, suggestions and bug reports\
-% - Norbert Preining, who tested & integrated patterns into TeX Live\
-%\
-% However, the \"copyright/copyleft\" owner of patterns remains the original author.\
-%\
-% The copyright statement of this file is thus:\
-%\
-% Do with this file whatever needs to be done in future for the sake of\
-% \"a better world\" as long as you respect the copyright of original file.\
-% If you're the original author of patterns or taking over a new revolution,\
-% plese remove all of the TUG comments & credits that we added here -\
-% you are the Queen / the King, we are only the servants.\
-%\
-% If you want to change this file, rather than uploading directly to CTAN,\
-% we would be grateful if you could send it to us (http://tug.org/tex-hyphen)\
-% or ask for credentials for SVN repository and commit it yourself;\
-% we will then upload the whole \"package\" to CTAN.\
-%\
-% Before a new \"pattern-revolution\" starts,\
-% please try to follow some guidelines if possible:\
-%\
-% - \\lccode is *forbidden*, and I really mean it\
-% - all the patterns should be in UTF-8\
-% - the only \"allowed\" TeX commands in this file are: \\patterns, \\hyphenation,\
-% and if you really cannot do without, also \\input and \\message\
-% - in particular, please no \\catcode or \\lccode changes,\
-% they belong to loadhyph-foo.tex,\
-% and no \\lefthyphenmin and \\righthyphenmin,\
-% they have no influence here and belong elsewhere\
-% - \\begingroup and/or \\endinput is not needed\
-% - feel free to do whatever you want inside comments\
-%\
-% We know that TeX is extremely powerful, but give a stupid parser\
-% at least a chance to read your patterns.\
-%\
-% For more unformation see\
-%\
-% http://tug.org/tex-hyphen\
-%\
-%------------------------------------------------------------------------------\
-%\
-% TeX hyphenation patterns for Norwegian\
-%\
-% version of 2007-02-07.\
-% Patterns of January 25, 2005, with later additions and changes\
-%\
-% Copyright (C) 2004, 2005 Rune Kleveland, Ole Michael Selberg.\
-% Copying and distribution of this file, with or without modification,\
-% are permitted in any medium without royalty provided the copyright\
-% notice and this notice are preserved.\
-%\
-% Please send bugs or suggestions to tex-live (at) tug.org.\
-%\
-% Originally generated by a script written by Rune Kleveland\
-% from dictionaries available from\
-% http://folk.uio.no/runekl/dictionary.html.\
-%\
-% Adjusted manually by Ole Michael Selberg to prevent\
-% numerous wrong hyphenations, especially in compounds.\
-%\
-% Changes from the former version of 2005-06-29:\
-% 388 new patterns. Some old patterns have been deleted or changed.\
-%\
-% In Kleveland's nohyphb.tex there are 26017 patterns.\
-% This version of the revised nohyphbx.tex contains 27149 patterns\
-% --- plus 45 exceptions in the \\hyphenation-list\
-% (which you may change to suit your personal needs).\
-%\
-% To load these hyphenation patterns the parameters\
-% of TeX must have the following minimum values:\
-% trie_size = 33385\
-% trie_op_size = 815\
-% (The corresponding values for nohyphb.tex are\
-% trie_size = 31900 trie_op_size = 636)\
-% If you want to load more than one set of hyphenation\
-% patterns the parameters have to be set to a value\
-% larger than or equal to the sum of all required values\
-% for each set.\
-%\
-% Notes on other Norwegian hyphenation pattern files, from Dag Langmyhr,\
-% tex-live mail of 29 Jun 2005 11:26:21 +0200.\
-% nohyph.tex -- manually created by Ivar Aavatsmark and others;\
-% hyphenate according to pre-1973 rules; no longer recommended for use.\
-% (Sometimes also known as nohyph1.tex.)\
-% nohyph2.tex -- created by Dag and a student; the present file,\
-% nohyphbx.tex, is more extensive and is recommended.\
+% \\input hyph-no.tex\
+% \
+% \\hyphenation{\
+% at-ten-de\
+% be-tre\
+% }\
% ",
},
["patterns"]={
diff --git a/tex/context/patterns/lang-nb.rme b/tex/context/patterns/lang-nb.rme
index 48bfa041a..0f15b9134 100644
--- a/tex/context/patterns/lang-nb.rme
+++ b/tex/context/patterns/lang-nb.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Norwegian Bokmal Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% Adapted to the new pattern-loading scheme.
% Original file name was nbhyph.tex
@@ -26,109 +30,10 @@
% Please send bugs or suggestions to karl@huftis.org.
%
-% This file is part of hyph-utf8 package and resulted from
-% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
-%
-% Source: nohyphbx.tex (2007-02-07)
-% Author:
-%
-% The above mentioned file should become obsolete,
-% and the author of the original file should preferaby modify this file instead.
-%
-% Modificatios were needed in order to support native UTF-8 engines,
-% but functionality (hopefully) didn't change in any way, at least not intentionally.
-% This file is no longer stand-alone; at least for 8-bit engines
-% you probably want to use loadhyph-foo.tex (which will load this file) instead.
-%
-% Modifications were done by Jonathan Kew, Mojca Miklavec & Arthur Reutenauer
-% with help & support from:
-% - Karl Berry, who gave us free hands and all resources
-% - Taco Hoekwater, with useful macros
-% - Hans Hagen, who did the unicodifisation of patterns already long before
-% and helped with testing, suggestions and bug reports
-% - Norbert Preining, who tested & integrated patterns into TeX Live
-%
-% However, the "copyright/copyleft" owner of patterns remains the original author.
-%
-% The copyright statement of this file is thus:
-%
-% Do with this file whatever needs to be done in future for the sake of
-% "a better world" as long as you respect the copyright of original file.
-% If you're the original author of patterns or taking over a new revolution,
-% plese remove all of the TUG comments & credits that we added here -
-% you are the Queen / the King, we are only the servants.
-%
-% If you want to change this file, rather than uploading directly to CTAN,
-% we would be grateful if you could send it to us (http://tug.org/tex-hyphen)
-% or ask for credentials for SVN repository and commit it yourself;
-% we will then upload the whole "package" to CTAN.
-%
-% Before a new "pattern-revolution" starts,
-% please try to follow some guidelines if possible:
-%
-% - \lccode is *forbidden*, and I really mean it
-% - all the patterns should be in UTF-8
-% - the only "allowed" TeX commands in this file are: \patterns, \hyphenation,
-% and if you really cannot do without, also \input and \message
-% - in particular, please no \catcode or \lccode changes,
-% they belong to loadhyph-foo.tex,
-% and no \lefthyphenmin and \righthyphenmin,
-% they have no influence here and belong elsewhere
-% - \begingroup and/or \endinput is not needed
-% - feel free to do whatever you want inside comments
-%
-% We know that TeX is extremely powerful, but give a stupid parser
-% at least a chance to read your patterns.
-%
-% For more unformation see
-%
-% http://tug.org/tex-hyphen
-%
-%------------------------------------------------------------------------------
-%
-% TeX hyphenation patterns for Norwegian
-%
-% version of 2007-02-07.
-% Patterns of January 25, 2005, with later additions and changes
-%
-% Copyright (C) 2004, 2005 Rune Kleveland, Ole Michael Selberg.
-% Copying and distribution of this file, with or without modification,
-% are permitted in any medium without royalty provided the copyright
-% notice and this notice are preserved.
-%
-% Please send bugs or suggestions to tex-live (at) tug.org.
-%
-% Originally generated by a script written by Rune Kleveland
-% from dictionaries available from
-% http://folk.uio.no/runekl/dictionary.html.
-%
-% Adjusted manually by Ole Michael Selberg to prevent
-% numerous wrong hyphenations, especially in compounds.
-%
-% Changes from the former version of 2005-06-29:
-% 388 new patterns. Some old patterns have been deleted or changed.
-%
-% In Kleveland's nohyphb.tex there are 26017 patterns.
-% This version of the revised nohyphbx.tex contains 27149 patterns
-% --- plus 45 exceptions in the \hyphenation-list
-% (which you may change to suit your personal needs).
-%
-% To load these hyphenation patterns the parameters
-% of TeX must have the following minimum values:
-% trie_size = 33385
-% trie_op_size = 815
-% (The corresponding values for nohyphb.tex are
-% trie_size = 31900 trie_op_size = 636)
-% If you want to load more than one set of hyphenation
-% patterns the parameters have to be set to a value
-% larger than or equal to the sum of all required values
-% for each set.
-%
-% Notes on other Norwegian hyphenation pattern files, from Dag Langmyhr,
-% tex-live mail of 29 Jun 2005 11:26:21 +0200.
-% nohyph.tex -- manually created by Ivar Aavatsmark and others;
-% hyphenate according to pre-1973 rules; no longer recommended for use.
-% (Sometimes also known as nohyph1.tex.)
-% nohyph2.tex -- created by Dag and a student; the present file,
-% nohyphbx.tex, is more extensive and is recommended.
-% \ No newline at end of file
+\input hyph-no.tex
+
+\hyphenation{
+at-ten-de
+be-tre
+}
+
diff --git a/tex/context/patterns/lang-nl.lua b/tex/context/patterns/lang-nl.lua
index 70a12b997..cf3b08c77 100644
--- a/tex/context/patterns/lang-nl.lua
+++ b/tex/context/patterns/lang-nl.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="nl",
- ["source"]="hyph-nl.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-nl",
+ ["texcomment"]="% Dutch Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: nehyph96.tex (yyyy-mm-dd)\
diff --git a/tex/context/patterns/lang-nl.rme b/tex/context/patterns/lang-nl.rme
index 9b3a852ab..daa80ef2f 100644
--- a/tex/context/patterns/lang-nl.rme
+++ b/tex/context/patterns/lang-nl.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Dutch Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -95,4 +99,4 @@
% VERSION: 1.1 (November 1996) Copyright changed March 2000
%
% AUTHOR: Piet Tutelaers P.T.H.Tutelaers@tue.nl
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-nn.hyp b/tex/context/patterns/lang-nn.hyp
index 0b30104cd..eff3ce1cc 100644
--- a/tex/context/patterns/lang-nn.hyp
+++ b/tex/context/patterns/lang-nn.hyp
@@ -2,51 +2,8 @@
% for comment and copyright, see e:/tmp/patterns/lang-nn.rme
-% used: D N S a b c d e f g h i j k l m n o p r s t u v w y z å æ ø ü
+% used: a b d e n r t
\hyphenation{
-atten-de
-aust-røn
-aviser
-betre
-bortan-for
-bortre
-Dansk-øya
-der-etter
-dess-uak-tet
-dit-over
-finger-spitzen-ge-fühl
-finger-spitz-ge-fühl
-fram-ifrå
-før-enn
-her-etter
-her-etter-dags
-hvor-etter
-hvor-over
-høyt-ærede
-gi-vet-vis
-lands-øl
-lands-ølet
-lands-ølets
-langt-ifra
-ned-imot
-noens
-Not-odden
-Not-oddens
-nøye-reg-nen-de
-opp-imot
-oven-ikjøpet
-promp-te
-spleen
-sel-ves-te
-smal-enden
-sørpe-is
-sørpe-isen
-skrov-is
-skrov-isen
-Steins-land
-syd-enden
-tvert-om
-velan
-velet
-welt-schmerz} \ No newline at end of file
+att-en-de
+bet-re} \ No newline at end of file
diff --git a/tex/context/patterns/lang-nn.lua b/tex/context/patterns/lang-nn.lua
index 6a00320da..d979ec1c2 100644
--- a/tex/context/patterns/lang-nn.lua
+++ b/tex/context/patterns/lang-nn.lua
@@ -1,14 +1,18 @@
return {
["comment"]="% generated by mtxrun --script pattern --convert",
["exceptions"]={
- ["characters"]="DNSabcdefghijklmnoprstuvwyzåæøü",
- ["data"]="atten-de aust-røn aviser betre bortan-for bortre Dansk-øya der-etter dess-uak-tet dit-over finger-spitzen-ge-fühl finger-spitz-ge-fühl fram-ifrå før-enn her-etter her-etter-dags hvor-etter hvor-over høyt-ærede gi-vet-vis lands-øl lands-ølet lands-ølets langt-ifra ned-imot noens Not-odden Not-oddens nøye-reg-nen-de opp-imot oven-ikjøpet promp-te spleen sel-ves-te smal-enden sørpe-is sørpe-isen skrov-is skrov-isen Steins-land syd-enden tvert-om velan velet welt-schmerz",
- ["n"]=45,
+ ["characters"]="abdenrt",
+ ["data"]="att-en-de bet-re",
+ ["n"]=2,
},
["metadata"]={
["mnemonic"]="nn",
- ["source"]="hyph-nn.tex",
- ["texcomment"]="% Adapted to the new pattern-loading scheme.\
+ ["source"]="hyph-nn",
+ ["texcomment"]="% Norwegian Nynorsk Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% Adapted to the new pattern-loading scheme.\
% Original file name was nnhyph.tex\
% \
% TeX hyphenation patterns for Norwegian Nynorsk\
@@ -34,111 +38,12 @@ return {
% Please send bugs or suggestions to karl@huftis.org.\
%\
% \
-% This file is part of hyph-utf8 package and resulted from\
-% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
-%\
-% Source: nohyphbx.tex (2007-02-07)\
-% Author:\
-%\
-% The above mentioned file should become obsolete,\
-% and the author of the original file should preferaby modify this file instead.\
-%\
-% Modificatios were needed in order to support native UTF-8 engines,\
-% but functionality (hopefully) didn't change in any way, at least not intentionally.\
-% This file is no longer stand-alone; at least for 8-bit engines\
-% you probably want to use loadhyph-foo.tex (which will load this file) instead.\
-%\
-% Modifications were done by Jonathan Kew, Mojca Miklavec & Arthur Reutenauer\
-% with help & support from:\
-% - Karl Berry, who gave us free hands and all resources\
-% - Taco Hoekwater, with useful macros\
-% - Hans Hagen, who did the unicodifisation of patterns already long before\
-% and helped with testing, suggestions and bug reports\
-% - Norbert Preining, who tested & integrated patterns into TeX Live\
-%\
-% However, the \"copyright/copyleft\" owner of patterns remains the original author.\
-%\
-% The copyright statement of this file is thus:\
-%\
-% Do with this file whatever needs to be done in future for the sake of\
-% \"a better world\" as long as you respect the copyright of original file.\
-% If you're the original author of patterns or taking over a new revolution,\
-% plese remove all of the TUG comments & credits that we added here -\
-% you are the Queen / the King, we are only the servants.\
-%\
-% If you want to change this file, rather than uploading directly to CTAN,\
-% we would be grateful if you could send it to us (http://tug.org/tex-hyphen)\
-% or ask for credentials for SVN repository and commit it yourself;\
-% we will then upload the whole \"package\" to CTAN.\
-%\
-% Before a new \"pattern-revolution\" starts,\
-% please try to follow some guidelines if possible:\
-%\
-% - \\lccode is *forbidden*, and I really mean it\
-% - all the patterns should be in UTF-8\
-% - the only \"allowed\" TeX commands in this file are: \\patterns, \\hyphenation,\
-% and if you really cannot do without, also \\input and \\message\
-% - in particular, please no \\catcode or \\lccode changes,\
-% they belong to loadhyph-foo.tex,\
-% and no \\lefthyphenmin and \\righthyphenmin,\
-% they have no influence here and belong elsewhere\
-% - \\begingroup and/or \\endinput is not needed\
-% - feel free to do whatever you want inside comments\
-%\
-% We know that TeX is extremely powerful, but give a stupid parser\
-% at least a chance to read your patterns.\
-%\
-% For more unformation see\
-%\
-% http://tug.org/tex-hyphen\
-%\
-%------------------------------------------------------------------------------\
-%\
-% TeX hyphenation patterns for Norwegian\
-%\
-% version of 2007-02-07.\
-% Patterns of January 25, 2005, with later additions and changes\
-%\
-% Copyright (C) 2004, 2005 Rune Kleveland, Ole Michael Selberg.\
-% Copying and distribution of this file, with or without modification,\
-% are permitted in any medium without royalty provided the copyright\
-% notice and this notice are preserved.\
-%\
-% Please send bugs or suggestions to tex-live (at) tug.org.\
-%\
-% Originally generated by a script written by Rune Kleveland\
-% from dictionaries available from\
-% http://folk.uio.no/runekl/dictionary.html.\
-%\
-% Adjusted manually by Ole Michael Selberg to prevent\
-% numerous wrong hyphenations, especially in compounds.\
-%\
-% Changes from the former version of 2005-06-29:\
-% 388 new patterns. Some old patterns have been deleted or changed.\
-%\
-% In Kleveland's nohyphb.tex there are 26017 patterns.\
-% This version of the revised nohyphbx.tex contains 27149 patterns\
-% --- plus 45 exceptions in the \\hyphenation-list\
-% (which you may change to suit your personal needs).\
-%\
-% To load these hyphenation patterns the parameters\
-% of TeX must have the following minimum values:\
-% trie_size = 33385\
-% trie_op_size = 815\
-% (The corresponding values for nohyphb.tex are\
-% trie_size = 31900 trie_op_size = 636)\
-% If you want to load more than one set of hyphenation\
-% patterns the parameters have to be set to a value\
-% larger than or equal to the sum of all required values\
-% for each set.\
-%\
-% Notes on other Norwegian hyphenation pattern files, from Dag Langmyhr,\
-% tex-live mail of 29 Jun 2005 11:26:21 +0200.\
-% nohyph.tex -- manually created by Ivar Aavatsmark and others;\
-% hyphenate according to pre-1973 rules; no longer recommended for use.\
-% (Sometimes also known as nohyph1.tex.)\
-% nohyph2.tex -- created by Dag and a student; the present file,\
-% nohyphbx.tex, is more extensive and is recommended.\
+% \\input hyph-no.tex\
+% \
+% \\hyphenation{\
+% att-en-de\
+% bet-re\
+% }\
% ",
},
["patterns"]={
diff --git a/tex/context/patterns/lang-nn.rme b/tex/context/patterns/lang-nn.rme
index 0c2df2eba..e6dd84c97 100644
--- a/tex/context/patterns/lang-nn.rme
+++ b/tex/context/patterns/lang-nn.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Norwegian Nynorsk Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% Adapted to the new pattern-loading scheme.
% Original file name was nnhyph.tex
@@ -26,109 +30,10 @@
% Please send bugs or suggestions to karl@huftis.org.
%
-% This file is part of hyph-utf8 package and resulted from
-% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
-%
-% Source: nohyphbx.tex (2007-02-07)
-% Author:
-%
-% The above mentioned file should become obsolete,
-% and the author of the original file should preferaby modify this file instead.
-%
-% Modificatios were needed in order to support native UTF-8 engines,
-% but functionality (hopefully) didn't change in any way, at least not intentionally.
-% This file is no longer stand-alone; at least for 8-bit engines
-% you probably want to use loadhyph-foo.tex (which will load this file) instead.
-%
-% Modifications were done by Jonathan Kew, Mojca Miklavec & Arthur Reutenauer
-% with help & support from:
-% - Karl Berry, who gave us free hands and all resources
-% - Taco Hoekwater, with useful macros
-% - Hans Hagen, who did the unicodifisation of patterns already long before
-% and helped with testing, suggestions and bug reports
-% - Norbert Preining, who tested & integrated patterns into TeX Live
-%
-% However, the "copyright/copyleft" owner of patterns remains the original author.
-%
-% The copyright statement of this file is thus:
-%
-% Do with this file whatever needs to be done in future for the sake of
-% "a better world" as long as you respect the copyright of original file.
-% If you're the original author of patterns or taking over a new revolution,
-% plese remove all of the TUG comments & credits that we added here -
-% you are the Queen / the King, we are only the servants.
-%
-% If you want to change this file, rather than uploading directly to CTAN,
-% we would be grateful if you could send it to us (http://tug.org/tex-hyphen)
-% or ask for credentials for SVN repository and commit it yourself;
-% we will then upload the whole "package" to CTAN.
-%
-% Before a new "pattern-revolution" starts,
-% please try to follow some guidelines if possible:
-%
-% - \lccode is *forbidden*, and I really mean it
-% - all the patterns should be in UTF-8
-% - the only "allowed" TeX commands in this file are: \patterns, \hyphenation,
-% and if you really cannot do without, also \input and \message
-% - in particular, please no \catcode or \lccode changes,
-% they belong to loadhyph-foo.tex,
-% and no \lefthyphenmin and \righthyphenmin,
-% they have no influence here and belong elsewhere
-% - \begingroup and/or \endinput is not needed
-% - feel free to do whatever you want inside comments
-%
-% We know that TeX is extremely powerful, but give a stupid parser
-% at least a chance to read your patterns.
-%
-% For more unformation see
-%
-% http://tug.org/tex-hyphen
-%
-%------------------------------------------------------------------------------
-%
-% TeX hyphenation patterns for Norwegian
-%
-% version of 2007-02-07.
-% Patterns of January 25, 2005, with later additions and changes
-%
-% Copyright (C) 2004, 2005 Rune Kleveland, Ole Michael Selberg.
-% Copying and distribution of this file, with or without modification,
-% are permitted in any medium without royalty provided the copyright
-% notice and this notice are preserved.
-%
-% Please send bugs or suggestions to tex-live (at) tug.org.
-%
-% Originally generated by a script written by Rune Kleveland
-% from dictionaries available from
-% http://folk.uio.no/runekl/dictionary.html.
-%
-% Adjusted manually by Ole Michael Selberg to prevent
-% numerous wrong hyphenations, especially in compounds.
-%
-% Changes from the former version of 2005-06-29:
-% 388 new patterns. Some old patterns have been deleted or changed.
-%
-% In Kleveland's nohyphb.tex there are 26017 patterns.
-% This version of the revised nohyphbx.tex contains 27149 patterns
-% --- plus 45 exceptions in the \hyphenation-list
-% (which you may change to suit your personal needs).
-%
-% To load these hyphenation patterns the parameters
-% of TeX must have the following minimum values:
-% trie_size = 33385
-% trie_op_size = 815
-% (The corresponding values for nohyphb.tex are
-% trie_size = 31900 trie_op_size = 636)
-% If you want to load more than one set of hyphenation
-% patterns the parameters have to be set to a value
-% larger than or equal to the sum of all required values
-% for each set.
-%
-% Notes on other Norwegian hyphenation pattern files, from Dag Langmyhr,
-% tex-live mail of 29 Jun 2005 11:26:21 +0200.
-% nohyph.tex -- manually created by Ivar Aavatsmark and others;
-% hyphenate according to pre-1973 rules; no longer recommended for use.
-% (Sometimes also known as nohyph1.tex.)
-% nohyph2.tex -- created by Dag and a student; the present file,
-% nohyphbx.tex, is more extensive and is recommended.
-% \ No newline at end of file
+\input hyph-no.tex
+
+\hyphenation{
+att-en-de
+bet-re
+}
+
diff --git a/tex/context/patterns/lang-pl.lua b/tex/context/patterns/lang-pl.lua
index 089d51f82..8225ab065 100644
--- a/tex/context/patterns/lang-pl.lua
+++ b/tex/context/patterns/lang-pl.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="pl",
- ["source"]="hyph-pl.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-pl",
+ ["texcomment"]="% Polish Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: plhyph.tex (1995-06-26)\
@@ -93,7 +97,8 @@ return {
% Mariusz Olko's suggestions, 1995.\
% \
% The LeX format mentioned above was the first version of the adaptation\
-% of TeX to the Polish language. The next version is called MeX.",
+% of TeX to the Polish language. The next version is called MeX.\
+% ",
},
["patterns"]={
["characters"]="abcdefghijklmnoprstuvwxyzóąćęłńśźż",
diff --git a/tex/context/patterns/lang-pl.rme b/tex/context/patterns/lang-pl.rme
index 35641d3a4..ec2a97b55 100644
--- a/tex/context/patterns/lang-pl.rme
+++ b/tex/context/patterns/lang-pl.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Polish Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -86,3 +90,4 @@
% The LeX format mentioned above was the first version of the adaptation
% of TeX to the Polish language. The next version is called MeX.
+
diff --git a/tex/context/patterns/lang-pt.lua b/tex/context/patterns/lang-pt.lua
index 81fdaa415..de463ef56 100644
--- a/tex/context/patterns/lang-pt.lua
+++ b/tex/context/patterns/lang-pt.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="pt",
- ["source"]="hyph-pt.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-pt",
+ ["texcomment"]="% Portuguese Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: pthyph.tex (1994-10-13 - date on CTAN) or (1996-07-21 - date in file) - no idea\
@@ -94,11 +98,11 @@ return {
%",
},
["patterns"]={
- ["characters"]="abcdefghijklmnopqrstuvwxzáâãçéêíóôõú",
- ["data"]="1b2l 1b2r 1ba 1be 1bi 1bo 1bu 1bá 1bâ 1bã 1bé 1bí 1bó 1bú 1bê 1bõ 1c2h 1c2l 1c2r 1ca 1ce 1ci 1co 1cu 1cá 1câ 1cã 1cé 1cí 1có 1cú 1cê 1cõ 1ça 1çe 1çi 1ço 1çu 1çá 1çâ 1çã 1çé 1çí 1çó 1çú 1çê 1çõ 1d2l 1d2r 1da 1de 1di 1do 1du 1dá 1dâ 1dã 1dé 1dí 1dó 1dú 1dê 1dõ 1f2l 1f2r 1fa 1fe 1fi 1fo 1fu 1fá 1fâ 1fã 1fé 1fí 1fó 1fú 1fê 1fõ 1g2l 1g2r 1ga 1ge 1gi 1go 1gu 1gu4a 1gu4e 1gu4i 1gu4o 1gá 1gâ 1gã 1gé 1gí 1gó 1gú 1gê 1gõ 1ja 1je 1ji 1jo 1ju 1já 1jâ 1jã 1jé 1jí 1jó 1jú 1jê 1jõ 1k2l 1k2r 1ka 1ke 1ki 1ko 1ku 1ká 1kâ 1kã 1ké 1kí 1kó 1kú 1kê 1kõ 1l2h 1la 1le 1li 1lo 1lu 1lá 1lâ 1lã 1lé 1lí 1ló 1lú 1lê 1lõ 1ma 1me 1mi 1mo 1mu 1má 1mâ 1mã 1mé 1mí 1mó 1mú 1mê 1mõ 1n2h 1na 1ne 1ni 1no 1nu 1ná 1nâ 1nã 1né 1ní 1nó 1nú 1nê 1nõ 1p2l 1p2r 1pa 1pe 1pi 1po 1pu 1pá 1pâ 1pã 1pé 1pí 1pó 1pú 1pê 1põ 1qu4a 1qu4e 1qu4i 1qu4o 1ra 1re 1ri 1ro 1ru 1rá 1râ 1rã 1ré 1rí 1ró 1rú 1rê 1rõ 1sa 1se 1si 1so 1su 1sá 1sâ 1sã 1sé 1sí 1só 1sú 1sê 1sõ 1t2l 1t2r 1ta 1te 1ti 1to 1tu 1tá 1tâ 1tã 1té 1tí 1tó 1tú 1tê 1tõ 1v2l 1v2r 1va 1ve 1vi 1vo 1vu 1vá 1vâ 1vã 1vé 1ví 1vó 1vú 1vê 1võ 1w2l 1w2r 1xa 1xe 1xi 1xo 1xu 1xá 1xâ 1xã 1xé 1xí 1xó 1xú 1xê 1xõ 1za 1ze 1zi 1zo 1zu 1zá 1zâ 1zã 1zé 1zí 1zó 1zú 1zê 1zõ a3a a3e a3o c3c e3a e3e e3o i3a i3e i3i i3o i3â i3ê i3ô o3a o3e o3o r3r s3s u3a u3e u3o u3u",
+ ["characters"]="-abcdefghijklmnopqrstuvwxzáâãçéêíóôõú",
+ ["data"]="1b2l 1b2r 1ba 1be 1bi 1bo 1bu 1bá 1bâ 1bã 1bé 1bí 1bó 1bú 1bê 1bõ 1c2h 1c2l 1c2r 1ca 1ce 1ci 1co 1cu 1cá 1câ 1cã 1cé 1cí 1có 1cú 1cê 1cõ 1ça 1çe 1çi 1ço 1çu 1çá 1çâ 1çã 1çé 1çí 1çó 1çú 1çê 1çõ 1d2l 1d2r 1da 1de 1di 1do 1du 1dá 1dâ 1dã 1dé 1dí 1dó 1dú 1dê 1dõ 1f2l 1f2r 1fa 1fe 1fi 1fo 1fu 1fá 1fâ 1fã 1fé 1fí 1fó 1fú 1fê 1fõ 1g2l 1g2r 1ga 1ge 1gi 1go 1gu 1gu4a 1gu4e 1gu4i 1gu4o 1gá 1gâ 1gã 1gé 1gí 1gó 1gú 1gê 1gõ 1ja 1je 1ji 1jo 1ju 1já 1jâ 1jã 1jé 1jí 1jó 1jú 1jê 1jõ 1k2l 1k2r 1ka 1ke 1ki 1ko 1ku 1ká 1kâ 1kã 1ké 1kí 1kó 1kú 1kê 1kõ 1l2h 1la 1le 1li 1lo 1lu 1lá 1lâ 1lã 1lé 1lí 1ló 1lú 1lê 1lõ 1ma 1me 1mi 1mo 1mu 1má 1mâ 1mã 1mé 1mí 1mó 1mú 1mê 1mõ 1n2h 1na 1ne 1ni 1no 1nu 1ná 1nâ 1nã 1né 1ní 1nó 1nú 1nê 1nõ 1p2l 1p2r 1pa 1pe 1pi 1po 1pu 1pá 1pâ 1pã 1pé 1pí 1pó 1pú 1pê 1põ 1qu4a 1qu4e 1qu4i 1qu4o 1ra 1re 1ri 1ro 1ru 1rá 1râ 1rã 1ré 1rí 1ró 1rú 1rê 1rõ 1sa 1se 1si 1so 1su 1sá 1sâ 1sã 1sé 1sí 1só 1sú 1sê 1sõ 1t2l 1t2r 1ta 1te 1ti 1to 1tu 1tá 1tâ 1tã 1té 1tí 1tó 1tú 1tê 1tõ 1v2l 1v2r 1va 1ve 1vi 1vo 1vu 1vá 1vâ 1vã 1vé 1ví 1vó 1vú 1vê 1võ 1w2l 1w2r 1xa 1xe 1xi 1xo 1xu 1xá 1xâ 1xã 1xé 1xí 1xó 1xú 1xê 1xõ 1za 1ze 1zi 1zo 1zu 1zá 1zâ 1zã 1zé 1zí 1zó 1zú 1zê 1zõ a3a a3e a3o c3c e3a e3e e3o i3a i3e i3i i3o i3â i3ê i3ô o3a o3e o3o r3r s3s u3a u3e u3o u3u 1-",
["minhyphenmax"]=1,
["minhyphenmin"]=1,
- ["n"]=306,
+ ["n"]=307,
},
["version"]="1.001",
} \ No newline at end of file
diff --git a/tex/context/patterns/lang-pt.pat b/tex/context/patterns/lang-pt.pat
index dbf617830..83cef8055 100644
--- a/tex/context/patterns/lang-pt.pat
+++ b/tex/context/patterns/lang-pt.pat
@@ -2,7 +2,7 @@
% for comment and copyright, see e:/tmp/patterns/lang-pt.rme
-% used: a b c d e f g h i j k l m n o p q r s t u v w x z á â ã ç é ê í ó ô õ ú
+% used: - a b c d e f g h i j k l m n o p q r s t u v w x z á â ã ç é ê í ó ô õ ú
\patterns{
1b2l
@@ -310,4 +310,5 @@ s3s
u3a
u3e
u3o
-u3u} \ No newline at end of file
+u3u
+1-} \ No newline at end of file
diff --git a/tex/context/patterns/lang-pt.rme b/tex/context/patterns/lang-pt.rme
index ed3602f04..c7c003211 100644
--- a/tex/context/patterns/lang-pt.rme
+++ b/tex/context/patterns/lang-pt.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Portuguese Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -83,4 +87,4 @@
% Remember! If you *must* change it, then call the resulting file
% something else and attach your name to your *documented* changes.
% ======================================================================
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-ro.lua b/tex/context/patterns/lang-ro.lua
index 4bdadb393..38575d0e6 100644
--- a/tex/context/patterns/lang-ro.lua
+++ b/tex/context/patterns/lang-ro.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="ro",
- ["source"]="hyph-ro.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-ro",
+ ["texcomment"]="% Romanian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: rohyphen.tex (1996-11-11)\
diff --git a/tex/context/patterns/lang-ro.rme b/tex/context/patterns/lang-ro.rme
index 577239236..65db0888a 100644
--- a/tex/context/patterns/lang-ro.rme
+++ b/tex/context/patterns/lang-ro.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Romanian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -107,4 +111,4 @@
% -------------------------------------------------------------------
%
% original patterns generated by PatGen2-output hyphen-level 9: do NOT modify the list by hand!
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-ru.lua b/tex/context/patterns/lang-ru.lua
index db3c1876f..38aac595e 100644
--- a/tex/context/patterns/lang-ru.lua
+++ b/tex/context/patterns/lang-ru.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="ru",
- ["source"]="hyph-ru.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-ru",
+ ["texcomment"]="% Russian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: TODO:WRITEME (2003-03-10)\
@@ -85,11 +89,11 @@ return {
% <ftp://scon155.phys.msu.su/pub/russian/ispell/>.",
},
["patterns"]={
- ["characters"]="абвгдежзийклмнопрстуфхцчшщъыьэюяё",
- ["data"]=".аб1р .аг1ро .ади2 .аи2 .ак1р .аль3я .ар2т1о2 .ас1то .аст1р .ау2 .би2о .во2б3л .во3ж2д .го2ф .дек2 .де1кв .ди2ак .ди1о .до3п .до3т2 .епи3 .зав2р .за3м2н .за3п .иг1р .изг2 .из3н .ии2 .ик1р .ио2 .ио4на .ис3 .ле2о .ле2п3р .лес1к .ль2 .люст1 .ме2ж1у2 .ми1ом .мо2к1 .му2шт1 .на1в .на3т .на3ш2 .не3вн .не1др .не1з2 .не1сл .не1с2ц .не3т .нос1к .нук1л .обо3ж2 .ово1 .ог3н .оз4 .ос2ка .ос2п .ос3пи .от1в .от1ро .от1ру .от1уж .по3в2 .по3ж2 .поз2н .прос2 .ра2с3т .ре2бр .ре2з3в .ри2ск .ри2ч .ро2з3в .ро2с3л .ро2х .септ2 .ск2 .ст2 .су2ж .те2о3 .тиа3 .ти2г .тиг1р .ти2о .уб2 .уд2 .уе2 .уз2на .ук2 .ум2ч .уо3 .уп2 .ур2в .ус2 .ут2р .ую2 .хо2р3в .че2с1к .юс1 4а3а аа2п аа2р аа2ц а1б абе3ст а3бла аб2лю аб1ри а3бу ав1в а1ве ав3зо а1ви ави2а а1во аво1с а2вот ав1ра ав2се а2вт а1ву а2вх а3в2че 2ага ага1с2 а2гд а2гити а2гле аг2ли а2глос аг2лот 2аго а3гу а1д 2адв а2две ад2жи ади2од а2дл а2д1обл ад1ро а2д1ру аду3ч ад2ц а2дын а1е ае2го ае2ди ае2л а2еп ае2ре ае2с аза4ш3 азв2 аз3вез аз1вл азг2 аз1др аз1об аз2о1бр а2зовь а2золь а1зори аз2о1с аз1р а1и аи2г1 аи3гл а2их а1к ак1в 1акк ак2л ак3лем ако1б2 2аконс ако3т 2акри ак1с а1ла а3лаг а1ле 2алек а3ли ало1з а1лу алу2ш алуш1т а1лы а2льщ а1лю 2ама амб4 2амет а2минт ам2нет 2амо амо1з2 амои2 а2мч ана2дц а2н1а2ме а2наф ан2дра а2н1о2б ан1о2хр ан1р ан2сп анс1у ан2сур а2н1уз а1нь 2а1о ао2д ао2к ао2р ао2с аост1 а3пла ап2лом 2апо апо4вс апо3ч2т ап2ра ап1рел а1ра ара2ст ар2бок ар2вал 1аргу а1ре аре1дв аре1ол ар2жа а1ри а1ро ар2тор ар2т1р а1ру ар1х а1ры а1рю а1ря 2ас1к ас3ми ас3но 1ассиг аст1ву ас3тем ас2тин ас2тия ас1тоо ас1тух а1стье ас2шед ас2шес а1сьи а1та 1атак ат3ва ат1ви ат1ву 2атез а1ти а1то ат1обе а2томн ато2ш ат1рах ат1ри а1ту ат2х а1ты а1тье а3тью а3тья а1тю а1тя а1у а2уб ау2д ау3до а2уле аут1р ау2х ау2ч ау3чь ауэ1 а2ф1л ах2а ахми2 ах3с а1ч 2ача а2чл ач1т а2шл аэ2ли а2эр аю1та а1я ая2б ая2в ая2з 1ба ба2бв ба2г1р ба2др ба1з ба3зу балю1 ба2о бас3м ба1ст ба1тр 2б1б б1в бвы2 бг2 2б1д 1бе 3бев бе2гл бе2гн бе2д1р 3бее 3бе2з без1а2 без5д4 бе3зи без3н без1о2 без1р бе2с1к бес3п бе2с1т бес3те бес3ти 3бец 2бещ 2бж б1з2 1б2и 3биа би2б 2биж 3бик били3т2 3био би2об би2од би2он би2ор би2тв би1х 2б3к б1л 1благ 1б2лаз б3лази б2лан 1б2лее б3лен б2лес1к 1б2лея б2луд 1б2луж 2блы 2б2ль 2б3лю. б2люд б2люе б2люл 2б3люсь 2бля 2б3н 1бо бо1бра бо3вш бо2гд бо1дра бо1з2 бо1л2ж бо1льс бо3м2л бо2мч бо3мш бону1 бо1ру бо2са бо1ск бо3ско бо3сти 3бот бо2тв бот2р боя2р 2бр. б3раб б2рав бра1зо 1б2рал 2б1рам б2ран 1брас б2рать б1рах 1б2рач 2б3рая 1б2ред б1рей б1рек б2рем б2рех б2рид б2рито б2риты 1б2роди б1рол б1ром. 1б2роси бро2с1к 2брс б1ру 3брукс 2брь 1б2рю 2б3рю. б1ря 2б1с2 б3ск бс4л б1т 1б2у бу2г1р бук1л бу1с 2бф 2б1х 2бц 2б1ч 2бш 2бщ 1бы бы2г1 бы2с быс1к быст1 1бь 2бь. 2бьс 2бьт бэ1р 3б2ю бю1та 1бя 1ва ва2бр 3ваг ва2д1р вадь2 ва3ж2д ва1з ванс2 ва1ст ва2стр ва1тр вах1 3вац 3вая 2в1б в1ви в1вр 2вг2 в1д в2дох 1вев 3вег вед1р ве3ду 1вее 1вез 3везе 3везл вез2у 1вей. ве2п1 2верд 1вес ве2с1к ве2ст1в вет3р 1вец 1вею 1вея 1в2з2 взг2 взд2 взо1б взъ2 взъе3д ви2аз ви2ак ви2ар ви2а1с2 виа1т ви3аф ви2гв ви2гл 1виз 1винт 1винч ви1о ви1с2ни виу3 ви2ф 2в1к вк2л 3в2кус в1л в2ла 2в3лаб в2лев в2лек в2лет в2леч 2вли в2лия 2влю в2люб 2вля 2вм 1вме 2в1н 4в3на в2нес вно1 в3ну. 3в2нук 3в2нуч в3ны во1б2 во2б3ла вов2 во3вк 1вод во1дв во1др во2ер во2жж вои2с1 1вок во3м2 воп2 во1ру 2ворц 2ворь вос1к во1см во1сн вос3пе во2стр вот2р 1вох во1хл во3х2т 1вою 2вп2 2вр. 2вра. в2рав 2в1рам в1рас 2в1рах 2врац 2вре. 2в1рен 1врид 1в2риз в1рии в1рик в1рил в1рис в1рит 2в1ро вро3т2 2в1ры 1врю в1ря 2в1с2 3все3 в3ская 4в3ски 4в3ску 3в2сп 3в2сю в1т2 вто1б2 вто3ш 1вуа ву3г 1ву1з 2вуи 2ву1к ву3п ву1с2 ву2х1а вух3в ву1чл вф2 1вхо 2вц 2в1ч 2вш 3в2шив 2вщ въ2 1вы вы3г2 вы3зн вып2 вы3т2 вых2 вы3ш2л 2вь. 1вье 1вьин 2вьс 2вьт 1вью 1вья 1в2э1 1в2ю 1вя 1г г2а га1з га1ст2 га2у 2г3б гба2 г1ви 2гг г3дан 2г3ди 3ге. ге2б1 гено1 ге2об ге2од ге1ор 2г3ж 2г1з г2и ги2бл ги3бр ги2гр ги1сл гист2 2г1к 2гла. г2лав г1лай г1лами 2глась 2глая г1ле г2лет 2гли. г2лин 3г2лиф 2гло. г3лобл 2глов 2глог 2глое 2глой 2глою 2глую 2г1лы г2ляж 2гляк 2г3м г2нав г2нан г3не. г2нев г3нен г3неп г3нес г2нир гнит2р г2ное г2нои г2нос г3ня го1б2 го2вл го3ж2д го1з го2зл гоз2н гоиг2 3гой г2ол гоми2 го2с1а го2сд го1скл го1сн го1спа 2готд гоу3т го1чл 3гою 2гп 2гр. г1рае г1рай г1рар г1рег г1рек г1рец гри4в3н г1рик г1рил г1рин г1рис г1рич г1ров г2роз г1рок г1рон г1роп г1рот г1роф гру2п г1рыв 2грю г1ряе г1рял г1рят 2г3с2 г4са г4сб 2г3т гу1в гу1с гу2с1к 2гф 2г1ч 2г3ш 2г3э 1да да2б1 да2ген да2гр да1з да2о даст1р дат1р 2д1б дв2 д1ве 1дви 2д1вид 2двиз 2двинт 2двинч 2д1вис 2д1вит д3вк д1вл 2двод д1воз 1дворь 2двя 2дг2 2д1д2 1де де1б2л де1б2р 3девр 3дез де2з1а2 де2зи дез1о2 де2зу деио2 де1кл 3деме де2од део3п де3пл дерас2 де2с3в дес2к де2ср де1хл 2дж. д2жам д2ж3м 2джс 2д1з2 1ди ди2ад диа2з ди2али ди2ало ди2ар ди2ас ди2об дио3де ди2ор дио1с ди1оти дип2 ди2пи ди3пт ди2с1тр диу3 ди3фр ди3фто ди1х 2д1к д1л д2лев 2д3м2 2д1н д3на днеа2 3дневн 4д3но1 дно3д2 днос2 4д3ны 3д2няш 1до 2д1о2бед до2бл 2д1обла до1б2ра дов2л до3в2м до1д2 до3дн до3ж2д до1з доз2н дои2р 2докт 2долим до2м1р доп2 до3пл 2допле до2пре до2руб до1с д1о2сен д1о2син 2д1осно дос2п 2дотд 2дотл дот2ри 2д1отря 2дотъ до3ть 3дохл до2ш3в до3ш2к до2шлы до2щу 2дп 2др. д1раб 1дравш 2дразв 1д2разн д1ране д1рар д1ра2с3 д1рах д1рач д2раю д1ре д2реб 2д3реж 2дрез д2рел д2рем 1дрема 1дремл дрем3н 1дремы 2д3рен дре2ск д2ресс д1ри д2рий 2дрин д2рип д2рих дро2г3н д1род д1рое 1д2рож 2д3роз д1рой д1рол д1рон д1рос д1рот д1рою д1руб 1друг 1друж д1рум д1рую д1ры 2дрыв 1д2рыг д1ря д2ряб 1д2ряг д2рях 2д1с2 дск2 дс3кн 2д1т 1ду дуб3р ду3г 2д1уд ду2да ду2о дуп1л дус1к д1усл ду1ст ду2ста 2дут1р ду1х ду2чи дуэ1т 2дф д1х 2д3це 2дцу 2дцы 2д1ч 2д3ш2 2дщ 2дъ дъе2м 1ды 2дыг ды2г1р 2дыд 2дыме 2ды2с1 2дыт 2дыщ 2дь. 1дье 2дьк 2дьт 1дью 1дья дь3яр 1д2ю 1дя е1а еа2д еади3 еа3до еа2з еан2д1р еат1р 2еб еба2с е1бра еб1рен еб1ри е1бро еб1ров еб1ры е2б3рю е1ве 2евер е1ви е3в2ме ев2ним ев2нят е1во 2евол евра1с 2е1вре ев1рее ев1рей ев1рея ев1ри е2вт е1ву е1вх ев2хо е1вь ега1с2 ег2д е2глан е2гле е2гли е2гло ег2на ег2но 2ег2р ед1во ед2ж е1дже е1д2лин едноу3 ед1опр е2дотв е2дох е2д1ощ е1дру е2дру. е2ду2б ед1убо е2дуве е2дуг е2дус ед1уст 2е3душ е2дын е1е е2евид ее2в1р ее2ги ее1с2 ее2ст еест1р ее2х е2жг е4ждев еж3ди 2еже е2ж1р еза2вр езау3 е1з2ва езд1р е3зе еззу3 е3зит ез1об ез1о2г е1зом ез1оп ез1о2р ез1от ез1ош ез2ря ез1у2д ез1у2к ез1уп ез1ус езу2со езу2сы ез1у2х ез1уча е3зя е1и еи2г1 еи2д еи2м еи2о еис1л еис1тр е1ка ека2б ек2з е1ки 2е1ко 2е1кр ек2ро ек1ск ек1сте е1ку е1ла е1ле еле3ск еле1сц е1лу е1лы е1лю е3ля еми3д2 еми3к емо1с 2емуж е2мч 2емыс е3на ен2д1р 2е1нр енс2 ен3ш2 е1нэ 2ео е1о2б еоб2ро е2о3гл ео2гро е1од ео3да ео2де еоде3з ео2до е1о2ж е2ои ео3кл е1ол. е1ола ео3ли е1олк е1олы е1оль е2ом е1он. е2она е2они ео3но е1онс еоп2 е1опе ео2пр ео4пу е2о3ро еос2 е1о2сви ео1ск е1осм е1осн еост1р ео3сх е1отл еот2ру е1о2ч е1о2щ епат2 епа1тр 2епе епис2к е2пл е3пла еп1леш е3п2лод еп1лу е3плы еп1лющ е4пн 2епо е4п3с е4пт е1ра ер1акт е2рв ер1ве е1ре е3ре. ере3до ере1др ере1к2 ере3м2н ере3п ере1х4 е1ри ерио3з е1ро еро2б ер1обл 2ерови 2ерокр 2ерол еро3ф2 ер3ск е1ру е2р1у2п е1ры е1рю е1ря е3с2а ес2ба е1сг е1ск е2с1ка. ес1кал е2ске е2сков е4с1ку. 2есл ес1лас ес2лин ес2лов ес2лом е1слу е1слы е1с4м е3со 2есп ес2пек ес3пол е2спу е1ст ес2тан е2стл е3сту ес2чет е1та ет1ве ет1ви е1тво 2етеч е1ти е1то ето1с ет1р ет2ря е1ту е1ты е1тье е3тью е3тья е1тю е1тя е1у2 2еуб еуб3р еуз2 еук2ло ефи3б2 еф2л еф1ре еха2т ех1ато ех3вал ех3лоп ех1об ех1опо ех1ре ех1ру ех1у2ч 2ецв е1чл е2шл еэ2 ею2г е1я ея2з 1ж жа2бл жа2бр жа1з жат1в 2ж1б2 2ж1в жг2 2жга ж2ги 3ж2гл ж2гу 2ж1д ж2дак ж2дач 3ж2дел 4ждеме ж2деп ж2ди 4ж2дл ждо3 жду1 4ждь 3ж2дя 3жев же3д2 же1к2в же1кл же1о2 же3п2 же1с2 же3ск 2жжа ж2же 2жжев 2ж1з2 жи1о 2жирр 2ж1к 2ж1л ж2м ж3ма 2ж3мо 2ж1н жно1 2ж1об 2ж1о2т1 жоу3 жоу1с 2жп2 жпо1 ж2ру 2ж1с 2жф 2жц 2ж1ч 2жъ 2жь. 2жьс 2жьт 1за1 заа2 заб2 за2в1ри за2вру з1аву заг4 з1адр зае2д зае2х за3ж2д за3з2 з1акт за3мне 3з2ан за3на занс2 зап2 зар2в за3р2д зар2ж зас2 заст2 зат2 за3тк зау2 зах2 зач2т за3ш2 зая2 з1б2 2з3ва. з2вав з3валь з2ван 2звая з1ве з2вез з1ви з3в2к з1вла з1во 2звол 1з2вон з1вр 1зву 2з1вую з1вь 2зг з3га з2гли зг2на з2гну з1д2в з2деш здож3 1зе зе2б1 зе2ев зе2од 2зж2 з3з2 1зи 3зи. 3зий. з1инт зи2оз зи2оно зи1оп 3зис зи3т2р зиу3м 3зич 2з1к зко1 зко3п2 з1л з2лащ з2лоб з2лоп з2лор з2лющ 2зм2 з3мн з1н 2зна. з2нав з2нае з2най з2нак з2нан з2нат з2наю 2зная 2зне 2з3ни 2зно 2зну 2з3ны з2обе зо2би 1зов зо3в2м зо2гл зо1др 1зое зо1з2 1зои 1зой. 1зок. з1окс 1зол2 зо1лг зо1лж зо3м2 1зом. 2зомн 1зон 2зонр 1зоо зо2о3п зо2ос зо2па з2опл з2опр з1орг 1з2о3ре зос2 з1осн зо1сп зо2тв з2оте з1отк з2ото зот2ре зот2ри 1зох зош2 зо2ши 1зоэ 1зою з1ра з2рак зра2с з2рач з2рен з1рес з2риш з1ро зро2с3 з1ру з2рю з1ря 2з1с 2зт з1ти 1зу 3зу. 2з1у2бе зу2б3р зу1в 2зуве 2зу2г 3зуе 2з1уз3 2зу1к 3зуме з1у2мо 2зуп зу2пр з1урб з1у2те зу2час 2зц з1ч 2зш зъе2м 1зы 2зы2г1 зы2з 2зыме 2зымч 2зы2с1 2зыщ 1зье 1зьи 1зью 3зья 1з2ю 1зя и1а и2аб и2ав иаг2 и2агр и2аде и2ади иа2зов иа2му и3ана иа2нал ианд2 иао2 и2ап иа1с2к иа1ста иа1сто иат1ро и3ату и2аф и2а1х иа2це 2и1б и2б1р 2иваж 2и1ве и2в3з и1ви 2и1во и1в2р и3в2с и1ву ив2хо 2ивы иг2д и3ге 2игл и2гле и2гли и2гн игни3 иг1рен иг1ро иг1ру иг1ры и2г1ря и1дв и2дей и1д2ж иди1ом иди1от ид1р и1дь и1е и2евод ие2г ие2д ие3де ие2зу и3ени ие1о2 иепи1 ие2р и3ж2д из1в2 из2гне 1из1д из2нал и1зо изо2о из1р и1и ийс2 и1к и3к2а ика1с2 ик2ва и2кви и2кля и3ко ик1ро ик1ск ик2с1т и3ку и1л и2л1а2ц ило1ск илп2 и2л1у2п и2ль ильт2 2има и2мено и2мену 2имень и3ми имои2 им3пл и2м1р и2мч им2ча инд2 1инж ино2к3л ино3п2л ино1с инс2 1инсп 1инсти 1инсу 1инф 1инъ и1об ио2бо ио2вр и2ог и1од ио2де и1оз ио3зо и1окс и1оле и1он и3онов и1опт и1ор и3ора ио1ру ио2са ио3скл ио1с2п и1ота ио2т1в и1отк и1отс иоуг2 ио2хо и1ош 2ип ипат2 ипа1тр ип2ля ип3н ипо3к2 и1р ира2ст и2р1ау и2рв и2рж ири2ск ириу3 иро1з2 1ирр исан2д1 и2сб и2сд ис1к ис3ка. ис3кам ис3ках ис3ке ис3ки ис3ков ис3ку. и2слам ис1лы ис3ме ис3му ис3но исо2ск и2с3пр и4сс и1ст и2ст1в и2стл ис1тяз и1сьи и1т ита2в ит3ва и2т1ве ит1ви ит1ву и2тм и2т1р ит2рес ит3ром и2т1уч и3тью и3тья и1у2 иу3п иф1л иф2лю и2фр иха3д и2х1ас их2ло2 ихлор1 и3х2о ихо3к их1ре их1ри и1ху и1ч иш2ли и2шлы и2шт ию4л ию2н ию2т ию3та и1я ия2д 2й1 йд2 й2д3в йно1 й2о1с йо2тр йп2л й2сб й3ска йс2ке йс4мо й2с3му й2сн й2с3ф й2сш й2тм й2хм йх2с3 йя1 ка2бл ка2бри 1кав к2ад ка3дне ка2д1р 1кае каз3н ка1зо 1кай 1кал. 1кало 1калс 1кам 1кан ка2п1л ка2пре кар3тр 3к2ас ка1ст 1кат ка1т2р 1ках ка2ш1т 1каю 2к1б к2вак к2вас к2ваш к1ви к2воз к1ву 2кг 2к1д кда2 1ке 2кеа ке2гл кед1р ке2с1к ке2ст1 2к1з 1кив ки1о киос1 ки2пл ки1с2ни 1кит 2к1к2 кк3с 2к3ла. 2к3лась 2к3ле. 2клем к3лем. к3лен к1лео 2к3ли. 2к3лив к2лик к2лин 2к3лис к3лия 2к3ло. к2лоз к3лом 2к3лос кло3т 1клук к3лы 2кль 1клю 2к3лю. 2кля. 2клям 2клях 2км 2к1н 3к2ниж к2ноп 3к2няж к2о ко1б2ри 1ков 3кова 1код ко1др 1коз 1кольс 2комин 3конс коп2р ко2р3в ко1ру 1кос ко1ск кос3м ко1сп 1котн ко2фр кохо2р3 1кош 2кп 2кр. к1рел кре1о кре2сл к1реч 1криб к1рид к2риз кри2о3 к2рит к1рих к1роа к1роб к2рое к1рок к1роо к1рор к1рос к1роф к1рох к1роэ кру1с к1ряд 2кс ксанд2 к2с3в кс3г к2с3д к2сиб к1ски кс1кл к1ско кс3м к3со к1стам к1стан кс3те к1сто кс1тр к1сту к3су 2к1т кта2к 3к2то. кто1с кт2р к2у ку1ве 3куе 1куй 1куля 3кум куп1л ку2п1р 1кур ку3ро кус1к ку1ст 1кут ку3ть 1куче 1куют 3кующ 2кф 2к1х2 2кц 2к1ч 2кш 1кь к2ю 1ла. 2лабе ла2бл 2лаго ла2гр ла2д1аг 1лае ла3ж2д ла1зо л2ак лак2р 1лам. 1лами. лан2д1р ла1ста ласт1в ла1сте ла1сто ла2ст1р ла1сту ла1стя ла1т2р лау1 ла2ус ла2фр 1ла1х 1лая 2лб л1бр л1ве л1ви л1во л1ву 1л2гал л2гл лго1 2л3д2 1ле. ле1вл лев1ра ле2г1л ле1дж ле3до ле1з2о3 ле1зр лек1л 2лемн 1лен ле1онт ле1о2с ле2сб ле2ск ле4ска ле1с2л ле1спе ле1тв ле1т2р 1лех ле1хр л1зо 1ли лиа2м 3ливо 3ливы лиг2л ли2гро лие3р ли2кв 2лимп лио1с ли2пл лис3м 2л1исп ли2тв лиу3м ли2х3в ли1хл ли1хр 2л1к лк2в л2к1л 2л1л л2ль ллю1 2лм 2л1н лни2е 1ло ло2бл ло1б2р 2ловия ло2вл 3ловод ло2г3д лого1с ло1др 2лоен ло1зв ло2к1а2у ло2кл лок3ла 3лопас ло2рв 2л1орг ло1ру лос1к ло1с2п 2лотд лот2р ло2шл 2лп 2л1с2 лс3б л1т 1лу. лу1бр лу1в лу3г лу1д4р 1луе лу1зн лу1кр 1лун луо2д лу3п2ло лу1с лу3ть 1лую 2л3ф2 2л1х2 л2х3в 2лц л1ч 1лы. 1лые 1лыж 1лый 1лым 1лых. 4ль. 2льд 3лье 3льи 2льк 2льм 2льн 3льо 2льск 1льсти 1льстя 2льт 2льц 2льч 1льща 1льще 1льщу 3лью 3лья л2ю 1лю. 1люж 1люсь лю1та 1ля 3ля. ля1ви 3ляво 3лявы 2ляд 3лям ля1ре ля1ру 3лях 1м ма2вз 3маг ма2гн ма2др ма2дь ма1зо ма2к1р 2м1алл ман2д1р мас3л ма1с4т ма2тоб ма2т1р ма2у маф2 3мач ма2чт 4м1б м3би мб2л м3бля 2м3в2 2мг2 3м2гл 2м1д меан2 ме2ег ме2ел ме2ж1ат ме1зо ме2с1к ме2ст1р меч1т 2мж 2м1з2 ми2гре ми1зв 2мизд ми1зн ми2кр мик1ри ми2оз ми1опи ми2ор ми1с2л 2м1к2 3мкн 2м1л м2лее м2лел 2мм 2м1н 4м3на мне1д 3м2неш 4мное м2нож 4мной 4мном м2нор 4мною м2нут 4м3ны мо1б2 мо3вл 3мод мо1др мо2жж мо1зв мо1зр моис1т мо2к3в мо3м2 3мон 3моп мо1ру мос1ка мо1см мо1сн мо1с2п 3моти мо2т1р 3моф 2мп мп2л м1раб 2мри 2м1ро м1ры 2м1с мс2к мс2н м2с1ор 3м2сти 2м1т му1с2к му1с4л му1ст мут1р му3ть 2мф мфи3 2м1х 2мц м2чав м2чал м2чит м2чиш 2мш2 2мщ 3м2ще мым1 мы2мр мы2с 2мь. 2мьс мью1 2мэ мэ1р м2ю мя1р мя1ст 1на наби1о наб2р на1в2р наг2н на3жд на1з2 на2ил на2ин на2и1с2 4накк на3м2н нап2л на1рва на1р2ви на1с2 на1тв на1т2р н1а2фр на1х2 2нач на3ш2л 2нащ наэ1р 3ная 2н1б2 2н1в 2нг н2г1в нги2о нг4л нго1с нг2р 2н1д н2дак н2д1в нде3з нде2с нд2ж н3д2з н2дл нд1раг нд1раж нд2ре нд2риа н2дря нд2сп н2дц 1не не1б2 не1в2д 2невн не3вня нег2 3нед не1д2л нед2о не2дра не1дро не3ду не3е нее2д не3ж2д не1зв не1з2л не1зн не1зо не1зр неи2 не1к2в не1кл не3м2н 3не1о2 не2ода не2ол не3п2 не1р2ж не2р1от нес2к не3с2н не1с2п нест2 не1с2х не1с2ч не1т2в не3т2л не1т2р 3неу не2фр не1хр не3шк нея2 2н1з2 нзо1с 1ни ни3б2 ни2ен 3ний ни2кл нила2 ни2л1ал ни2л1ам 2нинсп 2н1инст ни1сл нис3п нист2р ниу3 ни1х 3ниц 3нищ 2н1к нк2в нк2л нкоб2 нко3п2 н2к1ро нк1с н1л 2н1н нно3п2 1но ноб2 но1бр но2вл но1дв но1др но2ер но1зв но2зд но3з2о но1зр но3кн 3номе ном3ш но2рв но1ру но1скл но2сли но1с2п но2сч 2нотд но3ф2 ноэ2 н3п2 2н1ре 2н1ри н1ро 2н1с н2с3в н2сг нс2ке н2скон н2сл н3сла н2с3м н2сн н2с1ок н3с2пе нст2р нсу2р н2с3ф н2съ3 2н1т н2т1в нти1о2к н2тм нт2ра н2тр1а2г нтр1аж н2трар нтрас2 нт2ре н2трив н2трок нт2ру нтр1уд нт2ры н2т1ря 1ну нут1р ну1х 3ную 2нф2 н1х нхо1 2нц 2н1ч н2чл 2нш нш2т 2нщ 1ны 3ны. 2нь. 1нье 1ньи 2ньк 1ньо 2ньс 2ньт 2ньч 1нью 1нья н2э 1н2ю 2н3ю2р 1ня ня1ви 2о1а2 о3ав оап1 2оба 2обио об2лев об2лем о1блю 1обм обо1л2г обо3м2 обо2с 2обот об1р о2бра. о1брав о1бран 1объ 2обь о1в о3вла о3в2ло ов3но о3в2нуш о2в1ри ов2се ов3ско ов2т о2вх ог2 2о3ге ог3ла. ог3ли. ог3ло. о3гря 2одан од1вое о3де. 1о2деял 2оди3а 2о3дим од2лит о2д1о2пе одо3пр о2д1о2пы о2доси о2д1отч о1драг од1раж од1раз од1рак о1драл од3реб о1дроб од1ров о2д1у2ч о2дыма о2дыму о2дын о1дь о2дьб о1е ое1б о2е1вл ое2д о3ежек ое2жи ое1о ое1с2 ое2ст о2ето ое2ц о3жди о3ж2ду оза2б3в 2озав о1з2ва оз2вен оз2ви о1з2вя оз2гло оз2дор о1здр озе1о оз3но о1зо о2з1об 2озон о2зоп озо1ру оз1уг о2зым о3зыс о3и ои2г1 оиг2н оие3 ои2з ои2м ои3мо ои2о 2ой ойс2 о1к 2о3кан ок2в 2ок2л о3клю око1б 2о3кол око3п2л ок1ск 1окт 2окти 2окум о3ла ол2ган о1ле 1олимп о3ло о1лу олу3д2 о1лы о1лю о3ля о3ма ом2бл 2оме о3м2нем о3м2нет о3множ ом1ри ом2ч ом2ше о2мь о3мья о3на онд2 оне3ф2 оно1б о1нр онс2 он2тру о1о2 о2ол оо3пс оос3м оост1р о2оти о2оф о3пак о3пар о2пле. о2п1лей о2пли оп2лит оп2ло оп3лю. о2пля о3пляс опо4вс опоз2н опо2ш3л оп2ри о3п2те оп2то о1ра ора2с3 ор2б3л о1р2в о1ре 2о3рег оре2ск о1ри ор1исп о1ро оро2с3л ор2тр о1руе о1рук ор1укс о1рус 2орц о1ры о1рю о1ря о3сад оса3ж2 ос2б о2с3ба о2с1ка. ос3кар оск1во о2ске ос1ки о2ски. о2сков ос1кой ос1ком о1с2коп ос1кою о2с1ку. ос1кую о1с2л ос3лей ос3лог ос3лых ос3ми ос3мос о1с2ним ос2нял ос2пас о1с2пу ос2пя ос2св ос2с3м о1ст ос2та о3стра о2суч 2осх ос2цен о1с2ч о1с2шив о1т отв2 от3ва от1ве от1ви от1вл 1отг 1отд 2о3тек о3тер 2о3тех о3ти о3ткал о2тм от1раб от1рад от1раз отра2с от1реж от1рек от1реч от1реш от1ри от1род от1рое от1рок от1рос от1роч от1руг от3см оту2а от1у2ч 1отх о3тью о3тья о1у2 оуп2 оус2к оу3та оу3то 2офаш о3фе 2офит 2офон о2фори 2офот о2фри 2охи ох1лы о2хля ох2ме 2охор о1хр о1ху о2цо оча1с оч2л оч1ле о3чли о1чт о2ч1то ош3ва ош2ла ошпа2к3 ош2т оэ1ти 2ою о1я оя2в оя2д оя2з оя2ри 1п пави3 пав3л па2вь па2др па2ен па1зо пас1л пас1та па1сте пас1то пас1ту па2с1ты па1тро па2ун па3ф па1ху па2шт 2п1в2 2п1д пе1 пе2дв пе2д1ин пе2з пе3за пе3зо пе2к1ла пе2ль пе4пл пери1о пе2с1к пе2сн пе2ст1р пе2сц пе2сч пе2тр пе2шт пиаст1 пи2ж3м пи2к1р 3пинк 3пися 4п3к 2пл. 4пла. пла1с п1лем. п1лемс 2плен п2ленк п1ле2о плес1к п1лею 2плив 3п2лик 2пло. 2плов 2плог 2плый 2плым п1лын п1лых 2плю. п1лют п2ляс п2ляш 2п1н п3на п3но1 п3ны по1б2 по3вл по3в2с под1во по2д1о2к подо3м2 пое2л пое2х по1зве по1здо по1з2л по1зн пои2щ 3пой 3полк по3мно по3мну 3по3п2 п1орг пор2ж по1ру по1с4 3посл по3сс пот2в пот2р по1х2 по2шло по2шлы по2шля поэ3м 2пп2 ппо1д 2пр. 3прев пре1з прей2 пре1л пре1ог 3прет при1 при3в приг2 при3д2 при3к при3л приль2 прип2 п2риц про1бл прод2л про3ж2 про1з2 п1розо 3прои про3п профо2 2прс п2ру 2п1с2 3п2сал п3син 3п2сих п3со 2п1т п2т3в 3п2тих п3ту 3пуб пуг3н пус1ку пу1ст пу3ть 2пф2 пх2 2пц 4п3ч 2пш 2пщ 2пь. 2пьт пэ1ра п2ю1 1ра. раа2 ра2бл 1рабо ра2б1р 1равня ра2гв ра2гл рад2ж радо1б2 ра2дц ра2жур ра2зий ра2зуб рак2в 1ракиз ра2к3л 1ралг 1рамк 1рамн ра2нох ран2сц ра2п1л рас3к2 1расл рас3п рас1т 1раста рас3т2л ра2так рат1в ра1т2р 2рахи 1ращи 1раю 1рая 2раят 2р1б рб2ла р2бле рб2ло рб2лю рбо3с 1р2вав р3вак р3вар р3вата р3веж р2вео 1рвет р1ви р3вин р2вит р1во рво1з2д р1вь 2рг р2гв р2г1л р2гн рг2р 2р1д рда1с р2д1в рд2ж рди2а р2дл рдос2 р2дц 1ре. ре1вр рег2ля рег2н ре2д1о2п ре2дос рее2в рее2д рее2л ре3ж2д 1резк ре1з2л ре1зна 1ре1зо ре1зр рез2у 1рейш ре1к2л 1рекш ре3мно 3ремо ремо2г3 1ренк 1рень ре1он ре1оп ре1о2р ре1о2ф ре1ох ре1о2ц 1репь ре3р2 рес1ки ре1сл ре1с2п рес2с3м ре3ста ре3сто ре1сч ре1тв ре1т2р реуч3т ре1чт ре3шл р3жа. р3жам р3жан р3ж2д 2рз р1з2в р1зо ри3а риб2 ри3бр ри3в2н 2риги ри2гло ри3г2н 2ридж ри1д2р рие2л рие3р риз2в рик2р ри3м2н ри3м2ч р2ин 1ринс рио2з рио2с ри1от ри3р2 ри1с2 ри3сб 2рисп ри3ств ри3т2р 1риу ри2фл ри3фр ри1хл 1риц 1риш риэти2 2р1к р2кв р2к1л рк1с 2р1л2 р2ль рлю1 р3ля 2рм р2мч 2р1н рнас4 рне3о рне1с2 рно3сл 1ро. ро2блю ро1б2р ро2вл 1рогол 1рогру ро1дв ро3д2з ро1дл род2ле ро2д1от ро1др 1родь рое2л рое2м рое2х 1розар ро1з2в ро1зр 3розыс рои2с3 1рокон 1рокр 1ролис 1ролиц 1ромор 1ронаж 1ронап 1ронос рооп1р ро2плю ро3пс 2р1орг ро1р2ж ро1ру ро1ск ро2ски ро2ску 1росл ро1см ро1с2п рос2ф 1росш 1росю 1рот2в 1ротк рот2ри 1роу роуг2 ро2ф1ак ро2фр ро1хл рош2л ро3шн 1рояз 2рп рп2ло р2плю 2р1р 4р1с рс2к р2сн рс2п рств2 р3ствл 2р1т р2такк р2т1акт р2т1в рт3ва рт2вл р2тм р2т1об рт1орг рт1ра рт2ран рт1ре рт1ри ртус1 р2т1у2чи р3тью рт1яч 1ру. 1руба руг3н ру2дар 1ружей 2рукс 1рул рус1к рус3л ру1ста руст1р ру3ть 1руха 1рухо 1ручн 2рф рф2л 2рх р2хв р2х1ин рх1л р1х2ло р2х1оп рх1р 2рц р2цв 2р1ч р2чл р2чм 2рш р3ш2м рш2т 2рщ 2ръ 1ры. 1рыб ры2дв 2рыз ры2кл 1рым ры2с1к ры2х1 2рь. 1рье 1рьи 2рьк 2рьс 2рьт 1рью 1рья рэ1л р2ю 1рю. 1рюс ря1ви 1ряю 1са са2бл са2дь са2кв са2кл 2с1альп с1апп 2с1арк 2с1атл са1тр са2ун са2ф1р са1х2 1сб2 2сбе3з2 сбезо3 сбе3с2 2с3бу с2бы 2сбю 1с2в 2с3вен сг2 с2ги с2гн с2го 1сд2 с2да с2де с3ди с2до 1с2е сег2н се1з2 се1кв сек1л се2к1р секс4 семи1 сере2б се2ск се2ст се3ста се3сте сест1р 1с2ж с1з 1с2и 3сиз си1ом си1оп си2пл си1х 4ск. 2скам с2канд 1с2каф 2сках ск2ва с2кви 3скино ск2л с2кля ск3ляв 2скн с1кон 2скона с2копс 2скош ск2р с1кра 2скриб ск1с 2скуе 2с3ла. 1слав 1слад с1лам 2с3лая с3лев с3лее с1лей слео2 с1лет с3лею 2с3ли. 2слиц 2с3ло. с2лож с3лому 2с3лос 2с3лую 2с3лые 2с3лый 2с3лым 2сль с1люс 2с3ля с2м 1смес с4мея с3мур с1н 1с2наб с2нас 2сная 1с2неж 2с3ник 2сно сно1з2 2сную 2с3ны 1со со1б2р с2ов сов2р со1д со1з2 со1л2г со3м2 со2рие со1ру со1ск со1с2п со2сь сот2р со1чл сош2л сп2 с2пав с2пее с2пел с2пен с2пех 1с2пец с2пеш с2пею с2пим 2спися с3пн спо1з2 2спол с2пос 2спь 1ср 2ср. с2раб сра2с с1рат сре2б1 сре3до 2с1с ссанд2 с2сб сс3во 4с5си с3с2к сс2л с2сн с3с2не с2сори сс2п сст2 сс2ч 2ст. 1ста. 2стб 4ств. ст1вер 2ствл ст2вол ст2вя с2те 1с4те. 1стей 1стел 1стен. с3тет. с3тете сте3х с3теш 1сти с2тие с2тии 2стимп 2стинд 2стинф 2стинъ с2тич с2тишк с2тию 2стк ст2ла с3т2ле 2стли ст2лил ст2лит 2стля 2стм 2стн 1сто. с2то1б 1стов 1стог сто2г3н 1стод 1стое 3с2тои 1сток 1стом 1стон 2сторг 2сторж 2сторс 1стос 1стот с2тоц 1стою 2стп 2стр. страс2 4страя 2стред ст1рей 2стрив ст1риз 2стрил 2стрищ ст1роа с4т1ров ст1род ст1рох ст2руб ст1руш 2стс с1тут 1стую 2стф 2стц 1сты с2тыв с4ть 2сть. 2стьс 3стью 1стья 1стям 1стях 1су су2б суб1а2 суб1о су1в су3гл су2ев су2з су1кр сума1 супе2 сус3л сус3п су1ст сут1р су2ф3 су1х 1с2фе с1х2 1с2хе 2сца с2цена 2с3ци 2сцо сч2 1сча с2час сче2с1к с3чив 2счик с2чит с1чл 2счо сш2 с3шн 1съ2 съе3д съе3л 1сы сы2г1 сы2з сы2п1л сы2с сыс1ка 2сь. 1сье 2ськ 2сьт 1сью 1сья сэ1р с2эс 1с2ю сю1с 1ся 2сяз ся3ть та2бл таб2р та1ври 1таг та2гн та1з2 так3ле т2ан та2пл 1тас та1ст та1тр 1тащ 2т1б2 2тв. 2т2ва т1вей т1вел т1вет 2тви т1вое т1во1з 2т1вой т1вос 2твою 2т1вр 2тву 2твы 2твя 2тг 2т1д 1т2е те2гн те1д те1зо 3тека тек1л 3текш теле1о тем2б1 те2о3д те1ох те4п1л те2рак тере2о 3терз тер3к 3теря те2ска те2с1ки те2с1ко те2ску тест2 те2хо 2тж 2т1з тиа2м ти2бл ти3д2 ти1зна тии2 тиис1 тик2 тила2м т1имп 2т1инв т1инд 2тинж 2тинф ти1с2л ти3ств ти3ф2р ти1хр 2т1к2 3т2кав 3т2кан 3т2кет 3ткн 2т1л тло2б т2ль тм2 тми2с тмист1 т3мщ 2т1н то2бес то1б2л 2тобъ то2вл то1д то3д2р то1з2 ток2р 2т1омм 2томс 2тонг 1торг 1торж 1торс то1ру 1торш то1с2н то1с2п то1с2ц 2тотд то3тк 1тощ 2тп2 тпа1т т1рага 2т1раж 2трб 2трв 2трг 2трд трдо2 т1реа 1требо 1требу т1ребь т1реве т1ревш т1рег т1ред т1рее т1реза т1резн треп1л 3тре2с трес1к т1рест т1рету 3т2ре2х т1рец т2решь т1рею 1триб т1рив три2г1л т1рил т1рим 4тринс три1о т1рит три3ф т1рищ 2трм 2трн т1рогл т1роид 2трой тро3пл т1рор т1росо тро3т 4т3роц 2трою 2трп 2трр 1труб т2руд 2трук т2рум т2рут 2трф 2трщ 2тръ т1ры т1ря. т1ряв 2т1ряд т1ряе т1ряж т1ряй т3ряк т1рят т1рящ т1ряя 4т1с2 т2сб т2с3д тсеп2 т2с3м т2с3п 2т1т т2тм ту2гр ту2жин 2т1у2пр ту1сл ту1ст ту2фл 1туша 1тушо 1тушь 1тущ 2тф 2т1х 4тц 2т1ч 2тш2 2тщ 2тъ ты2г1 ты2с1к 2ть 4ть. 3тье 3тьи ть2м 4тьт тью1 2тэ т2ю тю1т 1тяг 1тяж 1тяп 2тя2ч у1а у2але у2ас у3бел убо1д убос2 уб1р 1убра уб3рю 1у2быт у1ве. у1ви ув2л у1во у1ву у2гв у2гл у2гн уг2на уг2не уг1ре уг1ря уда1с уд2в уд1рам уд1ро у3ду у1е уе2д уе2л уе1с уе2с1к уес2л уе2х у2жж у1з2в у1зо узо3п у1и у1ка ук1в у1ки у1ко уко1б у1ку1 у1ла у1ле у1лу у1лых у1лю у2мч у3на ун2д1р у1нь у1о уо2б уо2в у2оза уо2к уо2п уо2с уост1 уо2т1 уо2ф у2пл уп1лю у3про у1ра у1ре уре2т3р у1ри урке3 у1ро у2род уро2дл урт2р у3ру у1ры у1рю у1ря у2сад у1сг ус1ка ус1ки уск3л ус1ком у1скр ус1ку. ус2л усла4ж3 ус3ли у1см у2сн ус2п ус3с у1сте у1стя у1сф 2усц у2сч у2сь у3сья у1та у3тер у1ти ут2ля у1то уто3п2с ут1ри у1ту у1ты у1тье у3тью 1утю у1тя у1у ууг2 уу2с у3фи уф1л уф2ля у2фр ух1ад уха2т у2хв у3х4во ух1л ух3ля ух1р у2чеб 1учр у1чь у3ше у3ши у2шл уш1ла у2шп 2уэ у1я уя2з 1ф фа2б1 фа2гн фа1зо фан2д фанд1р фа1тр фа2х 3фаш фаэ1 2ф1б 2ф1в 2фг 2ф1д фев1р фед1р фе1о3 фе2с1к ф4и фиа2к1 фи2гл фи2ж фи2зо фи2нин фи1о 3фит 2ф1к ф2ла ф2ли ф2ло 2фм 2ф1н 2фобъ 3фон фо2рв 2ф1орг фор3тр фо1ру фос1к 3фот фото3п ф1раб фра1з фра1с ф1рат ф2рен фре2с ф1ри ф2риж ф2риз ф1ро ф2рон ф1ру 2ф3с 2ф1т ф2тм ф2тор 2ф1у2п фу3тл 2фуф 2фф 2ф1ч 2фш2 2фь. ф2ю1 1ха ха2бл ха2д 2х1ак хан2д хао3 х1арш 2х1б 1х2в 2х3ве 2х3ви х3вы 2хг х3д2 1хе хео3 х1з2 1хи хиат1 хие2 2х1изы хи1с2 х1к2 х1лав х1лас х1лат х1лац 1хлеб х2лес х1лет х3ло. х2лоп 1х2лор х1лу 1х2му 2х1н 3х2ны 1хо 2х1о2к хоп2 хо2пе хо2пор хо1ру х1осм 2х1осн хоф2 хох1л хоя2 хп2 х1раз 1хран х1ра1с2 х1рей хри2пл х2рис х1ров 1хром хро2мч х1ры х1ря 2х1с2 2х1т 1ху. х1у2г 2хуе 2хуй 1хун х1у2р ху3ра 1хус 1хуш 2хую х1х2 2х1ч2 2хш хью1 1ц ца1 3ца. 3цам ца2пл 3цах 2ц1б ц2ве 2цвы 2цг 2ц1д це1з це1к це1от цеп1л цес2л це1т 2цетат 2ц1з ци1 ци2к1 цик3л ци2ол цип2 ци2ск циу3 циф1р 2ц1к2 2ц1л 2цм 2ц1н ц1о2б 2ц1о2д 2ц1от 2цп2 2ц1р 2ц1с 2ц1т 3цу 2цц 2ц3ш2 3цы цы2п цып3л цю1 1ча ча2др ча2дц ча2ево ча2евы ча2ер част1в ча1сте ча1сту ча1стя 3чато 3чаты 2ч1б ч1в 2ч1д 1че че1вл че2гл че1о чер2с черст1 че1сл ч2ж чжо2 1чи 3чик 3чиц 2ч1к 1ч2ла ч2ле ч3лег ч3леж 2чли ч2ли. 1ч2ло 1чм 2чма 2чме ч2мо 2ч1н 3чо 2ч1с 2ч1та ч2те 2чтм 1чу 3чук ч2х 2ч1ч 2чь. 1чье 1чьи 2чьс 2чьт 1чью 1чья 1ш ша2бл ша2гн ша2г1р ша2др шан2кр шар3т2 ша1ст ша1тро 2ш1б ш2в ш3вен ше2гл ше1к ше1о2 ше3пл ше1с2 ши2бл ши2пл шиф1р 2ш1к2 3ш2кол 2ш1лей 2шлен ш2ли. 2шлив 2шлил ш2лин ш2лис ш2лите ш2лиф ш2ло. 2шлов ш2лог ш1лы ш2лю 2шляе 2шляк ш2ляп 2шлят 2шляч 2шляю 2шм 3ш2мы 4ш3мы. 2ш1н 4шни ш2нур ш2п2 ш3пр 2ш1р 2ш1с ш1ти 2штс шу2ев шуст1 2шф ш1х 2шц 2ш1ч 2шь 4шь. 3шье 3шьи 3шью 3шья ш2ю1 1щ 2щ3в2 ще1б2л ще2гл щед1р щеи2 щеис1 ще1с ще1х щеш2 ще3шк щи2п1л 2щм 2щ1н 2щ1р 2щь. ъ1 ъе2г ъе2д ъе3до ъе2л ъ2е2р ъе2с ъе2хи ъю2 ъя2 ъя3н ы1 ы2бл ы3га ы3ги ыг2л ы2гн ы2дл ыд2ре ы2д1ро ы2дря ые2 ы3ж2д ыз2ва ыз2д ы2зл ы2зн ыз2на ыи2 ыиг1 ы2к1в ык2л ы2к3ло ыко1з ык1с ы2ль ы2мч ынос3л ы3по ыра2с3 ыр2в ыре2х ы3са ы3се ыс1ки ыс1ку ы2сн ы3со ыс2п ы2сх ыс2ч ы2сш ыт1ви ыт2р ы3тью ы3тья ыу2 ы2ш1л ы3шь ь1 ьб2 ь2вя ь2дц ь2е ье1зо ье1к ье2с1к ь2зн ь2и1 ь2кл ьми3д ьми3к ьмо1 ьне2о ь2о ь2п1л ь3п2то ьс2к ь2сн ь2сти ь2стя ь2т1амп ьти3м ь2тм ь2тот ь2траб ьт2ре ьт2ру ьт2ры ьхо2 ьхоз1 ь2ща ь2ще ь2щу ь2ю ь2я ья1в ь3ягс 1э э1в эв1р 2эг эд1р эк1л экс1 эк2ст эле1о э2м э3ма э2н э3нь эо2з э2п эпи3к э1ре э1ри эри4тр эро1с2 э1ру э1ры эс1 эск2 эс3м э2со эс3те эс2т1р э2те этил1а эт1ра э2ф эх2 эхо3 э2ц эя2 1ю ю1а ю1б ю2бв ю2бл ю2б1ре ю1в ю1дь ю1е юз2г юзи2к ю1зо ю1и ю2идал ю1к ю2к1в ю1ла ю1ле ю2ли ю1лю 2юм ю2мч ю2нь ю1о1 ю1ра ю1ре юре4м ю1ри юри2ск ю1ро ю1ру ю1ры ю2с1к ю1ста ю1сте ю1сто ю1стя ю1ти ю1то ю1ту ю1ты ю1х юха1с ю1ч ю2щь ю1я я2бр яб1ра яб3ре яб1ри яб3рю 3явикс я1во я1ву я1в2х я2г1л я2гн яд1в яд1р я1е яз2гн я1зо я1и я1к я2к1в я2к1л як1с я1л я2ль ям2б3л я2мь я3на янс2 я1ра я1ри я1ро я1рь яс1к яс1л яс2т яст3в я1сто яст1р я1та ят3в я3ти яти1з я1то я1ту я1ты я3тью я3тья я1тя я1у ях1л я1ху яце1 я2шл 2яю. 2я1я .бо2дра .вст2р .доб2рел .до1б2ри .об2люю .об2рее .об2рей .об2рею .об2рив .об2рил .об2рит .па2н1ис .пом2ну .реа2н .ро2с3пи .со2пла а2ньш атро2ск безу2с бино2ск виз2гн выб2ре гст4р ди1с2лов дос2ня дро2ж3ж 2дружей е2мьд е2о3плато е2о3пози ере3с2со 4ж3дик 4ж3дич заи2л зао2з 2з1а2хав заю2л з2рят зу2мь 6зь. и2л1а2мин илло3к2 й2кь ла2б1р лу3с4н ме2динс ме2д1о2см мети2л1ам мис4с3н нар2ват не2о3ре ни1с2кол ни4сь. но4л1а2мин н2трасс о2д1о2бол о4ж3дев о1и2с1тр ойс4ков о2м3че. они3л2ам он2трат о2плюс осо4м3н оти4дн пере1с2н по2доде по2д1у2ро пое2ж по2стин прем2но приче2с1к пти4дн редо4пл реж4ди рни3л2а3м роб2лею 2сбрук1 со2стрит со3т2кал 2стче. 2стьт сы2мит 2сься. 6тр. тро2етес 6хуя. ы2рьм ыя2вя ьбат2 а1вё а2двё а1ё аз3вёз а1лё 2алёк 2амёт ам2нёт а1рё ас3тём а1тьё 1бё бё2д1р б3лён б2лёс1к б2люё б1рёк б2рём б2рёх 1веё 3везё вёд1р 1вёз 2вёрд 1вёс в2лёк в2лёт 1вмё в2нёс 2в1рён 3всё3 1вьё г1лё г2лёт г2нёв г3нён г2ноё д1вё 1дё .доб2рёл 2доплё до2прё д1рё д2рёб 2д3рёж д2рём 1дрёма 1дрёмы 2д3рён дъё2м 1дьё еб1рён е1вё 2евёр 2е1врё е2глё е1ё 2ежё е3зё е1лё 2епё ер1вё е1рё ерё3до ерё1к2 ес2чёт ет1вё е1тьё 2ёб ё1бра ёб1ры ё1ве ё1во 2ё1вре ё1ву ё1дру 2ё3душ 2ёже ё3зе ёз1о2г ё1зом ё1ка ё1ки 2ё1ко 2ё1кр ёк2ро ё1ку ё1ла ё1ле ё1лу ё1лы 2ёмуж ё2мч ё3на ён2д1р ёнс2 ёпат2 2ёпе ё2пл ё3пла ёп1лу ё3плы ё4пн 2ёпо ё4пт ё1ра ё1ре ё3ре. ё1ри ё1ро ёр3ск ё1ру ё1ры ё3с2а ё1ск ё2с1ка. ё2ске ё4с1ку. 2ёсл ё3со ё1ст ёс2тан ё3сту ё1та 2ётеч ё1ти ё1то ёто1с ёт1р ё1ту ё1ты ё1тю ё1тя ёха2т ёх1ато ёх3вал ёх3лоп ёх1опо ёх1ру 3жёв жё1с2 ж2жё за3мнё з1вё з2вёз 1зё з2наё 2знё 1з2о3рё з2отё зот2рё 3зуё зъё2м 2зымё 2и1вё иг1рён и1ё их1рё 1каё 1кё к3лён к2роё 3куё ла1стё лё3до лё1з2о3 лёк1л 1лён лё2ск лё4ска 1лёх 2лоён 1луё 3льё 1льщё 3м2нёш 3м2щё нд2рё не3ё 1нё нё1б2 3номё 1ньё од3рёб о1ё оё2жи о1лё 2омё о3м2нём о3м2нёт о2п1лёй о1рё о2скё от1вё 2о3тёк о3тёр от1рёк от1рёш о3фё пё1 пё2ст1р пё2тр 2плён п2лёнк плёс1к п1лёю поё2ж 3прёт причё2с1к р2блё 1рвёт .рё2бр 1рёзк рё1зна 1рё1зо рёз2у 1рёкш 3рёмо 1рёнк рё3ста рё3сто род2лё роё2м 1рьё с2дё се3стё 1с2ё сёкс4 сё2ст сёст1р 2скуё с1лёт с2тё 1стёл 1стён. с3тёт. с3тёте стё3х с3тёш с3т2лё счё2с1к 1сьё т1вёл т1воё 1т2ё тё2гн тё1зо 3тёка тёк1л 3тёкш тё4п1л тёр3к тё2ска тё2с1ки тё2с1ко тё2ску тё2хо 3т2кёт т1ревё 3т2рё2х т2рёшь тро2етёс 3тьё уг2нё уг1рё .уё2 у1ё у1лё у1рё у1стё у3тёр у1тьё у2чёб у3шё 2х3вё 1хлёб х2лёс ц2вё 1чё чёр2с чёрст1 .чё2с1к ч2тё 1чьё 2шлён 3шьё ъ2ё2р ыд2рё ырё2х ы3сё ь2ё ьё1зо ь2щё ю1ё яб3рё .не8 8не. 8бъ. 8въ. 8гъ. 8дъ. 8жъ. 8зъ. 8къ. 8лъ. 8мъ. 8нъ. 8пъ. 8ръ. 8съ. 8тъ. 8фъ. 8хъ. 8цъ. 8чъ. 8шъ. 8щъ.",
+ ["characters"]="-абвгдежзийклмнопрстуфхцчшщъыьэюяё",
+ ["data"]=".аб1р .аг1ро .ади2 .аи2 .ак1р .аль3я .ар2т1о2 .ас1то .аст1р .ау2 .би2о .во2б3л .во3ж2д .го2ф .дек2 .де1кв .ди2ак .ди1о .до3п .до3т2 .епи3 .зав2р .за3м2н .за3п .иг1р .изг2 .из3н .ии2 .ик1р .ио2 .ио4на .ис3 .ле2о .ле2п3р .лес1к .ль2 .люст1 .ме2ж1у2 .ми1ом .мо2к1 .му2шт1 .на1в .на3т .на3ш2 .не3вн .не1др .не1з2 .не1сл .не1с2ц .не3т .нос1к .нук1л .обо3ж2 .ово1 .ог3н .оз4 .ос2ка .ос2п .ос3пи .от1в .от1ро .от1ру .от1уж .по3в2 .по3ж2 .поз2н .прос2 .ра2с3т .ре2бр .ре2з3в .ри2ск .ри2ч .ро2з3в .ро2с3л .ро2х .септ2 .ск2 .ст2 .су2ж .те2о3 .тиа3 .ти2г .тиг1р .ти2о .уб2 .уд2 .уе2 .уз2на .ук2 .ум2ч .уо3 .уп2 .ур2в .ус2 .ут2р .ую2 .хо2р3в .че2с1к .юс1 4а3а аа2п аа2р аа2ц а1б абе3ст а3бла аб2лю аб1ри а3бу ав1в а1ве ав3зо а1ви ави2а а1во аво1с а2вот ав1ра ав2се а2вт а1ву а2вх а3в2че 2ага ага1с2 а2гд а2гити а2гле аг2ли а2глос аг2лот 2аго а3гу а1д 2адв а2две ад2жи ади2од а2дл а2д1обл ад1ро а2д1ру аду3ч ад2ц а2дын а1е ае2го ае2ди ае2л а2еп ае2ре ае2с аза4ш3 азв2 аз3вез аз1вл азг2 аз1др аз1об аз2о1бр а2зовь а2золь а1зори аз2о1с аз1р а1и аи2г1 аи3гл а2их а1к ак1в 1акк ак2л ак3лем ако1б2 2аконс ако3т 2акри ак1с а1ла а3лаг а1ле 2алек а3ли ало1з а1лу алу2ш алуш1т а1лы а2льщ а1лю 2ама амб4 2амет а2минт ам2нет 2амо амо1з2 амои2 а2мч ана2дц а2н1а2ме а2наф ан2дра а2н1о2б ан1о2хр ан1р ан2сп анс1у ан2сур а2н1уз а1нь 2а1о ао2д ао2к ао2р ао2с аост1 а3пла ап2лом 2апо апо4вс апо3ч2т ап2ра ап1рел а1ра ара2ст ар2бок ар2вал 1аргу а1ре аре1дв аре1ол ар2жа а1ри а1ро ар2тор ар2т1р а1ру ар1х а1ры а1рю а1ря 2ас1к ас3ми ас3но 1ассиг аст1ву ас3тем ас2тин ас2тия ас1тоо ас1тух а1стье ас2шед ас2шес а1сьи а1та 1атак ат3ва ат1ви ат1ву 2атез а1ти а1то ат1обе а2томн ато2ш ат1рах ат1ри а1ту ат2х а1ты а1тье а3тью а3тья а1тю а1тя а1у а2уб ау2д ау3до а2уле аут1р ау2х ау2ч ау3чь ауэ1 а2ф1л ах2а ахми2 ах3с а1ч 2ача а2чл ач1т а2шл аэ2ли а2эр аю1та а1я ая2б ая2в ая2з 1ба ба2бв ба2г1р ба2др ба1з ба3зу балю1 ба2о бас3м ба1ст ба1тр 2б1б б1в бвы2 бг2 2б1д 1бе 3бев бе2гл бе2гн бе2д1р 3бее 3бе2з без1а2 без5д4 бе3зи без3н без1о2 без1р бе2с1к бес3п бе2с1т бес3те бес3ти 3бец 2бещ 2бж б1з2 1б2и 3биа би2б 2биж 3бик били3т2 3био би2об би2од би2он би2ор би2тв би1х 2б3к б1л 1благ 1б2лаз б3лази б2лан 1б2лее б3лен б2лес1к 1б2лея б2луд 1б2луж 2блы 2б2ль 2б3лю. б2люд б2люе б2люл 2б3люсь 2бля 2б3н 1бо бо1бра бо3вш бо2гд бо1дра бо1з2 бо1л2ж бо1льс бо3м2л бо2мч бо3мш бону1 бо1ру бо2са бо1ск бо3ско бо3сти 3бот бо2тв бот2р боя2р 2бр. б3раб б2рав бра1зо 1б2рал 2б1рам б2ран 1брас б2рать б1рах 1б2рач 2б3рая 1б2ред б1рей б1рек б2рем б2рех б2рид б2рито б2риты 1б2роди б1рол б1ром. 1б2роси бро2с1к 2брс б1ру 3брукс 2брь 1б2рю 2б3рю. б1ря 2б1с2 б3ск бс4л б1т 1б2у бу2г1р бук1л бу1с 2бф 2б1х 2бц 2б1ч 2бш 2бщ 1бы бы2г1 бы2с быс1к быст1 1бь 2бь. 2бьс 2бьт бэ1р 3б2ю бю1та 1бя 1ва ва2бр 3ваг ва2д1р вадь2 ва3ж2д ва1з ванс2 ва1ст ва2стр ва1тр вах1 3вац 3вая 2в1б в1ви в1вр 2вг2 в1д в2дох 1вев 3вег вед1р ве3ду 1вее 1вез 3везе 3везл вез2у 1вей. ве2п1 2верд 1вес ве2с1к ве2ст1в вет3р 1вец 1вею 1вея 1в2з2 взг2 взд2 взо1б взъ2 взъе3д ви2аз ви2ак ви2ар ви2а1с2 виа1т ви3аф ви2гв ви2гл 1виз 1винт 1винч ви1о ви1с2ни виу3 ви2ф 2в1к вк2л 3в2кус в1л в2ла 2в3лаб в2лев в2лек в2лет в2леч 2вли в2лия 2влю в2люб 2вля 2вм 1вме 2в1н 4в3на в2нес вно1 в3ну. 3в2нук 3в2нуч в3ны во1б2 во2б3ла вов2 во3вк 1вод во1дв во1др во2ер во2жж вои2с1 1вок во3м2 воп2 во1ру 2ворц 2ворь вос1к во1см во1сн вос3пе во2стр вот2р 1вох во1хл во3х2т 1вою 2вп2 2вр. 2вра. в2рав 2в1рам в1рас 2в1рах 2врац 2вре. 2в1рен 1врид 1в2риз в1рии в1рик в1рил в1рис в1рит 2в1ро вро3т2 2в1ры 1врю в1ря 2в1с2 3все3 в3ская 4в3ски 4в3ску 3в2сп 3в2сю в1т2 вто1б2 вто3ш 1вуа ву3г 1ву1з 2вуи 2ву1к ву3п ву1с2 ву2х1а вух3в ву1чл вф2 1вхо 2вц 2в1ч 2вш 3в2шив 2вщ въ2 1вы вы3г2 вы3зн вып2 вы3т2 вых2 вы3ш2л 2вь. 1вье 1вьин 2вьс 2вьт 1вью 1вья 1в2э1 1в2ю 1вя 1г г2а га1з га1ст2 га2у 2г3б гба2 г1ви 2гг г3дан 2г3ди 3ге. ге2б1 гено1 ге2об ге2од ге1ор 2г3ж 2г1з г2и ги2бл ги3бр ги2гр ги1сл гист2 2г1к 2гла. г2лав г1лай г1лами 2глась 2глая г1ле г2лет 2гли. г2лин 3г2лиф 2гло. г3лобл 2глов 2глог 2глое 2глой 2глою 2глую 2г1лы г2ляж 2гляк 2г3м г2нав г2нан г3не. г2нев г3нен г3неп г3нес г2нир гнит2р г2ное г2нои г2нос г3ня го1б2 го2вл го3ж2д го1з го2зл гоз2н гоиг2 3гой г2ол гоми2 го2с1а го2сд го1скл го1сн го1спа 2готд гоу3т го1чл 3гою 2гп 2гр. г1рае г1рай г1рар г1рег г1рек г1рец гри4в3н г1рик г1рил г1рин г1рис г1рич г1ров г2роз г1рок г1рон г1роп г1рот г1роф гру2п г1рыв 2грю г1ряе г1рял г1рят 2г3с2 г4са г4сб 2г3т гу1в гу1с гу2с1к 2гф 2г1ч 2г3ш 2г3э 1да да2б1 да2ген да2гр да1з да2о даст1р дат1р 2д1б дв2 д1ве 1дви 2д1вид 2двиз 2двинт 2двинч 2д1вис 2д1вит д3вк д1вл 2двод д1воз 1дворь 2двя 2дг2 2д1д2 1де де1б2л де1б2р 3девр 3дез де2з1а2 де2зи дез1о2 де2зу деио2 де1кл 3деме де2од део3п де3пл дерас2 де2с3в дес2к де2ср де1хл 2дж. д2жам д2ж3м 2джс 2д1з2 1ди ди2ад диа2з ди2али ди2ало ди2ар ди2ас ди2об дио3де ди2ор дио1с ди1оти дип2 ди2пи ди3пт ди2с1тр диу3 ди3фр ди3фто ди1х 2д1к д1л д2лев 2д3м2 2д1н д3на днеа2 3дневн 4д3но1 дно3д2 днос2 4д3ны 3д2няш 1до 2д1о2бед до2бл 2д1обла до1б2ра дов2л до3в2м до1д2 до3дн до3ж2д до1з доз2н дои2р 2докт 2долим до2м1р доп2 до3пл 2допле до2пре до2руб до1с д1о2сен д1о2син 2д1осно дос2п 2дотд 2дотл дот2ри 2д1отря 2дотъ до3ть 3дохл до2ш3в до3ш2к до2шлы до2щу 2дп 2др. д1раб 1дравш 2дразв 1д2разн д1ране д1рар д1ра2с3 д1рах д1рач д2раю д1ре д2реб 2д3реж 2дрез д2рел д2рем 1дрема 1дремл дрем3н 1дремы 2д3рен дре2ск д2ресс д1ри д2рий 2дрин д2рип д2рих дро2г3н д1род д1рое 1д2рож 2д3роз д1рой д1рол д1рон д1рос д1рот д1рою д1руб 1друг 1друж д1рум д1рую д1ры 2дрыв 1д2рыг д1ря д2ряб 1д2ряг д2рях 2д1с2 дск2 дс3кн 2д1т 1ду дуб3р ду3г 2д1уд ду2да ду2о дуп1л дус1к д1усл ду1ст ду2ста 2дут1р ду1х ду2чи дуэ1т 2дф д1х 2д3це 2дцу 2дцы 2д1ч 2д3ш2 2дщ 2дъ дъе2м 1ды 2дыг ды2г1р 2дыд 2дыме 2ды2с1 2дыт 2дыщ 2дь. 1дье 2дьк 2дьт 1дью 1дья дь3яр 1д2ю 1дя е1а еа2д еади3 еа3до еа2з еан2д1р еат1р 2еб еба2с е1бра еб1рен еб1ри е1бро еб1ров еб1ры е2б3рю е1ве 2евер е1ви е3в2ме ев2ним ев2нят е1во 2евол евра1с 2е1вре ев1рее ев1рей ев1рея ев1ри е2вт е1ву е1вх ев2хо е1вь ега1с2 ег2д е2глан е2гле е2гли е2гло ег2на ег2но 2ег2р ед1во ед2ж е1дже е1д2лин едноу3 ед1опр е2дотв е2дох е2д1ощ е1дру е2дру. е2ду2б ед1убо е2дуве е2дуг е2дус ед1уст 2е3душ е2дын е1е е2евид ее2в1р ее2ги ее1с2 ее2ст еест1р ее2х е2жг е4ждев еж3ди 2еже е2ж1р еза2вр езау3 е1з2ва езд1р е3зе еззу3 е3зит ез1об ез1о2г е1зом ез1оп ез1о2р ез1от ез1ош ез2ря ез1у2д ез1у2к ез1уп ез1ус езу2со езу2сы ез1у2х ез1уча е3зя е1и еи2г1 еи2д еи2м еи2о еис1л еис1тр е1ка ека2б ек2з е1ки 2е1ко 2е1кр ек2ро ек1ск ек1сте е1ку е1ла е1ле еле3ск еле1сц е1лу е1лы е1лю е3ля еми3д2 еми3к емо1с 2емуж е2мч 2емыс е3на ен2д1р 2е1нр енс2 ен3ш2 е1нэ 2ео е1о2б еоб2ро е2о3гл ео2гро е1од ео3да ео2де еоде3з ео2до е1о2ж е2ои ео3кл е1ол. е1ола ео3ли е1олк е1олы е1оль е2ом е1он. е2она е2они ео3но е1онс еоп2 е1опе ео2пр ео4пу е2о3ро еос2 е1о2сви ео1ск е1осм е1осн еост1р ео3сх е1отл еот2ру е1о2ч е1о2щ епат2 епа1тр 2епе епис2к е2пл е3пла еп1леш е3п2лод еп1лу е3плы еп1лющ е4пн 2епо е4п3с е4пт е1ра ер1акт е2рв ер1ве е1ре е3ре. ере3до ере1др ере1к2 ере3м2н ере3п ере1х4 е1ри ерио3з е1ро еро2б ер1обл 2ерови 2ерокр 2ерол еро3ф2 ер3ск е1ру е2р1у2п е1ры е1рю е1ря е3с2а ес2ба е1сг е1ск е2с1ка. ес1кал е2ске е2сков е4с1ку. 2есл ес1лас ес2лин ес2лов ес2лом е1слу е1слы е1с4м е3со 2есп ес2пек ес3пол е2спу е1ст ес2тан е2стл е3сту ес2чет е1та ет1ве ет1ви е1тво 2етеч е1ти е1то ето1с ет1р ет2ря е1ту е1ты е1тье е3тью е3тья е1тю е1тя е1у2 2еуб еуб3р еуз2 еук2ло ефи3б2 еф2л еф1ре еха2т ех1ато ех3вал ех3лоп ех1об ех1опо ех1ре ех1ру ех1у2ч 2ецв е1чл е2шл еэ2 ею2г е1я ея2з 1ж жа2бл жа2бр жа1з жат1в 2ж1б2 2ж1в жг2 2жга ж2ги 3ж2гл ж2гу 2ж1д ж2дак ж2дач 3ж2дел 4ждеме ж2деп ж2ди 4ж2дл ждо3 жду1 4ждь 3ж2дя 3жев же3д2 же1к2в же1кл же1о2 же3п2 же1с2 же3ск 2жжа ж2же 2жжев 2ж1з2 жи1о 2жирр 2ж1к 2ж1л ж2м ж3ма 2ж3мо 2ж1н жно1 2ж1об 2ж1о2т1 жоу3 жоу1с 2жп2 жпо1 ж2ру 2ж1с 2жф 2жц 2ж1ч 2жъ 2жь. 2жьс 2жьт 1за1 заа2 заб2 за2в1ри за2вру з1аву заг4 з1адр зае2д зае2х за3ж2д за3з2 з1акт за3мне 3з2ан за3на занс2 зап2 зар2в за3р2д зар2ж зас2 заст2 зат2 за3тк зау2 зах2 зач2т за3ш2 зая2 з1б2 2з3ва. з2вав з3валь з2ван 2звая з1ве з2вез з1ви з3в2к з1вла з1во 2звол 1з2вон з1вр 1зву 2з1вую з1вь 2зг з3га з2гли зг2на з2гну з1д2в з2деш здож3 1зе зе2б1 зе2ев зе2од 2зж2 з3з2 1зи 3зи. 3зий. з1инт зи2оз зи2оно зи1оп 3зис зи3т2р зиу3м 3зич 2з1к зко1 зко3п2 з1л з2лащ з2лоб з2лоп з2лор з2лющ 2зм2 з3мн з1н 2зна. з2нав з2нае з2най з2нак з2нан з2нат з2наю 2зная 2зне 2з3ни 2зно 2зну 2з3ны з2обе зо2би 1зов зо3в2м зо2гл зо1др 1зое зо1з2 1зои 1зой. 1зок. з1окс 1зол2 зо1лг зо1лж зо3м2 1зом. 2зомн 1зон 2зонр 1зоо зо2о3п зо2ос зо2па з2опл з2опр з1орг 1з2о3ре зос2 з1осн зо1сп зо2тв з2оте з1отк з2ото зот2ре зот2ри 1зох зош2 зо2ши 1зоэ 1зою з1ра з2рак зра2с з2рач з2рен з1рес з2риш з1ро зро2с3 з1ру з2рю з1ря 2з1с 2зт з1ти 1зу 3зу. 2з1у2бе зу2б3р зу1в 2зуве 2зу2г 3зуе 2з1уз3 2зу1к 3зуме з1у2мо 2зуп зу2пр з1урб з1у2те зу2час 2зц з1ч 2зш зъе2м 1зы 2зы2г1 зы2з 2зыме 2зымч 2зы2с1 2зыщ 1зье 1зьи 1зью 3зья 1з2ю 1зя и1а и2аб и2ав иаг2 и2агр и2аде и2ади иа2зов иа2му и3ана иа2нал ианд2 иао2 и2ап иа1с2к иа1ста иа1сто иат1ро и3ату и2аф и2а1х иа2це 2и1б и2б1р 2иваж 2и1ве и2в3з и1ви 2и1во и1в2р и3в2с и1ву ив2хо 2ивы иг2д и3ге 2игл и2гле и2гли и2гн игни3 иг1рен иг1ро иг1ру иг1ры и2г1ря и1дв и2дей и1д2ж иди1ом иди1от ид1р и1дь и1е и2евод ие2г ие2д ие3де ие2зу и3ени ие1о2 иепи1 ие2р и3ж2д из1в2 из2гне 1из1д из2нал и1зо изо2о из1р и1и ийс2 и1к и3к2а ика1с2 ик2ва и2кви и2кля и3ко ик1ро ик1ск ик2с1т и3ку и1л и2л1а2ц ило1ск илп2 и2л1у2п и2ль ильт2 2има и2мено и2мену 2имень и3ми имои2 им3пл и2м1р и2мч им2ча инд2 1инж ино2к3л ино3п2л ино1с инс2 1инсп 1инсти 1инсу 1инф 1инъ и1об ио2бо ио2вр и2ог и1од ио2де и1оз ио3зо и1окс и1оле и1он и3онов и1опт и1ор и3ора ио1ру ио2са ио3скл ио1с2п и1ота ио2т1в и1отк и1отс иоуг2 ио2хо и1ош 2ип ипат2 ипа1тр ип2ля ип3н ипо3к2 и1р ира2ст и2р1ау и2рв и2рж ири2ск ириу3 иро1з2 1ирр исан2д1 и2сб и2сд ис1к ис3ка. ис3кам ис3ках ис3ке ис3ки ис3ков ис3ку. и2слам ис1лы ис3ме ис3му ис3но исо2ск и2с3пр и4сс и1ст и2ст1в и2стл ис1тяз и1сьи и1т ита2в ит3ва и2т1ве ит1ви ит1ву и2тм и2т1р ит2рес ит3ром и2т1уч и3тью и3тья и1у2 иу3п иф1л иф2лю и2фр иха3д и2х1ас их2ло2 ихлор1 и3х2о ихо3к их1ре их1ри и1ху и1ч иш2ли и2шлы и2шт ию4л ию2н ию2т ию3та и1я ия2д 2й1 йд2 й2д3в йно1 й2о1с йо2тр йп2л й2сб й3ска йс2ке йс4мо й2с3му й2сн й2с3ф й2сш й2тм й2хм йх2с3 йя1 ка2бл ка2бри 1кав к2ад ка3дне ка2д1р 1кае каз3н ка1зо 1кай 1кал. 1кало 1калс 1кам 1кан ка2п1л ка2пре кар3тр 3к2ас ка1ст 1кат ка1т2р 1ках ка2ш1т 1каю 2к1б к2вак к2вас к2ваш к1ви к2воз к1ву 2кг 2к1д кда2 1ке 2кеа ке2гл кед1р ке2с1к ке2ст1 2к1з 1кив ки1о киос1 ки2пл ки1с2ни 1кит 2к1к2 кк3с 2к3ла. 2к3лась 2к3ле. 2клем к3лем. к3лен к1лео 2к3ли. 2к3лив к2лик к2лин 2к3лис к3лия 2к3ло. к2лоз к3лом 2к3лос кло3т 1клук к3лы 2кль 1клю 2к3лю. 2кля. 2клям 2клях 2км 2к1н 3к2ниж к2ноп 3к2няж к2о ко1б2ри 1ков 3кова 1код ко1др 1коз 1кольс 2комин 3конс коп2р ко2р3в ко1ру 1кос ко1ск кос3м ко1сп 1котн ко2фр кохо2р3 1кош 2кп 2кр. к1рел кре1о кре2сл к1реч 1криб к1рид к2риз кри2о3 к2рит к1рих к1роа к1роб к2рое к1рок к1роо к1рор к1рос к1роф к1рох к1роэ кру1с к1ряд 2кс ксанд2 к2с3в кс3г к2с3д к2сиб к1ски кс1кл к1ско кс3м к3со к1стам к1стан кс3те к1сто кс1тр к1сту к3су 2к1т кта2к 3к2то. кто1с кт2р к2у ку1ве 3куе 1куй 1куля 3кум куп1л ку2п1р 1кур ку3ро кус1к ку1ст 1кут ку3ть 1куче 1куют 3кующ 2кф 2к1х2 2кц 2к1ч 2кш 1кь к2ю 1ла. 2лабе ла2бл 2лаго ла2гр ла2д1аг 1лае ла3ж2д ла1зо л2ак лак2р 1лам. 1лами. лан2д1р ла1ста ласт1в ла1сте ла1сто ла2ст1р ла1сту ла1стя ла1т2р лау1 ла2ус ла2фр 1ла1х 1лая 2лб л1бр л1ве л1ви л1во л1ву 1л2гал л2гл лго1 2л3д2 1ле. ле1вл лев1ра ле2г1л ле1дж ле3до ле1з2о3 ле1зр лек1л 2лемн 1лен ле1онт ле1о2с ле2сб ле2ск ле4ска ле1с2л ле1спе ле1тв ле1т2р 1лех ле1хр л1зо 1ли лиа2м 3ливо 3ливы лиг2л ли2гро лие3р ли2кв 2лимп лио1с ли2пл лис3м 2л1исп ли2тв лиу3м ли2х3в ли1хл ли1хр 2л1к лк2в л2к1л 2л1л л2ль ллю1 2лм 2л1н лни2е 1ло ло2бл ло1б2р 2ловия ло2вл 3ловод ло2г3д лого1с ло1др 2лоен ло1зв ло2к1а2у ло2кл лок3ла 3лопас ло2рв 2л1орг ло1ру лос1к ло1с2п 2лотд лот2р ло2шл 2лп 2л1с2 лс3б л1т 1лу. лу1бр лу1в лу3г лу1д4р 1луе лу1зн лу1кр 1лун луо2д лу3п2ло лу1с лу3ть 1лую 2л3ф2 2л1х2 л2х3в 2лц л1ч 1лы. 1лые 1лыж 1лый 1лым 1лых. 4ль. 2льд 3лье 3льи 2льк 2льм 2льн 3льо 2льск 1льсти 1льстя 2льт 2льц 2льч 1льща 1льще 1льщу 3лью 3лья л2ю 1лю. 1люж 1люсь лю1та 1ля 3ля. ля1ви 3ляво 3лявы 2ляд 3лям ля1ре ля1ру 3лях 1м ма2вз 3маг ма2гн ма2др ма2дь ма1зо ма2к1р 2м1алл ман2д1р мас3л ма1с4т ма2тоб ма2т1р ма2у маф2 3мач ма2чт 4м1б м3би мб2л м3бля 2м3в2 2мг2 3м2гл 2м1д меан2 ме2ег ме2ел ме2ж1ат ме1зо ме2с1к ме2ст1р меч1т 2мж 2м1з2 ми2гре ми1зв 2мизд ми1зн ми2кр мик1ри ми2оз ми1опи ми2ор ми1с2л 2м1к2 3мкн 2м1л м2лее м2лел 2мм 2м1н 4м3на мне1д 3м2неш 4мное м2нож 4мной 4мном м2нор 4мною м2нут 4м3ны мо1б2 мо3вл 3мод мо1др мо2жж мо1зв мо1зр моис1т мо2к3в мо3м2 3мон 3моп мо1ру мос1ка мо1см мо1сн мо1с2п 3моти мо2т1р 3моф 2мп мп2л м1раб 2мри 2м1ро м1ры 2м1с мс2к мс2н м2с1ор 3м2сти 2м1т му1с2к му1с4л му1ст мут1р му3ть 2мф мфи3 2м1х 2мц м2чав м2чал м2чит м2чиш 2мш2 2мщ 3м2ще мым1 мы2мр мы2с 2мь. 2мьс мью1 2мэ мэ1р м2ю мя1р мя1ст 1на наби1о наб2р на1в2р наг2н на3жд на1з2 на2ил на2ин на2и1с2 4накк на3м2н нап2л на1рва на1р2ви на1с2 на1тв на1т2р н1а2фр на1х2 2нач на3ш2л 2нащ наэ1р 3ная 2н1б2 2н1в 2нг н2г1в нги2о нг4л нго1с нг2р 2н1д н2дак н2д1в нде3з нде2с нд2ж н3д2з н2дл нд1раг нд1раж нд2ре нд2риа н2дря нд2сп н2дц 1не не1б2 не1в2д 2невн не3вня нег2 3нед не1д2л нед2о не2дра не1дро не3ду не3е нее2д не3ж2д не1зв не1з2л не1зн не1зо не1зр неи2 не1к2в не1кл не3м2н 3не1о2 не2ода не2ол не3п2 не1р2ж не2р1от нес2к не3с2н не1с2п нест2 не1с2х не1с2ч не1т2в не3т2л не1т2р 3неу не2фр не1хр не3шк нея2 2н1з2 нзо1с 1ни ни3б2 ни2ен 3ний ни2кл нила2 ни2л1ал ни2л1ам 2нинсп 2н1инст ни1сл нис3п нист2р ниу3 ни1х 3ниц 3нищ 2н1к нк2в нк2л нкоб2 нко3п2 н2к1ро нк1с н1л 2н1н нно3п2 1но ноб2 но1бр но2вл но1дв но1др но2ер но1зв но2зд но3з2о но1зр но3кн 3номе ном3ш но2рв но1ру но1скл но2сли но1с2п но2сч 2нотд но3ф2 ноэ2 н3п2 2н1ре 2н1ри н1ро 2н1с н2с3в н2сг нс2ке н2скон н2сл н3сла н2с3м н2сн н2с1ок н3с2пе нст2р нсу2р н2с3ф н2съ3 2н1т н2т1в нти1о2к н2тм нт2ра н2тр1а2г нтр1аж н2трар нтрас2 нт2ре н2трив н2трок нт2ру нтр1уд нт2ры н2т1ря 1ну нут1р ну1х 3ную 2нф2 н1х нхо1 2нц 2н1ч н2чл 2нш нш2т 2нщ 1ны 3ны. 2нь. 1нье 1ньи 2ньк 1ньо 2ньс 2ньт 2ньч 1нью 1нья н2э 1н2ю 2н3ю2р 1ня ня1ви 2о1а2 о3ав оап1 2оба 2обио об2лев об2лем о1блю 1обм обо1л2г обо3м2 обо2с 2обот об1р о2бра. о1брав о1бран 1объ 2обь о1в о3вла о3в2ло ов3но о3в2нуш о2в1ри ов2се ов3ско ов2т о2вх ог2 2о3ге ог3ла. ог3ли. ог3ло. о3гря 2одан од1вое о3де. 1о2деял 2оди3а 2о3дим од2лит о2д1о2пе одо3пр о2д1о2пы о2доси о2д1отч о1драг од1раж од1раз од1рак о1драл од3реб о1дроб од1ров о2д1у2ч о2дыма о2дыму о2дын о1дь о2дьб о1е ое1б о2е1вл ое2д о3ежек ое2жи ое1о ое1с2 ое2ст о2ето ое2ц о3жди о3ж2ду оза2б3в 2озав о1з2ва оз2вен оз2ви о1з2вя оз2гло оз2дор о1здр озе1о оз3но о1зо о2з1об 2озон о2зоп озо1ру оз1уг о2зым о3зыс о3и ои2г1 оиг2н оие3 ои2з ои2м ои3мо ои2о 2ой ойс2 о1к 2о3кан ок2в 2ок2л о3клю око1б 2о3кол око3п2л ок1ск 1окт 2окти 2окум о3ла ол2ган о1ле 1олимп о3ло о1лу олу3д2 о1лы о1лю о3ля о3ма ом2бл 2оме о3м2нем о3м2нет о3множ ом1ри ом2ч ом2ше о2мь о3мья о3на онд2 оне3ф2 оно1б о1нр онс2 он2тру о1о2 о2ол оо3пс оос3м оост1р о2оти о2оф о3пак о3пар о2пле. о2п1лей о2пли оп2лит оп2ло оп3лю. о2пля о3пляс опо4вс опоз2н опо2ш3л оп2ри о3п2те оп2то о1ра ора2с3 ор2б3л о1р2в о1ре 2о3рег оре2ск о1ри ор1исп о1ро оро2с3л ор2тр о1руе о1рук ор1укс о1рус 2орц о1ры о1рю о1ря о3сад оса3ж2 ос2б о2с3ба о2с1ка. ос3кар оск1во о2ске ос1ки о2ски. о2сков ос1кой ос1ком о1с2коп ос1кою о2с1ку. ос1кую о1с2л ос3лей ос3лог ос3лых ос3ми ос3мос о1с2ним ос2нял ос2пас о1с2пу ос2пя ос2св ос2с3м о1ст ос2та о3стра о2суч 2осх ос2цен о1с2ч о1с2шив о1т отв2 от3ва от1ве от1ви от1вл 1отг 1отд 2о3тек о3тер 2о3тех о3ти о3ткал о2тм от1раб от1рад от1раз отра2с от1реж от1рек от1реч от1реш от1ри от1род от1рое от1рок от1рос от1роч от1руг от3см оту2а от1у2ч 1отх о3тью о3тья о1у2 оуп2 оус2к оу3та оу3то 2офаш о3фе 2офит 2офон о2фори 2офот о2фри 2охи ох1лы о2хля ох2ме 2охор о1хр о1ху о2цо оча1с оч2л оч1ле о3чли о1чт о2ч1то ош3ва ош2ла ошпа2к3 ош2т оэ1ти 2ою о1я оя2в оя2д оя2з оя2ри 1п пави3 пав3л па2вь па2др па2ен па1зо пас1л пас1та па1сте пас1то пас1ту па2с1ты па1тро па2ун па3ф па1ху па2шт 2п1в2 2п1д пе1 пе2дв пе2д1ин пе2з пе3за пе3зо пе2к1ла пе2ль пе4пл пери1о пе2с1к пе2сн пе2ст1р пе2сц пе2сч пе2тр пе2шт пиаст1 пи2ж3м пи2к1р 3пинк 3пися 4п3к 2пл. 4пла. пла1с п1лем. п1лемс 2плен п2ленк п1ле2о плес1к п1лею 2плив 3п2лик 2пло. 2плов 2плог 2плый 2плым п1лын п1лых 2плю. п1лют п2ляс п2ляш 2п1н п3на п3но1 п3ны по1б2 по3вл по3в2с под1во по2д1о2к подо3м2 пое2л пое2х по1зве по1здо по1з2л по1зн пои2щ 3пой 3полк по3мно по3мну 3по3п2 п1орг пор2ж по1ру по1с4 3посл по3сс пот2в пот2р по1х2 по2шло по2шлы по2шля поэ3м 2пп2 ппо1д 2пр. 3прев пре1з прей2 пре1л пре1ог 3прет при1 при3в приг2 при3д2 при3к при3л приль2 прип2 п2риц про1бл прод2л про3ж2 про1з2 п1розо 3прои про3п профо2 2прс п2ру 2п1с2 3п2сал п3син 3п2сих п3со 2п1т п2т3в 3п2тих п3ту 3пуб пуг3н пус1ку пу1ст пу3ть 2пф2 пх2 2пц 4п3ч 2пш 2пщ 2пь. 2пьт пэ1ра п2ю1 1ра. раа2 ра2бл 1рабо ра2б1р 1равня ра2гв ра2гл рад2ж радо1б2 ра2дц ра2жур ра2зий ра2зуб рак2в 1ракиз ра2к3л 1ралг 1рамк 1рамн ра2нох ран2сц ра2п1л рас3к2 1расл рас3п рас1т 1раста рас3т2л ра2так рат1в ра1т2р 2рахи 1ращи 1раю 1рая 2раят 2р1б рб2ла р2бле рб2ло рб2лю рбо3с 1р2вав р3вак р3вар р3вата р3веж р2вео 1рвет р1ви р3вин р2вит р1во рво1з2д р1вь 2рг р2гв р2г1л р2гн рг2р 2р1д рда1с р2д1в рд2ж рди2а р2дл рдос2 р2дц 1ре. ре1вр рег2ля рег2н ре2д1о2п ре2дос рее2в рее2д рее2л ре3ж2д 1резк ре1з2л ре1зна 1ре1зо ре1зр рез2у 1рейш ре1к2л 1рекш ре3мно 3ремо ремо2г3 1ренк 1рень ре1он ре1оп ре1о2р ре1о2ф ре1ох ре1о2ц 1репь ре3р2 рес1ки ре1сл ре1с2п рес2с3м ре3ста ре3сто ре1сч ре1тв ре1т2р реуч3т ре1чт ре3шл р3жа. р3жам р3жан р3ж2д 2рз р1з2в р1зо ри3а риб2 ри3бр ри3в2н 2риги ри2гло ри3г2н 2ридж ри1д2р рие2л рие3р риз2в рик2р ри3м2н ри3м2ч р2ин 1ринс рио2з рио2с ри1от ри3р2 ри1с2 ри3сб 2рисп ри3ств ри3т2р 1риу ри2фл ри3фр ри1хл 1риц 1риш риэти2 2р1к р2кв р2к1л рк1с 2р1л2 р2ль рлю1 р3ля 2рм р2мч 2р1н рнас4 рне3о рне1с2 рно3сл 1ро. ро2блю ро1б2р ро2вл 1рогол 1рогру ро1дв ро3д2з ро1дл род2ле ро2д1от ро1др 1родь рое2л рое2м рое2х 1розар ро1з2в ро1зр 3розыс рои2с3 1рокон 1рокр 1ролис 1ролиц 1ромор 1ронаж 1ронап 1ронос рооп1р ро2плю ро3пс 2р1орг ро1р2ж ро1ру ро1ск ро2ски ро2ску 1росл ро1см ро1с2п рос2ф 1росш 1росю 1рот2в 1ротк рот2ри 1роу роуг2 ро2ф1ак ро2фр ро1хл рош2л ро3шн 1рояз 2рп рп2ло р2плю 2р1р 4р1с рс2к р2сн рс2п рств2 р3ствл 2р1т р2такк р2т1акт р2т1в рт3ва рт2вл р2тм р2т1об рт1орг рт1ра рт2ран рт1ре рт1ри ртус1 р2т1у2чи р3тью рт1яч 1ру. 1руба руг3н ру2дар 1ружей 2рукс 1рул рус1к рус3л ру1ста руст1р ру3ть 1руха 1рухо 1ручн 2рф рф2л 2рх р2хв р2х1ин рх1л р1х2ло р2х1оп рх1р 2рц р2цв 2р1ч р2чл р2чм 2рш р3ш2м рш2т 2рщ 2ръ 1ры. 1рыб ры2дв 2рыз ры2кл 1рым ры2с1к ры2х1 2рь. 1рье 1рьи 2рьк 2рьс 2рьт 1рью 1рья рэ1л р2ю 1рю. 1рюс ря1ви 1ряю 1са са2бл са2дь са2кв са2кл 2с1альп с1апп 2с1арк 2с1атл са1тр са2ун са2ф1р са1х2 1сб2 2сбе3з2 сбезо3 сбе3с2 2с3бу с2бы 2сбю 1с2в 2с3вен сг2 с2ги с2гн с2го 1сд2 с2да с2де с3ди с2до 1с2е сег2н се1з2 се1кв сек1л се2к1р секс4 семи1 сере2б се2ск се2ст се3ста се3сте сест1р 1с2ж с1з 1с2и 3сиз си1ом си1оп си2пл си1х 4ск. 2скам с2канд 1с2каф 2сках ск2ва с2кви 3скино ск2л с2кля ск3ляв 2скн с1кон 2скона с2копс 2скош ск2р с1кра 2скриб ск1с 2скуе 2с3ла. 1слав 1слад с1лам 2с3лая с3лев с3лее с1лей слео2 с1лет с3лею 2с3ли. 2слиц 2с3ло. с2лож с3лому 2с3лос 2с3лую 2с3лые 2с3лый 2с3лым 2сль с1люс 2с3ля с2м 1смес с4мея с3мур с1н 1с2наб с2нас 2сная 1с2неж 2с3ник 2сно сно1з2 2сную 2с3ны 1со со1б2р с2ов сов2р со1д со1з2 со1л2г со3м2 со2рие со1ру со1ск со1с2п со2сь сот2р со1чл сош2л сп2 с2пав с2пее с2пел с2пен с2пех 1с2пец с2пеш с2пею с2пим 2спися с3пн спо1з2 2спол с2пос 2спь 1ср 2ср. с2раб сра2с с1рат сре2б1 сре3до 2с1с ссанд2 с2сб сс3во 4с5си с3с2к сс2л с2сн с3с2не с2сори сс2п сст2 сс2ч 2ст. 1ста. 2стб 4ств. ст1вер 2ствл ст2вол ст2вя с2те 1с4те. 1стей 1стел 1стен. с3тет. с3тете сте3х с3теш 1сти с2тие с2тии 2стимп 2стинд 2стинф 2стинъ с2тич с2тишк с2тию 2стк ст2ла с3т2ле 2стли ст2лил ст2лит 2стля 2стм 2стн 1сто. с2то1б 1стов 1стог сто2г3н 1стод 1стое 3с2тои 1сток 1стом 1стон 2сторг 2сторж 2сторс 1стос 1стот с2тоц 1стою 2стп 2стр. страс2 4страя 2стред ст1рей 2стрив ст1риз 2стрил 2стрищ ст1роа с4т1ров ст1род ст1рох ст2руб ст1руш 2стс с1тут 1стую 2стф 2стц 1сты с2тыв с4ть 2сть. 2стьс 3стью 1стья 1стям 1стях 1су су2б суб1а2 суб1о су1в су3гл су2ев су2з су1кр сума1 супе2 сус3л сус3п су1ст сут1р су2ф3 су1х 1с2фе с1х2 1с2хе 2сца с2цена 2с3ци 2сцо сч2 1сча с2час сче2с1к с3чив 2счик с2чит с1чл 2счо сш2 с3шн 1съ2 съе3д съе3л 1сы сы2г1 сы2з сы2п1л сы2с сыс1ка 2сь. 1сье 2ськ 2сьт 1сью 1сья сэ1р с2эс 1с2ю сю1с 1ся 2сяз ся3ть та2бл таб2р та1ври 1таг та2гн та1з2 так3ле т2ан та2пл 1тас та1ст та1тр 1тащ 2т1б2 2тв. 2т2ва т1вей т1вел т1вет 2тви т1вое т1во1з 2т1вой т1вос 2твою 2т1вр 2тву 2твы 2твя 2тг 2т1д 1т2е те2гн те1д те1зо 3тека тек1л 3текш теле1о тем2б1 те2о3д те1ох те4п1л те2рак тере2о 3терз тер3к 3теря те2ска те2с1ки те2с1ко те2ску тест2 те2хо 2тж 2т1з тиа2м ти2бл ти3д2 ти1зна тии2 тиис1 тик2 тила2м т1имп 2т1инв т1инд 2тинж 2тинф ти1с2л ти3ств ти3ф2р ти1хр 2т1к2 3т2кав 3т2кан 3т2кет 3ткн 2т1л тло2б т2ль тм2 тми2с тмист1 т3мщ 2т1н то2бес то1б2л 2тобъ то2вл то1д то3д2р то1з2 ток2р 2т1омм 2томс 2тонг 1торг 1торж 1торс то1ру 1торш то1с2н то1с2п то1с2ц 2тотд то3тк 1тощ 2тп2 тпа1т т1рага 2т1раж 2трб 2трв 2трг 2трд трдо2 т1реа 1требо 1требу т1ребь т1реве т1ревш т1рег т1ред т1рее т1реза т1резн треп1л 3тре2с трес1к т1рест т1рету 3т2ре2х т1рец т2решь т1рею 1триб т1рив три2г1л т1рил т1рим 4тринс три1о т1рит три3ф т1рищ 2трм 2трн т1рогл т1роид 2трой тро3пл т1рор т1росо тро3т 4т3роц 2трою 2трп 2трр 1труб т2руд 2трук т2рум т2рут 2трф 2трщ 2тръ т1ры т1ря. т1ряв 2т1ряд т1ряе т1ряж т1ряй т3ряк т1рят т1рящ т1ряя 4т1с2 т2сб т2с3д тсеп2 т2с3м т2с3п 2т1т т2тм ту2гр ту2жин 2т1у2пр ту1сл ту1ст ту2фл 1туша 1тушо 1тушь 1тущ 2тф 2т1х 4тц 2т1ч 2тш2 2тщ 2тъ ты2г1 ты2с1к 2ть 4ть. 3тье 3тьи ть2м 4тьт тью1 2тэ т2ю тю1т 1тяг 1тяж 1тяп 2тя2ч у1а у2але у2ас у3бел убо1д убос2 уб1р 1убра уб3рю 1у2быт у1ве. у1ви ув2л у1во у1ву у2гв у2гл у2гн уг2на уг2не уг1ре уг1ря уда1с уд2в уд1рам уд1ро у3ду у1е уе2д уе2л уе1с уе2с1к уес2л уе2х у2жж у1з2в у1зо узо3п у1и у1ка ук1в у1ки у1ко уко1б у1ку1 у1ла у1ле у1лу у1лых у1лю у2мч у3на ун2д1р у1нь у1о уо2б уо2в у2оза уо2к уо2п уо2с уост1 уо2т1 уо2ф у2пл уп1лю у3про у1ра у1ре уре2т3р у1ри урке3 у1ро у2род уро2дл урт2р у3ру у1ры у1рю у1ря у2сад у1сг ус1ка ус1ки уск3л ус1ком у1скр ус1ку. ус2л усла4ж3 ус3ли у1см у2сн ус2п ус3с у1сте у1стя у1сф 2усц у2сч у2сь у3сья у1та у3тер у1ти ут2ля у1то уто3п2с ут1ри у1ту у1ты у1тье у3тью 1утю у1тя у1у ууг2 уу2с у3фи уф1л уф2ля у2фр ух1ад уха2т у2хв у3х4во ух1л ух3ля ух1р у2чеб 1учр у1чь у3ше у3ши у2шл уш1ла у2шп 2уэ у1я уя2з 1ф фа2б1 фа2гн фа1зо фан2д фанд1р фа1тр фа2х 3фаш фаэ1 2ф1б 2ф1в 2фг 2ф1д фев1р фед1р фе1о3 фе2с1к ф4и фиа2к1 фи2гл фи2ж фи2зо фи2нин фи1о 3фит 2ф1к ф2ла ф2ли ф2ло 2фм 2ф1н 2фобъ 3фон фо2рв 2ф1орг фор3тр фо1ру фос1к 3фот фото3п ф1раб фра1з фра1с ф1рат ф2рен фре2с ф1ри ф2риж ф2риз ф1ро ф2рон ф1ру 2ф3с 2ф1т ф2тм ф2тор 2ф1у2п фу3тл 2фуф 2фф 2ф1ч 2фш2 2фь. ф2ю1 1ха ха2бл ха2д 2х1ак хан2д хао3 х1арш 2х1б 1х2в 2х3ве 2х3ви х3вы 2хг х3д2 1хе хео3 х1з2 1хи хиат1 хие2 2х1изы хи1с2 х1к2 х1лав х1лас х1лат х1лац 1хлеб х2лес х1лет х3ло. х2лоп 1х2лор х1лу 1х2му 2х1н 3х2ны 1хо 2х1о2к хоп2 хо2пе хо2пор хо1ру х1осм 2х1осн хоф2 хох1л хоя2 хп2 х1раз 1хран х1ра1с2 х1рей хри2пл х2рис х1ров 1хром хро2мч х1ры х1ря 2х1с2 2х1т 1ху. х1у2г 2хуе 2хуй 1хун х1у2р ху3ра 1хус 1хуш 2хую х1х2 2х1ч2 2хш хью1 1ц ца1 3ца. 3цам ца2пл 3цах 2ц1б ц2ве 2цвы 2цг 2ц1д це1з це1к це1от цеп1л цес2л це1т 2цетат 2ц1з ци1 ци2к1 цик3л ци2ол цип2 ци2ск циу3 циф1р 2ц1к2 2ц1л 2цм 2ц1н ц1о2б 2ц1о2д 2ц1от 2цп2 2ц1р 2ц1с 2ц1т 3цу 2цц 2ц3ш2 3цы цы2п цып3л цю1 1ча ча2др ча2дц ча2ево ча2евы ча2ер част1в ча1сте ча1сту ча1стя 3чато 3чаты 2ч1б ч1в 2ч1д 1че че1вл че2гл че1о чер2с черст1 че1сл ч2ж чжо2 1чи 3чик 3чиц 2ч1к 1ч2ла ч2ле ч3лег ч3леж 2чли ч2ли. 1ч2ло 1чм 2чма 2чме ч2мо 2ч1н 3чо 2ч1с 2ч1та ч2те 2чтм 1чу 3чук ч2х 2ч1ч 2чь. 1чье 1чьи 2чьс 2чьт 1чью 1чья 1ш ша2бл ша2гн ша2г1р ша2др шан2кр шар3т2 ша1ст ша1тро 2ш1б ш2в ш3вен ше2гл ше1к ше1о2 ше3пл ше1с2 ши2бл ши2пл шиф1р 2ш1к2 3ш2кол 2ш1лей 2шлен ш2ли. 2шлив 2шлил ш2лин ш2лис ш2лите ш2лиф ш2ло. 2шлов ш2лог ш1лы ш2лю 2шляе 2шляк ш2ляп 2шлят 2шляч 2шляю 2шм 3ш2мы 4ш3мы. 2ш1н 4шни ш2нур ш2п2 ш3пр 2ш1р 2ш1с ш1ти 2штс шу2ев шуст1 2шф ш1х 2шц 2ш1ч 2шь 4шь. 3шье 3шьи 3шью 3шья ш2ю1 1щ 2щ3в2 ще1б2л ще2гл щед1р щеи2 щеис1 ще1с ще1х щеш2 ще3шк щи2п1л 2щм 2щ1н 2щ1р 2щь. ъ1 ъе2г ъе2д ъе3до ъе2л ъ2е2р ъе2с ъе2хи ъю2 ъя2 ъя3н ы1 ы2бл ы3га ы3ги ыг2л ы2гн ы2дл ыд2ре ы2д1ро ы2дря ые2 ы3ж2д ыз2ва ыз2д ы2зл ы2зн ыз2на ыи2 ыиг1 ы2к1в ык2л ы2к3ло ыко1з ык1с ы2ль ы2мч ынос3л ы3по ыра2с3 ыр2в ыре2х ы3са ы3се ыс1ки ыс1ку ы2сн ы3со ыс2п ы2сх ыс2ч ы2сш ыт1ви ыт2р ы3тью ы3тья ыу2 ы2ш1л ы3шь ь1 ьб2 ь2вя ь2дц ь2е ье1зо ье1к ье2с1к ь2зн ь2и1 ь2кл ьми3д ьми3к ьмо1 ьне2о ь2о ь2п1л ь3п2то ьс2к ь2сн ь2сти ь2стя ь2т1амп ьти3м ь2тм ь2тот ь2траб ьт2ре ьт2ру ьт2ры ьхо2 ьхоз1 ь2ща ь2ще ь2щу ь2ю ь2я ья1в ь3ягс 1э э1в эв1р 2эг эд1р эк1л экс1 эк2ст эле1о э2м э3ма э2н э3нь эо2з э2п эпи3к э1ре э1ри эри4тр эро1с2 э1ру э1ры эс1 эск2 эс3м э2со эс3те эс2т1р э2те этил1а эт1ра э2ф эх2 эхо3 э2ц эя2 1ю ю1а ю1б ю2бв ю2бл ю2б1ре ю1в ю1дь ю1е юз2г юзи2к ю1зо ю1и ю2идал ю1к ю2к1в ю1ла ю1ле ю2ли ю1лю 2юм ю2мч ю2нь ю1о1 ю1ра ю1ре юре4м ю1ри юри2ск ю1ро ю1ру ю1ры ю2с1к ю1ста ю1сте ю1сто ю1стя ю1ти ю1то ю1ту ю1ты ю1х юха1с ю1ч ю2щь ю1я я2бр яб1ра яб3ре яб1ри яб3рю 3явикс я1во я1ву я1в2х я2г1л я2гн яд1в яд1р я1е яз2гн я1зо я1и я1к я2к1в я2к1л як1с я1л я2ль ям2б3л я2мь я3на янс2 я1ра я1ри я1ро я1рь яс1к яс1л яс2т яст3в я1сто яст1р я1та ят3в я3ти яти1з я1то я1ту я1ты я3тью я3тья я1тя я1у ях1л я1ху яце1 я2шл 2яю. 2я1я .бо2дра .вст2р .доб2рел .до1б2ри .об2люю .об2рее .об2рей .об2рею .об2рив .об2рил .об2рит .па2н1ис .пом2ну .реа2н .ро2с3пи .со2пла а2ньш атро2ск безу2с бино2ск виз2гн выб2ре гст4р ди1с2лов дос2ня дро2ж3ж 2дружей е2мьд е2о3плато е2о3пози ере3с2со 4ж3дик 4ж3дич заи2л зао2з 2з1а2хав заю2л з2рят зу2мь 6зь. и2л1а2мин илло3к2 й2кь ла2б1р лу3с4н ме2динс ме2д1о2см мети2л1ам мис4с3н нар2ват не2о3ре ни1с2кол ни4сь. но4л1а2мин н2трасс о2д1о2бол о4ж3дев о1и2с1тр ойс4ков о2м3че. они3л2ам он2трат о2плюс осо4м3н оти4дн пере1с2н по2доде по2д1у2ро пое2ж по2стин прем2но приче2с1к пти4дн редо4пл реж4ди рни3л2а3м роб2лею 2сбрук1 со2стрит со3т2кал 2стче. 2стьт сы2мит 2сься. 6тр. тро2етес 6хуя. ы2рьм ыя2вя ьбат2 а1вё а2двё а1ё аз3вёз а1лё 2алёк 2амёт ам2нёт а1рё ас3тём а1тьё 1бё бё2д1р б3лён б2лёс1к б2люё б1рёк б2рём б2рёх 1веё 3везё вёд1р 1вёз 2вёрд 1вёс в2лёк в2лёт 1вмё в2нёс 2в1рён 3всё3 1вьё г1лё г2лёт г2нёв г3нён г2ноё д1вё 1дё .доб2рёл 2доплё до2прё д1рё д2рёб 2д3рёж д2рём 1дрёма 1дрёмы 2д3рён дъё2м 1дьё еб1рён е1вё 2евёр 2е1врё е2глё е1ё 2ежё е3зё е1лё 2епё ер1вё е1рё ерё3до ерё1к2 ес2чёт ет1вё е1тьё 2ёб ё1бра ёб1ры ё1ве ё1во 2ё1вре ё1ву ё1дру 2ё3душ 2ёже ё3зе ёз1о2г ё1зом ё1ка ё1ки 2ё1ко 2ё1кр ёк2ро ё1ку ё1ла ё1ле ё1лу ё1лы 2ёмуж ё2мч ё3на ён2д1р ёнс2 ёпат2 2ёпе ё2пл ё3пла ёп1лу ё3плы ё4пн 2ёпо ё4пт ё1ра ё1ре ё3ре. ё1ри ё1ро ёр3ск ё1ру ё1ры ё3с2а ё1ск ё2с1ка. ё2ске ё4с1ку. 2ёсл ё3со ё1ст ёс2тан ё3сту ё1та 2ётеч ё1ти ё1то ёто1с ёт1р ё1ту ё1ты ё1тю ё1тя ёха2т ёх1ато ёх3вал ёх3лоп ёх1опо ёх1ру 3жёв жё1с2 ж2жё за3мнё з1вё з2вёз 1зё з2наё 2знё 1з2о3рё з2отё зот2рё 3зуё зъё2м 2зымё 2и1вё иг1рён и1ё их1рё 1каё 1кё к3лён к2роё 3куё ла1стё лё3до лё1з2о3 лёк1л 1лён лё2ск лё4ска 1лёх 2лоён 1луё 3льё 1льщё 3м2нёш 3м2щё нд2рё не3ё 1нё нё1б2 3номё 1ньё од3рёб о1ё оё2жи о1лё 2омё о3м2нём о3м2нёт о2п1лёй о1рё о2скё от1вё 2о3тёк о3тёр от1рёк от1рёш о3фё пё1 пё2ст1р пё2тр 2плён п2лёнк плёс1к п1лёю поё2ж 3прёт причё2с1к р2блё 1рвёт .рё2бр 1рёзк рё1зна 1рё1зо рёз2у 1рёкш 3рёмо 1рёнк рё3ста рё3сто род2лё роё2м 1рьё с2дё се3стё 1с2ё сёкс4 сё2ст сёст1р 2скуё с1лёт с2тё 1стёл 1стён. с3тёт. с3тёте стё3х с3тёш с3т2лё счё2с1к 1сьё т1вёл т1воё 1т2ё тё2гн тё1зо 3тёка тёк1л 3тёкш тё4п1л тёр3к тё2ска тё2с1ки тё2с1ко тё2ску тё2хо 3т2кёт т1ревё 3т2рё2х т2рёшь тро2етёс 3тьё уг2нё уг1рё .уё2 у1ё у1лё у1рё у1стё у3тёр у1тьё у2чёб у3шё 2х3вё 1хлёб х2лёс ц2вё 1чё чёр2с чёрст1 .чё2с1к ч2тё 1чьё 2шлён 3шьё ъ2ё2р ыд2рё ырё2х ы3сё ь2ё ьё1зо ь2щё ю1ё яб3рё .не8 8не. 8бъ. 8въ. 8гъ. 8дъ. 8жъ. 8зъ. 8къ. 8лъ. 8мъ. 8нъ. 8пъ. 8ръ. 8съ. 8тъ. 8фъ. 8хъ. 8цъ. 8чъ. 8шъ. 8щъ. 8-7 --8 .а-8 .б-8 .в-8 .г-8 .д-8 .е-8 .ё-8 .ж-8 .з-8 .и-8 .й-8 .к-8 .л-8 .м-8 .н-8 .о-8 .п-8 .р-8 .с-8 .т-8 .у-8 .ф-8 .х-8 .ц-8 .ч-8 .ш-8 .щ-8 .ъ-8 .ы-8 .ь-8 .э-8 .ю-8 .я-8 -а8а8 8а8а- -а8б8 8а8б- -а8в8 8а8в- -а8г8 8а8г- -а8д8 8а8д- -а8е8 8а8е- -а8ё8 8а8ё- -а8ж8 8а8ж- -а8з8 8а8з- -а8и8 8а8и- -а8й8 8а8й- -а8к8 8а8к- -а8л8 8а8л- -а8м8 8а8м- -а8н8 8а8н- -а8о8 8а8о- -а8п8 8а8п- -а8р8 8а8р- -а8с8 8а8с- -а8т8 8а8т- -а8у8 8а8у- -а8ф8 8а8ф- -а8х8 8а8х- -а8ц8 8а8ц- -а8ч8 8а8ч- -а8ш8 8а8ш- -а8щ8 8а8щ- -а8ъ8 8а8ъ- -а8ы8 8а8ы- -а8ь8 8а8ь- -а8э8 8а8э- -а8ю8 8а8ю- -а8я8 8а8я- -б8а8 8б8а- -б8б8 8б8б- -б8в8 8б8в- -б8г8 8б8г- -б8д8 8б8д- -б8е8 8б8е- -б8ё8 8б8ё- -б8ж8 8б8ж- -б8з8 8б8з- -б8и8 8б8и- -б8й8 8б8й- -б8к8 8б8к- -б8л8 8б8л- -б8м8 8б8м- -б8н8 8б8н- -б8о8 8б8о- -б8п8 8б8п- -б8р8 8б8р- -б8с8 8б8с- -б8т8 8б8т- -б8у8 8б8у- -б8ф8 8б8ф- -б8х8 8б8х- -б8ц8 8б8ц- -б8ч8 8б8ч- -б8ш8 8б8ш- -б8щ8 8б8щ- -б8ъ8 8б8ъ- -б8ы8 8б8ы- -б8ь8 8б8ь- -б8э8 8б8э- -б8ю8 8б8ю- -б8я8 8б8я- -в8а8 8в8а- -в8б8 8в8б- -в8в8 8в8в- -в8г8 8в8г- -в8д8 8в8д- -в8е8 8в8е- -в8ё8 8в8ё- -в8ж8 8в8ж- -в8з8 8в8з- -в8и8 8в8и- -в8й8 8в8й- -в8к8 8в8к- -в8л8 8в8л- -в8м8 8в8м- -в8н8 8в8н- -в8о8 8в8о- -в8п8 8в8п- -в8р8 8в8р- -в8с8 8в8с- -в8т8 8в8т- -в8у8 8в8у- -в8ф8 8в8ф- -в8х8 8в8х- -в8ц8 8в8ц- -в8ч8 8в8ч- -в8ш8 8в8ш- -в8щ8 8в8щ- -в8ъ8 8в8ъ- -в8ы8 8в8ы- -в8ь8 8в8ь- -в8э8 8в8э- -в8ю8 8в8ю- -в8я8 8в8я- -г8а8 8г8а- -г8б8 8г8б- -г8в8 8г8в- -г8г8 8г8г- -г8д8 8г8д- -г8е8 8г8е- -г8ё8 8г8ё- -г8ж8 8г8ж- -г8з8 8г8з- -г8и8 8г8и- -г8й8 8г8й- -г8к8 8г8к- -г8л8 8г8л- -г8м8 8г8м- -г8н8 8г8н- -г8о8 8г8о- -г8п8 8г8п- -г8р8 8г8р- -г8с8 8г8с- -г8т8 8г8т- -г8у8 8г8у- -г8ф8 8г8ф- -г8х8 8г8х- -г8ц8 8г8ц- -г8ч8 8г8ч- -г8ш8 8г8ш- -г8щ8 8г8щ- -г8ъ8 8г8ъ- -г8ы8 8г8ы- -г8ь8 8г8ь- -г8э8 8г8э- -г8ю8 8г8ю- -г8я8 8г8я- -д8а8 8д8а- -д8б8 8д8б- -д8в8 8д8в- -д8г8 8д8г- -д8д8 8д8д- -д8е8 8д8е- -д8ё8 8д8ё- -д8ж8 8д8ж- -д8з8 8д8з- -д8и8 8д8и- -д8й8 8д8й- -д8к8 8д8к- -д8л8 8д8л- -д8м8 8д8м- -д8н8 8д8н- -д8о8 8д8о- -д8п8 8д8п- -д8р8 8д8р- -д8с8 8д8с- -д8т8 8д8т- -д8у8 8д8у- -д8ф8 8д8ф- -д8х8 8д8х- -д8ц8 8д8ц- -д8ч8 8д8ч- -д8ш8 8д8ш- -д8щ8 8д8щ- -д8ъ8 8д8ъ- -д8ы8 8д8ы- -д8ь8 8д8ь- -д8э8 8д8э- -д8ю8 8д8ю- -д8я8 8д8я- -е8а8 8е8а- -е8б8 8е8б- -е8в8 8е8в- -е8г8 8е8г- -е8д8 8е8д- -е8е8 8е8е- -е8ё8 8е8ё- -е8ж8 8е8ж- -е8з8 8е8з- -е8и8 8е8и- -е8й8 8е8й- -е8к8 8е8к- -е8л8 8е8л- -е8м8 8е8м- -е8н8 8е8н- -е8о8 8е8о- -е8п8 8е8п- -е8р8 8е8р- -е8с8 8е8с- -е8т8 8е8т- -е8у8 8е8у- -е8ф8 8е8ф- -е8х8 8е8х- -е8ц8 8е8ц- -е8ч8 8е8ч- -е8ш8 8е8ш- -е8щ8 8е8щ- -е8ъ8 8е8ъ- -е8ы8 8е8ы- -е8ь8 8е8ь- -е8э8 8е8э- -е8ю8 8е8ю- -е8я8 8е8я- -ё8а8 8ё8а- -ё8б8 8ё8б- -ё8в8 8ё8в- -ё8г8 8ё8г- -ё8д8 8ё8д- -ё8е8 8ё8е- -ё8ё8 8ё8ё- -ё8ж8 8ё8ж- -ё8з8 8ё8з- -ё8и8 8ё8и- -ё8й8 8ё8й- -ё8к8 8ё8к- -ё8л8 8ё8л- -ё8м8 8ё8м- -ё8н8 8ё8н- -ё8о8 8ё8о- -ё8п8 8ё8п- -ё8р8 8ё8р- -ё8с8 8ё8с- -ё8т8 8ё8т- -ё8у8 8ё8у- -ё8ф8 8ё8ф- -ё8х8 8ё8х- -ё8ц8 8ё8ц- -ё8ч8 8ё8ч- -ё8ш8 8ё8ш- -ё8щ8 8ё8щ- -ё8ъ8 8ё8ъ- -ё8ы8 8ё8ы- -ё8ь8 8ё8ь- -ё8э8 8ё8э- -ё8ю8 8ё8ю- -ё8я8 8ё8я- -ж8а8 8ж8а- -ж8б8 8ж8б- -ж8в8 8ж8в- -ж8г8 8ж8г- -ж8д8 8ж8д- -ж8е8 8ж8е- -ж8ё8 8ж8ё- -ж8ж8 8ж8ж- -ж8з8 8ж8з- -ж8и8 8ж8и- -ж8й8 8ж8й- -ж8к8 8ж8к- -ж8л8 8ж8л- -ж8м8 8ж8м- -ж8н8 8ж8н- -ж8о8 8ж8о- -ж8п8 8ж8п- -ж8р8 8ж8р- -ж8с8 8ж8с- -ж8т8 8ж8т- -ж8у8 8ж8у- -ж8ф8 8ж8ф- -ж8х8 8ж8х- -ж8ц8 8ж8ц- -ж8ч8 8ж8ч- -ж8ш8 8ж8ш- -ж8щ8 8ж8щ- -ж8ъ8 8ж8ъ- -ж8ы8 8ж8ы- -ж8ь8 8ж8ь- -ж8э8 8ж8э- -ж8ю8 8ж8ю- -ж8я8 8ж8я- -з8а8 8з8а- -з8б8 8з8б- -з8в8 8з8в- -з8г8 8з8г- -з8д8 8з8д- -з8е8 8з8е- -з8ё8 8з8ё- -з8ж8 8з8ж- -з8з8 8з8з- -з8и8 8з8и- -з8й8 8з8й- -з8к8 8з8к- -з8л8 8з8л- -з8м8 8з8м- -з8н8 8з8н- -з8о8 8з8о- -з8п8 8з8п- -з8р8 8з8р- -з8с8 8з8с- -з8т8 8з8т- -з8у8 8з8у- -з8ф8 8з8ф- -з8х8 8з8х- -з8ц8 8з8ц- -з8ч8 8з8ч- -з8ш8 8з8ш- -з8щ8 8з8щ- -з8ъ8 8з8ъ- -з8ы8 8з8ы- -з8ь8 8з8ь- -з8э8 8з8э- -з8ю8 8з8ю- -з8я8 8з8я- -и8а8 8и8а- -и8б8 8и8б- -и8в8 8и8в- -и8г8 8и8г- -и8д8 8и8д- -и8е8 8и8е- -и8ё8 8и8ё- -и8ж8 8и8ж- -и8з8 8и8з- -и8и8 8и8и- -и8й8 8и8й- -и8к8 8и8к- -и8л8 8и8л- -и8м8 8и8м- -и8н8 8и8н- -и8о8 8и8о- -и8п8 8и8п- -и8р8 8и8р- -и8с8 8и8с- -и8т8 8и8т- -и8у8 8и8у- -и8ф8 8и8ф- -и8х8 8и8х- -и8ц8 8и8ц- -и8ч8 8и8ч- -и8ш8 8и8ш- -и8щ8 8и8щ- -и8ъ8 8и8ъ- -и8ы8 8и8ы- -и8ь8 8и8ь- -и8э8 8и8э- -и8ю8 8и8ю- -и8я8 8и8я- -й8а8 8й8а- -й8б8 8й8б- -й8в8 8й8в- -й8г8 8й8г- -й8д8 8й8д- -й8е8 8й8е- -й8ё8 8й8ё- -й8ж8 8й8ж- -й8з8 8й8з- -й8и8 8й8и- -й8й8 8й8й- -й8к8 8й8к- -й8л8 8й8л- -й8м8 8й8м- -й8н8 8й8н- -й8о8 8й8о- -й8п8 8й8п- -й8р8 8й8р- -й8с8 8й8с- -й8т8 8й8т- -й8у8 8й8у- -й8ф8 8й8ф- -й8х8 8й8х- -й8ц8 8й8ц- -й8ч8 8й8ч- -й8ш8 8й8ш- -й8щ8 8й8щ- -й8ъ8 8й8ъ- -й8ы8 8й8ы- -й8ь8 8й8ь- -й8э8 8й8э- -й8ю8 8й8ю- -й8я8 8й8я- -к8а8 8к8а- -к8б8 8к8б- -к8в8 8к8в- -к8г8 8к8г- -к8д8 8к8д- -к8е8 8к8е- -к8ё8 8к8ё- -к8ж8 8к8ж- -к8з8 8к8з- -к8и8 8к8и- -к8й8 8к8й- -к8к8 8к8к- -к8л8 8к8л- -к8м8 8к8м- -к8н8 8к8н- -к8о8 8к8о- -к8п8 8к8п- -к8р8 8к8р- -к8с8 8к8с- -к8т8 8к8т- -к8у8 8к8у- -к8ф8 8к8ф- -к8х8 8к8х- -к8ц8 8к8ц- -к8ч8 8к8ч- -к8ш8 8к8ш- -к8щ8 8к8щ- -к8ъ8 8к8ъ- -к8ы8 8к8ы- -к8ь8 8к8ь- -к8э8 8к8э- -к8ю8 8к8ю- -к8я8 8к8я- -л8а8 8л8а- -л8б8 8л8б- -л8в8 8л8в- -л8г8 8л8г- -л8д8 8л8д- -л8е8 8л8е- -л8ё8 8л8ё- -л8ж8 8л8ж- -л8з8 8л8з- -л8и8 8л8и- -л8й8 8л8й- -л8к8 8л8к- -л8л8 8л8л- -л8м8 8л8м- -л8н8 8л8н- -л8о8 8л8о- -л8п8 8л8п- -л8р8 8л8р- -л8с8 8л8с- -л8т8 8л8т- -л8у8 8л8у- -л8ф8 8л8ф- -л8х8 8л8х- -л8ц8 8л8ц- -л8ч8 8л8ч- -л8ш8 8л8ш- -л8щ8 8л8щ- -л8ъ8 8л8ъ- -л8ы8 8л8ы- -л8ь8 8л8ь- -л8э8 8л8э- -л8ю8 8л8ю- -л8я8 8л8я- -м8а8 8м8а- -м8б8 8м8б- -м8в8 8м8в- -м8г8 8м8г- -м8д8 8м8д- -м8е8 8м8е- -м8ё8 8м8ё- -м8ж8 8м8ж- -м8з8 8м8з- -м8и8 8м8и- -м8й8 8м8й- -м8к8 8м8к- -м8л8 8м8л- -м8м8 8м8м- -м8н8 8м8н- -м8о8 8м8о- -м8п8 8м8п- -м8р8 8м8р- -м8с8 8м8с- -м8т8 8м8т- -м8у8 8м8у- -м8ф8 8м8ф- -м8х8 8м8х- -м8ц8 8м8ц- -м8ч8 8м8ч- -м8ш8 8м8ш- -м8щ8 8м8щ- -м8ъ8 8м8ъ- -м8ы8 8м8ы- -м8ь8 8м8ь- -м8э8 8м8э- -м8ю8 8м8ю- -м8я8 8м8я- -н8а8 8н8а- -н8б8 8н8б- -н8в8 8н8в- -н8г8 8н8г- -н8д8 8н8д- -н8е8 8н8е- -н8ё8 8н8ё- -н8ж8 8н8ж- -н8з8 8н8з- -н8и8 8н8и- -н8й8 8н8й- -н8к8 8н8к- -н8л8 8н8л- -н8м8 8н8м- -н8н8 8н8н- -н8о8 8н8о- -н8п8 8н8п- -н8р8 8н8р- -н8с8 8н8с- -н8т8 8н8т- -н8у8 8н8у- -н8ф8 8н8ф- -н8х8 8н8х- -н8ц8 8н8ц- -н8ч8 8н8ч- -н8ш8 8н8ш- -н8щ8 8н8щ- -н8ъ8 8н8ъ- -н8ы8 8н8ы- -н8ь8 8н8ь- -н8э8 8н8э- -н8ю8 8н8ю- -н8я8 8н8я- -о8а8 8о8а- -о8б8 8о8б- -о8в8 8о8в- -о8г8 8о8г- -о8д8 8о8д- -о8е8 8о8е- -о8ё8 8о8ё- -о8ж8 8о8ж- -о8з8 8о8з- -о8и8 8о8и- -о8й8 8о8й- -о8к8 8о8к- -о8л8 8о8л- -о8м8 8о8м- -о8н8 8о8н- -о8о8 8о8о- -о8п8 8о8п- -о8р8 8о8р- -о8с8 8о8с- -о8т8 8о8т- -о8у8 8о8у- -о8ф8 8о8ф- -о8х8 8о8х- -о8ц8 8о8ц- -о8ч8 8о8ч- -о8ш8 8о8ш- -о8щ8 8о8щ- -о8ъ8 8о8ъ- -о8ы8 8о8ы- -о8ь8 8о8ь- -о8э8 8о8э- -о8ю8 8о8ю- -о8я8 8о8я- -п8а8 8п8а- -п8б8 8п8б- -п8в8 8п8в- -п8г8 8п8г- -п8д8 8п8д- -п8е8 8п8е- -п8ё8 8п8ё- -п8ж8 8п8ж- -п8з8 8п8з- -п8и8 8п8и- -п8й8 8п8й- -п8к8 8п8к- -п8л8 8п8л- -п8м8 8п8м- -п8н8 8п8н- -п8о8 8п8о- -п8п8 8п8п- -п8р8 8п8р- -п8с8 8п8с- -п8т8 8п8т- -п8у8 8п8у- -п8ф8 8п8ф- -п8х8 8п8х- -п8ц8 8п8ц- -п8ч8 8п8ч- -п8ш8 8п8ш- -п8щ8 8п8щ- -п8ъ8 8п8ъ- -п8ы8 8п8ы- -п8ь8 8п8ь- -п8э8 8п8э- -п8ю8 8п8ю- -п8я8 8п8я- -р8а8 8р8а- -р8б8 8р8б- -р8в8 8р8в- -р8г8 8р8г- -р8д8 8р8д- -р8е8 8р8е- -р8ё8 8р8ё- -р8ж8 8р8ж- -р8з8 8р8з- -р8и8 8р8и- -р8й8 8р8й- -р8к8 8р8к- -р8л8 8р8л- -р8м8 8р8м- -р8н8 8р8н- -р8о8 8р8о- -р8п8 8р8п- -р8р8 8р8р- -р8с8 8р8с- -р8т8 8р8т- -р8у8 8р8у- -р8ф8 8р8ф- -р8х8 8р8х- -р8ц8 8р8ц- -р8ч8 8р8ч- -р8ш8 8р8ш- -р8щ8 8р8щ- -р8ъ8 8р8ъ- -р8ы8 8р8ы- -р8ь8 8р8ь- -р8э8 8р8э- -р8ю8 8р8ю- -р8я8 8р8я- -с8а8 8с8а- -с8б8 8с8б- -с8в8 8с8в- -с8г8 8с8г- -с8д8 8с8д- -с8е8 8с8е- -с8ё8 8с8ё- -с8ж8 8с8ж- -с8з8 8с8з- -с8и8 8с8и- -с8й8 8с8й- -с8к8 8с8к- -с8л8 8с8л- -с8м8 8с8м- -с8н8 8с8н- -с8о8 8с8о- -с8п8 8с8п- -с8р8 8с8р- -с8с8 8с8с- -с8т8 8с8т- -с8у8 8с8у- -с8ф8 8с8ф- -с8х8 8с8х- -с8ц8 8с8ц- -с8ч8 8с8ч- -с8ш8 8с8ш- -с8щ8 8с8щ- -с8ъ8 8с8ъ- -с8ы8 8с8ы- -с8ь8 8с8ь- -с8э8 8с8э- -с8ю8 8с8ю- -с8я8 8с8я- -т8а8 8т8а- -т8б8 8т8б- -т8в8 8т8в- -т8г8 8т8г- -т8д8 8т8д- -т8е8 8т8е- -т8ё8 8т8ё- -т8ж8 8т8ж- -т8з8 8т8з- -т8и8 8т8и- -т8й8 8т8й- -т8к8 8т8к- -т8л8 8т8л- -т8м8 8т8м- -т8н8 8т8н- -т8о8 8т8о- -т8п8 8т8п- -т8р8 8т8р- -т8с8 8т8с- -т8т8 8т8т- -т8у8 8т8у- -т8ф8 8т8ф- -т8х8 8т8х- -т8ц8 8т8ц- -т8ч8 8т8ч- -т8ш8 8т8ш- -т8щ8 8т8щ- -т8ъ8 8т8ъ- -т8ы8 8т8ы- -т8ь8 8т8ь- -т8э8 8т8э- -т8ю8 8т8ю- -т8я8 8т8я- -у8а8 8у8а- -у8б8 8у8б- -у8в8 8у8в- -у8г8 8у8г- -у8д8 8у8д- -у8е8 8у8е- -у8ё8 8у8ё- -у8ж8 8у8ж- -у8з8 8у8з- -у8и8 8у8и- -у8й8 8у8й- -у8к8 8у8к- -у8л8 8у8л- -у8м8 8у8м- -у8н8 8у8н- -у8о8 8у8о- -у8п8 8у8п- -у8р8 8у8р- -у8с8 8у8с- -у8т8 8у8т- -у8у8 8у8у- -у8ф8 8у8ф- -у8х8 8у8х- -у8ц8 8у8ц- -у8ч8 8у8ч- -у8ш8 8у8ш- -у8щ8 8у8щ- -у8ъ8 8у8ъ- -у8ы8 8у8ы- -у8ь8 8у8ь- -у8э8 8у8э- -у8ю8 8у8ю- -у8я8 8у8я- -ф8а8 8ф8а- -ф8б8 8ф8б- -ф8в8 8ф8в- -ф8г8 8ф8г- -ф8д8 8ф8д- -ф8е8 8ф8е- -ф8ё8 8ф8ё- -ф8ж8 8ф8ж- -ф8з8 8ф8з- -ф8и8 8ф8и- -ф8й8 8ф8й- -ф8к8 8ф8к- -ф8л8 8ф8л- -ф8м8 8ф8м- -ф8н8 8ф8н- -ф8о8 8ф8о- -ф8п8 8ф8п- -ф8р8 8ф8р- -ф8с8 8ф8с- -ф8т8 8ф8т- -ф8у8 8ф8у- -ф8ф8 8ф8ф- -ф8х8 8ф8х- -ф8ц8 8ф8ц- -ф8ч8 8ф8ч- -ф8ш8 8ф8ш- -ф8щ8 8ф8щ- -ф8ъ8 8ф8ъ- -ф8ы8 8ф8ы- -ф8ь8 8ф8ь- -ф8э8 8ф8э- -ф8ю8 8ф8ю- -ф8я8 8ф8я- -х8а8 8х8а- -х8б8 8х8б- -х8в8 8х8в- -х8г8 8х8г- -х8д8 8х8д- -х8е8 8х8е- -х8ё8 8х8ё- -х8ж8 8х8ж- -х8з8 8х8з- -х8и8 8х8и- -х8й8 8х8й- -х8к8 8х8к- -х8л8 8х8л- -х8м8 8х8м- -х8н8 8х8н- -х8о8 8х8о- -х8п8 8х8п- -х8р8 8х8р- -х8с8 8х8с- -х8т8 8х8т- -х8у8 8х8у- -х8ф8 8х8ф- -х8х8 8х8х- -х8ц8 8х8ц- -х8ч8 8х8ч- -х8ш8 8х8ш- -х8щ8 8х8щ- -х8ъ8 8х8ъ- -х8ы8 8х8ы- -х8ь8 8х8ь- -х8э8 8х8э- -х8ю8 8х8ю- -х8я8 8х8я- -ц8а8 8ц8а- -ц8б8 8ц8б- -ц8в8 8ц8в- -ц8г8 8ц8г- -ц8д8 8ц8д- -ц8е8 8ц8е- -ц8ё8 8ц8ё- -ц8ж8 8ц8ж- -ц8з8 8ц8з- -ц8и8 8ц8и- -ц8й8 8ц8й- -ц8к8 8ц8к- -ц8л8 8ц8л- -ц8м8 8ц8м- -ц8н8 8ц8н- -ц8о8 8ц8о- -ц8п8 8ц8п- -ц8р8 8ц8р- -ц8с8 8ц8с- -ц8т8 8ц8т- -ц8у8 8ц8у- -ц8ф8 8ц8ф- -ц8х8 8ц8х- -ц8ц8 8ц8ц- -ц8ч8 8ц8ч- -ц8ш8 8ц8ш- -ц8щ8 8ц8щ- -ц8ъ8 8ц8ъ- -ц8ы8 8ц8ы- -ц8ь8 8ц8ь- -ц8э8 8ц8э- -ц8ю8 8ц8ю- -ц8я8 8ц8я- -ч8а8 8ч8а- -ч8б8 8ч8б- -ч8в8 8ч8в- -ч8г8 8ч8г- -ч8д8 8ч8д- -ч8е8 8ч8е- -ч8ё8 8ч8ё- -ч8ж8 8ч8ж- -ч8з8 8ч8з- -ч8и8 8ч8и- -ч8й8 8ч8й- -ч8к8 8ч8к- -ч8л8 8ч8л- -ч8м8 8ч8м- -ч8н8 8ч8н- -ч8о8 8ч8о- -ч8п8 8ч8п- -ч8р8 8ч8р- -ч8с8 8ч8с- -ч8т8 8ч8т- -ч8у8 8ч8у- -ч8ф8 8ч8ф- -ч8х8 8ч8х- -ч8ц8 8ч8ц- -ч8ч8 8ч8ч- -ч8ш8 8ч8ш- -ч8щ8 8ч8щ- -ч8ъ8 8ч8ъ- -ч8ы8 8ч8ы- -ч8ь8 8ч8ь- -ч8э8 8ч8э- -ч8ю8 8ч8ю- -ч8я8 8ч8я- -ш8а8 8ш8а- -ш8б8 8ш8б- -ш8в8 8ш8в- -ш8г8 8ш8г- -ш8д8 8ш8д- -ш8е8 8ш8е- -ш8ё8 8ш8ё- -ш8ж8 8ш8ж- -ш8з8 8ш8з- -ш8и8 8ш8и- -ш8й8 8ш8й- -ш8к8 8ш8к- -ш8л8 8ш8л- -ш8м8 8ш8м- -ш8н8 8ш8н- -ш8о8 8ш8о- -ш8п8 8ш8п- -ш8р8 8ш8р- -ш8с8 8ш8с- -ш8т8 8ш8т- -ш8у8 8ш8у- -ш8ф8 8ш8ф- -ш8х8 8ш8х- -ш8ц8 8ш8ц- -ш8ч8 8ш8ч- -ш8ш8 8ш8ш- -ш8щ8 8ш8щ- -ш8ъ8 8ш8ъ- -ш8ы8 8ш8ы- -ш8ь8 8ш8ь- -ш8э8 8ш8э- -ш8ю8 8ш8ю- -ш8я8 8ш8я- -щ8а8 8щ8а- -щ8б8 8щ8б- -щ8в8 8щ8в- -щ8г8 8щ8г- -щ8д8 8щ8д- -щ8е8 8щ8е- -щ8ё8 8щ8ё- -щ8ж8 8щ8ж- -щ8з8 8щ8з- -щ8и8 8щ8и- -щ8й8 8щ8й- -щ8к8 8щ8к- -щ8л8 8щ8л- -щ8м8 8щ8м- -щ8н8 8щ8н- -щ8о8 8щ8о- -щ8п8 8щ8п- -щ8р8 8щ8р- -щ8с8 8щ8с- -щ8т8 8щ8т- -щ8у8 8щ8у- -щ8ф8 8щ8ф- -щ8х8 8щ8х- -щ8ц8 8щ8ц- -щ8ч8 8щ8ч- -щ8ш8 8щ8ш- -щ8щ8 8щ8щ- -щ8ъ8 8щ8ъ- -щ8ы8 8щ8ы- -щ8ь8 8щ8ь- -щ8э8 8щ8э- -щ8ю8 8щ8ю- -щ8я8 8щ8я- -ъ8а8 8ъ8а- -ъ8б8 8ъ8б- -ъ8в8 8ъ8в- -ъ8г8 8ъ8г- -ъ8д8 8ъ8д- -ъ8е8 8ъ8е- -ъ8ё8 8ъ8ё- -ъ8ж8 8ъ8ж- -ъ8з8 8ъ8з- -ъ8и8 8ъ8и- -ъ8й8 8ъ8й- -ъ8к8 8ъ8к- -ъ8л8 8ъ8л- -ъ8м8 8ъ8м- -ъ8н8 8ъ8н- -ъ8о8 8ъ8о- -ъ8п8 8ъ8п- -ъ8р8 8ъ8р- -ъ8с8 8ъ8с- -ъ8т8 8ъ8т- -ъ8у8 8ъ8у- -ъ8ф8 8ъ8ф- -ъ8х8 8ъ8х- -ъ8ц8 8ъ8ц- -ъ8ч8 8ъ8ч- -ъ8ш8 8ъ8ш- -ъ8щ8 8ъ8щ- -ъ8ъ8 8ъ8ъ- -ъ8ы8 8ъ8ы- -ъ8ь8 8ъ8ь- -ъ8э8 8ъ8э- -ъ8ю8 8ъ8ю- -ъ8я8 8ъ8я- -ы8а8 8ы8а- -ы8б8 8ы8б- -ы8в8 8ы8в- -ы8г8 8ы8г- -ы8д8 8ы8д- -ы8е8 8ы8е- -ы8ё8 8ы8ё- -ы8ж8 8ы8ж- -ы8з8 8ы8з- -ы8и8 8ы8и- -ы8й8 8ы8й- -ы8к8 8ы8к- -ы8л8 8ы8л- -ы8м8 8ы8м- -ы8н8 8ы8н- -ы8о8 8ы8о- -ы8п8 8ы8п- -ы8р8 8ы8р- -ы8с8 8ы8с- -ы8т8 8ы8т- -ы8у8 8ы8у- -ы8ф8 8ы8ф- -ы8х8 8ы8х- -ы8ц8 8ы8ц- -ы8ч8 8ы8ч- -ы8ш8 8ы8ш- -ы8щ8 8ы8щ- -ы8ъ8 8ы8ъ- -ы8ы8 8ы8ы- -ы8ь8 8ы8ь- -ы8э8 8ы8э- -ы8ю8 8ы8ю- -ы8я8 8ы8я- -ь8а8 8ь8а- -ь8б8 8ь8б- -ь8в8 8ь8в- -ь8г8 8ь8г- -ь8д8 8ь8д- -ь8е8 8ь8е- -ь8ё8 8ь8ё- -ь8ж8 8ь8ж- -ь8з8 8ь8з- -ь8и8 8ь8и- -ь8й8 8ь8й- -ь8к8 8ь8к- -ь8л8 8ь8л- -ь8м8 8ь8м- -ь8н8 8ь8н- -ь8о8 8ь8о- -ь8п8 8ь8п- -ь8р8 8ь8р- -ь8с8 8ь8с- -ь8т8 8ь8т- -ь8у8 8ь8у- -ь8ф8 8ь8ф- -ь8х8 8ь8х- -ь8ц8 8ь8ц- -ь8ч8 8ь8ч- -ь8ш8 8ь8ш- -ь8щ8 8ь8щ- -ь8ъ8 8ь8ъ- -ь8ы8 8ь8ы- -ь8ь8 8ь8ь- -ь8э8 8ь8э- -ь8ю8 8ь8ю- -ь8я8 8ь8я- -э8а8 8э8а- -э8б8 8э8б- -э8в8 8э8в- -э8г8 8э8г- -э8д8 8э8д- -э8е8 8э8е- -э8ё8 8э8ё- -э8ж8 8э8ж- -э8з8 8э8з- -э8и8 8э8и- -э8й8 8э8й- -э8к8 8э8к- -э8л8 8э8л- -э8м8 8э8м- -э8н8 8э8н- -э8о8 8э8о- -э8п8 8э8п- -э8р8 8э8р- -э8с8 8э8с- -э8т8 8э8т- -э8у8 8э8у- -э8ф8 8э8ф- -э8х8 8э8х- -э8ц8 8э8ц- -э8ч8 8э8ч- -э8ш8 8э8ш- -э8щ8 8э8щ- -э8ъ8 8э8ъ- -э8ы8 8э8ы- -э8ь8 8э8ь- -э8э8 8э8э- -э8ю8 8э8ю- -э8я8 8э8я- -ю8а8 8ю8а- -ю8б8 8ю8б- -ю8в8 8ю8в- -ю8г8 8ю8г- -ю8д8 8ю8д- -ю8е8 8ю8е- -ю8ё8 8ю8ё- -ю8ж8 8ю8ж- -ю8з8 8ю8з- -ю8и8 8ю8и- -ю8й8 8ю8й- -ю8к8 8ю8к- -ю8л8 8ю8л- -ю8м8 8ю8м- -ю8н8 8ю8н- -ю8о8 8ю8о- -ю8п8 8ю8п- -ю8р8 8ю8р- -ю8с8 8ю8с- -ю8т8 8ю8т- -ю8у8 8ю8у- -ю8ф8 8ю8ф- -ю8х8 8ю8х- -ю8ц8 8ю8ц- -ю8ч8 8ю8ч- -ю8ш8 8ю8ш- -ю8щ8 8ю8щ- -ю8ъ8 8ю8ъ- -ю8ы8 8ю8ы- -ю8ь8 8ю8ь- -ю8э8 8ю8э- -ю8ю8 8ю8ю- -ю8я8 8ю8я- -я8а8 8я8а- -я8б8 8я8б- -я8в8 8я8в- -я8г8 8я8г- -я8д8 8я8д- -я8е8 8я8е- -я8ё8 8я8ё- -я8ж8 8я8ж- -я8з8 8я8з- -я8и8 8я8и- -я8й8 8я8й- -я8к8 8я8к- -я8л8 8я8л- -я8м8 8я8м- -я8н8 8я8н- -я8о8 8я8о- -я8п8 8я8п- -я8р8 8я8р- -я8с8 8я8с- -я8т8 8я8т- -я8у8 8я8у- -я8ф8 8я8ф- -я8х8 8я8х- -я8ц8 8я8ц- -я8ч8 8я8ч- -я8ш8 8я8ш- -я8щ8 8я8щ- -я8ъ8 8я8ъ- -я8ы8 8я8ы- -я8ь8 8я8ь- -я8э8 8я8э- -я8ю8 8я8ю- -я8я8 8я8я-",
["minhyphenmax"]=1,
["minhyphenmin"]=1,
- ["n"]=4808,
+ ["n"]=7021,
},
["version"]="1.001",
} \ No newline at end of file
diff --git a/tex/context/patterns/lang-ru.pat b/tex/context/patterns/lang-ru.pat
index 7f5a4502b..0050b6e5c 100644
--- a/tex/context/patterns/lang-ru.pat
+++ b/tex/context/patterns/lang-ru.pat
@@ -2,7 +2,7 @@
% for comment and copyright, see e:/tmp/patterns/lang-ru.rme
-% used: а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я ё
+% used: - а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я ё
\patterns{
.аб1р
@@ -4812,4 +4812,2217 @@
8цъ.
8чъ.
8шъ.
-8щъ.} \ No newline at end of file
+8щъ.
+8-7
+--8
+.а-8
+.б-8
+.в-8
+.г-8
+.д-8
+.е-8
+.ё-8
+.ж-8
+.з-8
+.и-8
+.й-8
+.к-8
+.л-8
+.м-8
+.н-8
+.о-8
+.п-8
+.р-8
+.с-8
+.т-8
+.у-8
+.ф-8
+.х-8
+.ц-8
+.ч-8
+.ш-8
+.щ-8
+.ъ-8
+.ы-8
+.ь-8
+.э-8
+.ю-8
+.я-8
+-а8а8
+8а8а-
+-а8б8
+8а8б-
+-а8в8
+8а8в-
+-а8г8
+8а8г-
+-а8д8
+8а8д-
+-а8е8
+8а8е-
+-а8ё8
+8а8ё-
+-а8ж8
+8а8ж-
+-а8з8
+8а8з-
+-а8и8
+8а8и-
+-а8й8
+8а8й-
+-а8к8
+8а8к-
+-а8л8
+8а8л-
+-а8м8
+8а8м-
+-а8н8
+8а8н-
+-а8о8
+8а8о-
+-а8п8
+8а8п-
+-а8р8
+8а8р-
+-а8с8
+8а8с-
+-а8т8
+8а8т-
+-а8у8
+8а8у-
+-а8ф8
+8а8ф-
+-а8х8
+8а8х-
+-а8ц8
+8а8ц-
+-а8ч8
+8а8ч-
+-а8ш8
+8а8ш-
+-а8щ8
+8а8щ-
+-а8ъ8
+8а8ъ-
+-а8ы8
+8а8ы-
+-а8ь8
+8а8ь-
+-а8э8
+8а8э-
+-а8ю8
+8а8ю-
+-а8я8
+8а8я-
+-б8а8
+8б8а-
+-б8б8
+8б8б-
+-б8в8
+8б8в-
+-б8г8
+8б8г-
+-б8д8
+8б8д-
+-б8е8
+8б8е-
+-б8ё8
+8б8ё-
+-б8ж8
+8б8ж-
+-б8з8
+8б8з-
+-б8и8
+8б8и-
+-б8й8
+8б8й-
+-б8к8
+8б8к-
+-б8л8
+8б8л-
+-б8м8
+8б8м-
+-б8н8
+8б8н-
+-б8о8
+8б8о-
+-б8п8
+8б8п-
+-б8р8
+8б8р-
+-б8с8
+8б8с-
+-б8т8
+8б8т-
+-б8у8
+8б8у-
+-б8ф8
+8б8ф-
+-б8х8
+8б8х-
+-б8ц8
+8б8ц-
+-б8ч8
+8б8ч-
+-б8ш8
+8б8ш-
+-б8щ8
+8б8щ-
+-б8ъ8
+8б8ъ-
+-б8ы8
+8б8ы-
+-б8ь8
+8б8ь-
+-б8э8
+8б8э-
+-б8ю8
+8б8ю-
+-б8я8
+8б8я-
+-в8а8
+8в8а-
+-в8б8
+8в8б-
+-в8в8
+8в8в-
+-в8г8
+8в8г-
+-в8д8
+8в8д-
+-в8е8
+8в8е-
+-в8ё8
+8в8ё-
+-в8ж8
+8в8ж-
+-в8з8
+8в8з-
+-в8и8
+8в8и-
+-в8й8
+8в8й-
+-в8к8
+8в8к-
+-в8л8
+8в8л-
+-в8м8
+8в8м-
+-в8н8
+8в8н-
+-в8о8
+8в8о-
+-в8п8
+8в8п-
+-в8р8
+8в8р-
+-в8с8
+8в8с-
+-в8т8
+8в8т-
+-в8у8
+8в8у-
+-в8ф8
+8в8ф-
+-в8х8
+8в8х-
+-в8ц8
+8в8ц-
+-в8ч8
+8в8ч-
+-в8ш8
+8в8ш-
+-в8щ8
+8в8щ-
+-в8ъ8
+8в8ъ-
+-в8ы8
+8в8ы-
+-в8ь8
+8в8ь-
+-в8э8
+8в8э-
+-в8ю8
+8в8ю-
+-в8я8
+8в8я-
+-г8а8
+8г8а-
+-г8б8
+8г8б-
+-г8в8
+8г8в-
+-г8г8
+8г8г-
+-г8д8
+8г8д-
+-г8е8
+8г8е-
+-г8ё8
+8г8ё-
+-г8ж8
+8г8ж-
+-г8з8
+8г8з-
+-г8и8
+8г8и-
+-г8й8
+8г8й-
+-г8к8
+8г8к-
+-г8л8
+8г8л-
+-г8м8
+8г8м-
+-г8н8
+8г8н-
+-г8о8
+8г8о-
+-г8п8
+8г8п-
+-г8р8
+8г8р-
+-г8с8
+8г8с-
+-г8т8
+8г8т-
+-г8у8
+8г8у-
+-г8ф8
+8г8ф-
+-г8х8
+8г8х-
+-г8ц8
+8г8ц-
+-г8ч8
+8г8ч-
+-г8ш8
+8г8ш-
+-г8щ8
+8г8щ-
+-г8ъ8
+8г8ъ-
+-г8ы8
+8г8ы-
+-г8ь8
+8г8ь-
+-г8э8
+8г8э-
+-г8ю8
+8г8ю-
+-г8я8
+8г8я-
+-д8а8
+8д8а-
+-д8б8
+8д8б-
+-д8в8
+8д8в-
+-д8г8
+8д8г-
+-д8д8
+8д8д-
+-д8е8
+8д8е-
+-д8ё8
+8д8ё-
+-д8ж8
+8д8ж-
+-д8з8
+8д8з-
+-д8и8
+8д8и-
+-д8й8
+8д8й-
+-д8к8
+8д8к-
+-д8л8
+8д8л-
+-д8м8
+8д8м-
+-д8н8
+8д8н-
+-д8о8
+8д8о-
+-д8п8
+8д8п-
+-д8р8
+8д8р-
+-д8с8
+8д8с-
+-д8т8
+8д8т-
+-д8у8
+8д8у-
+-д8ф8
+8д8ф-
+-д8х8
+8д8х-
+-д8ц8
+8д8ц-
+-д8ч8
+8д8ч-
+-д8ш8
+8д8ш-
+-д8щ8
+8д8щ-
+-д8ъ8
+8д8ъ-
+-д8ы8
+8д8ы-
+-д8ь8
+8д8ь-
+-д8э8
+8д8э-
+-д8ю8
+8д8ю-
+-д8я8
+8д8я-
+-е8а8
+8е8а-
+-е8б8
+8е8б-
+-е8в8
+8е8в-
+-е8г8
+8е8г-
+-е8д8
+8е8д-
+-е8е8
+8е8е-
+-е8ё8
+8е8ё-
+-е8ж8
+8е8ж-
+-е8з8
+8е8з-
+-е8и8
+8е8и-
+-е8й8
+8е8й-
+-е8к8
+8е8к-
+-е8л8
+8е8л-
+-е8м8
+8е8м-
+-е8н8
+8е8н-
+-е8о8
+8е8о-
+-е8п8
+8е8п-
+-е8р8
+8е8р-
+-е8с8
+8е8с-
+-е8т8
+8е8т-
+-е8у8
+8е8у-
+-е8ф8
+8е8ф-
+-е8х8
+8е8х-
+-е8ц8
+8е8ц-
+-е8ч8
+8е8ч-
+-е8ш8
+8е8ш-
+-е8щ8
+8е8щ-
+-е8ъ8
+8е8ъ-
+-е8ы8
+8е8ы-
+-е8ь8
+8е8ь-
+-е8э8
+8е8э-
+-е8ю8
+8е8ю-
+-е8я8
+8е8я-
+-ё8а8
+8ё8а-
+-ё8б8
+8ё8б-
+-ё8в8
+8ё8в-
+-ё8г8
+8ё8г-
+-ё8д8
+8ё8д-
+-ё8е8
+8ё8е-
+-ё8ё8
+8ё8ё-
+-ё8ж8
+8ё8ж-
+-ё8з8
+8ё8з-
+-ё8и8
+8ё8и-
+-ё8й8
+8ё8й-
+-ё8к8
+8ё8к-
+-ё8л8
+8ё8л-
+-ё8м8
+8ё8м-
+-ё8н8
+8ё8н-
+-ё8о8
+8ё8о-
+-ё8п8
+8ё8п-
+-ё8р8
+8ё8р-
+-ё8с8
+8ё8с-
+-ё8т8
+8ё8т-
+-ё8у8
+8ё8у-
+-ё8ф8
+8ё8ф-
+-ё8х8
+8ё8х-
+-ё8ц8
+8ё8ц-
+-ё8ч8
+8ё8ч-
+-ё8ш8
+8ё8ш-
+-ё8щ8
+8ё8щ-
+-ё8ъ8
+8ё8ъ-
+-ё8ы8
+8ё8ы-
+-ё8ь8
+8ё8ь-
+-ё8э8
+8ё8э-
+-ё8ю8
+8ё8ю-
+-ё8я8
+8ё8я-
+-ж8а8
+8ж8а-
+-ж8б8
+8ж8б-
+-ж8в8
+8ж8в-
+-ж8г8
+8ж8г-
+-ж8д8
+8ж8д-
+-ж8е8
+8ж8е-
+-ж8ё8
+8ж8ё-
+-ж8ж8
+8ж8ж-
+-ж8з8
+8ж8з-
+-ж8и8
+8ж8и-
+-ж8й8
+8ж8й-
+-ж8к8
+8ж8к-
+-ж8л8
+8ж8л-
+-ж8м8
+8ж8м-
+-ж8н8
+8ж8н-
+-ж8о8
+8ж8о-
+-ж8п8
+8ж8п-
+-ж8р8
+8ж8р-
+-ж8с8
+8ж8с-
+-ж8т8
+8ж8т-
+-ж8у8
+8ж8у-
+-ж8ф8
+8ж8ф-
+-ж8х8
+8ж8х-
+-ж8ц8
+8ж8ц-
+-ж8ч8
+8ж8ч-
+-ж8ш8
+8ж8ш-
+-ж8щ8
+8ж8щ-
+-ж8ъ8
+8ж8ъ-
+-ж8ы8
+8ж8ы-
+-ж8ь8
+8ж8ь-
+-ж8э8
+8ж8э-
+-ж8ю8
+8ж8ю-
+-ж8я8
+8ж8я-
+-з8а8
+8з8а-
+-з8б8
+8з8б-
+-з8в8
+8з8в-
+-з8г8
+8з8г-
+-з8д8
+8з8д-
+-з8е8
+8з8е-
+-з8ё8
+8з8ё-
+-з8ж8
+8з8ж-
+-з8з8
+8з8з-
+-з8и8
+8з8и-
+-з8й8
+8з8й-
+-з8к8
+8з8к-
+-з8л8
+8з8л-
+-з8м8
+8з8м-
+-з8н8
+8з8н-
+-з8о8
+8з8о-
+-з8п8
+8з8п-
+-з8р8
+8з8р-
+-з8с8
+8з8с-
+-з8т8
+8з8т-
+-з8у8
+8з8у-
+-з8ф8
+8з8ф-
+-з8х8
+8з8х-
+-з8ц8
+8з8ц-
+-з8ч8
+8з8ч-
+-з8ш8
+8з8ш-
+-з8щ8
+8з8щ-
+-з8ъ8
+8з8ъ-
+-з8ы8
+8з8ы-
+-з8ь8
+8з8ь-
+-з8э8
+8з8э-
+-з8ю8
+8з8ю-
+-з8я8
+8з8я-
+-и8а8
+8и8а-
+-и8б8
+8и8б-
+-и8в8
+8и8в-
+-и8г8
+8и8г-
+-и8д8
+8и8д-
+-и8е8
+8и8е-
+-и8ё8
+8и8ё-
+-и8ж8
+8и8ж-
+-и8з8
+8и8з-
+-и8и8
+8и8и-
+-и8й8
+8и8й-
+-и8к8
+8и8к-
+-и8л8
+8и8л-
+-и8м8
+8и8м-
+-и8н8
+8и8н-
+-и8о8
+8и8о-
+-и8п8
+8и8п-
+-и8р8
+8и8р-
+-и8с8
+8и8с-
+-и8т8
+8и8т-
+-и8у8
+8и8у-
+-и8ф8
+8и8ф-
+-и8х8
+8и8х-
+-и8ц8
+8и8ц-
+-и8ч8
+8и8ч-
+-и8ш8
+8и8ш-
+-и8щ8
+8и8щ-
+-и8ъ8
+8и8ъ-
+-и8ы8
+8и8ы-
+-и8ь8
+8и8ь-
+-и8э8
+8и8э-
+-и8ю8
+8и8ю-
+-и8я8
+8и8я-
+-й8а8
+8й8а-
+-й8б8
+8й8б-
+-й8в8
+8й8в-
+-й8г8
+8й8г-
+-й8д8
+8й8д-
+-й8е8
+8й8е-
+-й8ё8
+8й8ё-
+-й8ж8
+8й8ж-
+-й8з8
+8й8з-
+-й8и8
+8й8и-
+-й8й8
+8й8й-
+-й8к8
+8й8к-
+-й8л8
+8й8л-
+-й8м8
+8й8м-
+-й8н8
+8й8н-
+-й8о8
+8й8о-
+-й8п8
+8й8п-
+-й8р8
+8й8р-
+-й8с8
+8й8с-
+-й8т8
+8й8т-
+-й8у8
+8й8у-
+-й8ф8
+8й8ф-
+-й8х8
+8й8х-
+-й8ц8
+8й8ц-
+-й8ч8
+8й8ч-
+-й8ш8
+8й8ш-
+-й8щ8
+8й8щ-
+-й8ъ8
+8й8ъ-
+-й8ы8
+8й8ы-
+-й8ь8
+8й8ь-
+-й8э8
+8й8э-
+-й8ю8
+8й8ю-
+-й8я8
+8й8я-
+-к8а8
+8к8а-
+-к8б8
+8к8б-
+-к8в8
+8к8в-
+-к8г8
+8к8г-
+-к8д8
+8к8д-
+-к8е8
+8к8е-
+-к8ё8
+8к8ё-
+-к8ж8
+8к8ж-
+-к8з8
+8к8з-
+-к8и8
+8к8и-
+-к8й8
+8к8й-
+-к8к8
+8к8к-
+-к8л8
+8к8л-
+-к8м8
+8к8м-
+-к8н8
+8к8н-
+-к8о8
+8к8о-
+-к8п8
+8к8п-
+-к8р8
+8к8р-
+-к8с8
+8к8с-
+-к8т8
+8к8т-
+-к8у8
+8к8у-
+-к8ф8
+8к8ф-
+-к8х8
+8к8х-
+-к8ц8
+8к8ц-
+-к8ч8
+8к8ч-
+-к8ш8
+8к8ш-
+-к8щ8
+8к8щ-
+-к8ъ8
+8к8ъ-
+-к8ы8
+8к8ы-
+-к8ь8
+8к8ь-
+-к8э8
+8к8э-
+-к8ю8
+8к8ю-
+-к8я8
+8к8я-
+-л8а8
+8л8а-
+-л8б8
+8л8б-
+-л8в8
+8л8в-
+-л8г8
+8л8г-
+-л8д8
+8л8д-
+-л8е8
+8л8е-
+-л8ё8
+8л8ё-
+-л8ж8
+8л8ж-
+-л8з8
+8л8з-
+-л8и8
+8л8и-
+-л8й8
+8л8й-
+-л8к8
+8л8к-
+-л8л8
+8л8л-
+-л8м8
+8л8м-
+-л8н8
+8л8н-
+-л8о8
+8л8о-
+-л8п8
+8л8п-
+-л8р8
+8л8р-
+-л8с8
+8л8с-
+-л8т8
+8л8т-
+-л8у8
+8л8у-
+-л8ф8
+8л8ф-
+-л8х8
+8л8х-
+-л8ц8
+8л8ц-
+-л8ч8
+8л8ч-
+-л8ш8
+8л8ш-
+-л8щ8
+8л8щ-
+-л8ъ8
+8л8ъ-
+-л8ы8
+8л8ы-
+-л8ь8
+8л8ь-
+-л8э8
+8л8э-
+-л8ю8
+8л8ю-
+-л8я8
+8л8я-
+-м8а8
+8м8а-
+-м8б8
+8м8б-
+-м8в8
+8м8в-
+-м8г8
+8м8г-
+-м8д8
+8м8д-
+-м8е8
+8м8е-
+-м8ё8
+8м8ё-
+-м8ж8
+8м8ж-
+-м8з8
+8м8з-
+-м8и8
+8м8и-
+-м8й8
+8м8й-
+-м8к8
+8м8к-
+-м8л8
+8м8л-
+-м8м8
+8м8м-
+-м8н8
+8м8н-
+-м8о8
+8м8о-
+-м8п8
+8м8п-
+-м8р8
+8м8р-
+-м8с8
+8м8с-
+-м8т8
+8м8т-
+-м8у8
+8м8у-
+-м8ф8
+8м8ф-
+-м8х8
+8м8х-
+-м8ц8
+8м8ц-
+-м8ч8
+8м8ч-
+-м8ш8
+8м8ш-
+-м8щ8
+8м8щ-
+-м8ъ8
+8м8ъ-
+-м8ы8
+8м8ы-
+-м8ь8
+8м8ь-
+-м8э8
+8м8э-
+-м8ю8
+8м8ю-
+-м8я8
+8м8я-
+-н8а8
+8н8а-
+-н8б8
+8н8б-
+-н8в8
+8н8в-
+-н8г8
+8н8г-
+-н8д8
+8н8д-
+-н8е8
+8н8е-
+-н8ё8
+8н8ё-
+-н8ж8
+8н8ж-
+-н8з8
+8н8з-
+-н8и8
+8н8и-
+-н8й8
+8н8й-
+-н8к8
+8н8к-
+-н8л8
+8н8л-
+-н8м8
+8н8м-
+-н8н8
+8н8н-
+-н8о8
+8н8о-
+-н8п8
+8н8п-
+-н8р8
+8н8р-
+-н8с8
+8н8с-
+-н8т8
+8н8т-
+-н8у8
+8н8у-
+-н8ф8
+8н8ф-
+-н8х8
+8н8х-
+-н8ц8
+8н8ц-
+-н8ч8
+8н8ч-
+-н8ш8
+8н8ш-
+-н8щ8
+8н8щ-
+-н8ъ8
+8н8ъ-
+-н8ы8
+8н8ы-
+-н8ь8
+8н8ь-
+-н8э8
+8н8э-
+-н8ю8
+8н8ю-
+-н8я8
+8н8я-
+-о8а8
+8о8а-
+-о8б8
+8о8б-
+-о8в8
+8о8в-
+-о8г8
+8о8г-
+-о8д8
+8о8д-
+-о8е8
+8о8е-
+-о8ё8
+8о8ё-
+-о8ж8
+8о8ж-
+-о8з8
+8о8з-
+-о8и8
+8о8и-
+-о8й8
+8о8й-
+-о8к8
+8о8к-
+-о8л8
+8о8л-
+-о8м8
+8о8м-
+-о8н8
+8о8н-
+-о8о8
+8о8о-
+-о8п8
+8о8п-
+-о8р8
+8о8р-
+-о8с8
+8о8с-
+-о8т8
+8о8т-
+-о8у8
+8о8у-
+-о8ф8
+8о8ф-
+-о8х8
+8о8х-
+-о8ц8
+8о8ц-
+-о8ч8
+8о8ч-
+-о8ш8
+8о8ш-
+-о8щ8
+8о8щ-
+-о8ъ8
+8о8ъ-
+-о8ы8
+8о8ы-
+-о8ь8
+8о8ь-
+-о8э8
+8о8э-
+-о8ю8
+8о8ю-
+-о8я8
+8о8я-
+-п8а8
+8п8а-
+-п8б8
+8п8б-
+-п8в8
+8п8в-
+-п8г8
+8п8г-
+-п8д8
+8п8д-
+-п8е8
+8п8е-
+-п8ё8
+8п8ё-
+-п8ж8
+8п8ж-
+-п8з8
+8п8з-
+-п8и8
+8п8и-
+-п8й8
+8п8й-
+-п8к8
+8п8к-
+-п8л8
+8п8л-
+-п8м8
+8п8м-
+-п8н8
+8п8н-
+-п8о8
+8п8о-
+-п8п8
+8п8п-
+-п8р8
+8п8р-
+-п8с8
+8п8с-
+-п8т8
+8п8т-
+-п8у8
+8п8у-
+-п8ф8
+8п8ф-
+-п8х8
+8п8х-
+-п8ц8
+8п8ц-
+-п8ч8
+8п8ч-
+-п8ш8
+8п8ш-
+-п8щ8
+8п8щ-
+-п8ъ8
+8п8ъ-
+-п8ы8
+8п8ы-
+-п8ь8
+8п8ь-
+-п8э8
+8п8э-
+-п8ю8
+8п8ю-
+-п8я8
+8п8я-
+-р8а8
+8р8а-
+-р8б8
+8р8б-
+-р8в8
+8р8в-
+-р8г8
+8р8г-
+-р8д8
+8р8д-
+-р8е8
+8р8е-
+-р8ё8
+8р8ё-
+-р8ж8
+8р8ж-
+-р8з8
+8р8з-
+-р8и8
+8р8и-
+-р8й8
+8р8й-
+-р8к8
+8р8к-
+-р8л8
+8р8л-
+-р8м8
+8р8м-
+-р8н8
+8р8н-
+-р8о8
+8р8о-
+-р8п8
+8р8п-
+-р8р8
+8р8р-
+-р8с8
+8р8с-
+-р8т8
+8р8т-
+-р8у8
+8р8у-
+-р8ф8
+8р8ф-
+-р8х8
+8р8х-
+-р8ц8
+8р8ц-
+-р8ч8
+8р8ч-
+-р8ш8
+8р8ш-
+-р8щ8
+8р8щ-
+-р8ъ8
+8р8ъ-
+-р8ы8
+8р8ы-
+-р8ь8
+8р8ь-
+-р8э8
+8р8э-
+-р8ю8
+8р8ю-
+-р8я8
+8р8я-
+-с8а8
+8с8а-
+-с8б8
+8с8б-
+-с8в8
+8с8в-
+-с8г8
+8с8г-
+-с8д8
+8с8д-
+-с8е8
+8с8е-
+-с8ё8
+8с8ё-
+-с8ж8
+8с8ж-
+-с8з8
+8с8з-
+-с8и8
+8с8и-
+-с8й8
+8с8й-
+-с8к8
+8с8к-
+-с8л8
+8с8л-
+-с8м8
+8с8м-
+-с8н8
+8с8н-
+-с8о8
+8с8о-
+-с8п8
+8с8п-
+-с8р8
+8с8р-
+-с8с8
+8с8с-
+-с8т8
+8с8т-
+-с8у8
+8с8у-
+-с8ф8
+8с8ф-
+-с8х8
+8с8х-
+-с8ц8
+8с8ц-
+-с8ч8
+8с8ч-
+-с8ш8
+8с8ш-
+-с8щ8
+8с8щ-
+-с8ъ8
+8с8ъ-
+-с8ы8
+8с8ы-
+-с8ь8
+8с8ь-
+-с8э8
+8с8э-
+-с8ю8
+8с8ю-
+-с8я8
+8с8я-
+-т8а8
+8т8а-
+-т8б8
+8т8б-
+-т8в8
+8т8в-
+-т8г8
+8т8г-
+-т8д8
+8т8д-
+-т8е8
+8т8е-
+-т8ё8
+8т8ё-
+-т8ж8
+8т8ж-
+-т8з8
+8т8з-
+-т8и8
+8т8и-
+-т8й8
+8т8й-
+-т8к8
+8т8к-
+-т8л8
+8т8л-
+-т8м8
+8т8м-
+-т8н8
+8т8н-
+-т8о8
+8т8о-
+-т8п8
+8т8п-
+-т8р8
+8т8р-
+-т8с8
+8т8с-
+-т8т8
+8т8т-
+-т8у8
+8т8у-
+-т8ф8
+8т8ф-
+-т8х8
+8т8х-
+-т8ц8
+8т8ц-
+-т8ч8
+8т8ч-
+-т8ш8
+8т8ш-
+-т8щ8
+8т8щ-
+-т8ъ8
+8т8ъ-
+-т8ы8
+8т8ы-
+-т8ь8
+8т8ь-
+-т8э8
+8т8э-
+-т8ю8
+8т8ю-
+-т8я8
+8т8я-
+-у8а8
+8у8а-
+-у8б8
+8у8б-
+-у8в8
+8у8в-
+-у8г8
+8у8г-
+-у8д8
+8у8д-
+-у8е8
+8у8е-
+-у8ё8
+8у8ё-
+-у8ж8
+8у8ж-
+-у8з8
+8у8з-
+-у8и8
+8у8и-
+-у8й8
+8у8й-
+-у8к8
+8у8к-
+-у8л8
+8у8л-
+-у8м8
+8у8м-
+-у8н8
+8у8н-
+-у8о8
+8у8о-
+-у8п8
+8у8п-
+-у8р8
+8у8р-
+-у8с8
+8у8с-
+-у8т8
+8у8т-
+-у8у8
+8у8у-
+-у8ф8
+8у8ф-
+-у8х8
+8у8х-
+-у8ц8
+8у8ц-
+-у8ч8
+8у8ч-
+-у8ш8
+8у8ш-
+-у8щ8
+8у8щ-
+-у8ъ8
+8у8ъ-
+-у8ы8
+8у8ы-
+-у8ь8
+8у8ь-
+-у8э8
+8у8э-
+-у8ю8
+8у8ю-
+-у8я8
+8у8я-
+-ф8а8
+8ф8а-
+-ф8б8
+8ф8б-
+-ф8в8
+8ф8в-
+-ф8г8
+8ф8г-
+-ф8д8
+8ф8д-
+-ф8е8
+8ф8е-
+-ф8ё8
+8ф8ё-
+-ф8ж8
+8ф8ж-
+-ф8з8
+8ф8з-
+-ф8и8
+8ф8и-
+-ф8й8
+8ф8й-
+-ф8к8
+8ф8к-
+-ф8л8
+8ф8л-
+-ф8м8
+8ф8м-
+-ф8н8
+8ф8н-
+-ф8о8
+8ф8о-
+-ф8п8
+8ф8п-
+-ф8р8
+8ф8р-
+-ф8с8
+8ф8с-
+-ф8т8
+8ф8т-
+-ф8у8
+8ф8у-
+-ф8ф8
+8ф8ф-
+-ф8х8
+8ф8х-
+-ф8ц8
+8ф8ц-
+-ф8ч8
+8ф8ч-
+-ф8ш8
+8ф8ш-
+-ф8щ8
+8ф8щ-
+-ф8ъ8
+8ф8ъ-
+-ф8ы8
+8ф8ы-
+-ф8ь8
+8ф8ь-
+-ф8э8
+8ф8э-
+-ф8ю8
+8ф8ю-
+-ф8я8
+8ф8я-
+-х8а8
+8х8а-
+-х8б8
+8х8б-
+-х8в8
+8х8в-
+-х8г8
+8х8г-
+-х8д8
+8х8д-
+-х8е8
+8х8е-
+-х8ё8
+8х8ё-
+-х8ж8
+8х8ж-
+-х8з8
+8х8з-
+-х8и8
+8х8и-
+-х8й8
+8х8й-
+-х8к8
+8х8к-
+-х8л8
+8х8л-
+-х8м8
+8х8м-
+-х8н8
+8х8н-
+-х8о8
+8х8о-
+-х8п8
+8х8п-
+-х8р8
+8х8р-
+-х8с8
+8х8с-
+-х8т8
+8х8т-
+-х8у8
+8х8у-
+-х8ф8
+8х8ф-
+-х8х8
+8х8х-
+-х8ц8
+8х8ц-
+-х8ч8
+8х8ч-
+-х8ш8
+8х8ш-
+-х8щ8
+8х8щ-
+-х8ъ8
+8х8ъ-
+-х8ы8
+8х8ы-
+-х8ь8
+8х8ь-
+-х8э8
+8х8э-
+-х8ю8
+8х8ю-
+-х8я8
+8х8я-
+-ц8а8
+8ц8а-
+-ц8б8
+8ц8б-
+-ц8в8
+8ц8в-
+-ц8г8
+8ц8г-
+-ц8д8
+8ц8д-
+-ц8е8
+8ц8е-
+-ц8ё8
+8ц8ё-
+-ц8ж8
+8ц8ж-
+-ц8з8
+8ц8з-
+-ц8и8
+8ц8и-
+-ц8й8
+8ц8й-
+-ц8к8
+8ц8к-
+-ц8л8
+8ц8л-
+-ц8м8
+8ц8м-
+-ц8н8
+8ц8н-
+-ц8о8
+8ц8о-
+-ц8п8
+8ц8п-
+-ц8р8
+8ц8р-
+-ц8с8
+8ц8с-
+-ц8т8
+8ц8т-
+-ц8у8
+8ц8у-
+-ц8ф8
+8ц8ф-
+-ц8х8
+8ц8х-
+-ц8ц8
+8ц8ц-
+-ц8ч8
+8ц8ч-
+-ц8ш8
+8ц8ш-
+-ц8щ8
+8ц8щ-
+-ц8ъ8
+8ц8ъ-
+-ц8ы8
+8ц8ы-
+-ц8ь8
+8ц8ь-
+-ц8э8
+8ц8э-
+-ц8ю8
+8ц8ю-
+-ц8я8
+8ц8я-
+-ч8а8
+8ч8а-
+-ч8б8
+8ч8б-
+-ч8в8
+8ч8в-
+-ч8г8
+8ч8г-
+-ч8д8
+8ч8д-
+-ч8е8
+8ч8е-
+-ч8ё8
+8ч8ё-
+-ч8ж8
+8ч8ж-
+-ч8з8
+8ч8з-
+-ч8и8
+8ч8и-
+-ч8й8
+8ч8й-
+-ч8к8
+8ч8к-
+-ч8л8
+8ч8л-
+-ч8м8
+8ч8м-
+-ч8н8
+8ч8н-
+-ч8о8
+8ч8о-
+-ч8п8
+8ч8п-
+-ч8р8
+8ч8р-
+-ч8с8
+8ч8с-
+-ч8т8
+8ч8т-
+-ч8у8
+8ч8у-
+-ч8ф8
+8ч8ф-
+-ч8х8
+8ч8х-
+-ч8ц8
+8ч8ц-
+-ч8ч8
+8ч8ч-
+-ч8ш8
+8ч8ш-
+-ч8щ8
+8ч8щ-
+-ч8ъ8
+8ч8ъ-
+-ч8ы8
+8ч8ы-
+-ч8ь8
+8ч8ь-
+-ч8э8
+8ч8э-
+-ч8ю8
+8ч8ю-
+-ч8я8
+8ч8я-
+-ш8а8
+8ш8а-
+-ш8б8
+8ш8б-
+-ш8в8
+8ш8в-
+-ш8г8
+8ш8г-
+-ш8д8
+8ш8д-
+-ш8е8
+8ш8е-
+-ш8ё8
+8ш8ё-
+-ш8ж8
+8ш8ж-
+-ш8з8
+8ш8з-
+-ш8и8
+8ш8и-
+-ш8й8
+8ш8й-
+-ш8к8
+8ш8к-
+-ш8л8
+8ш8л-
+-ш8м8
+8ш8м-
+-ш8н8
+8ш8н-
+-ш8о8
+8ш8о-
+-ш8п8
+8ш8п-
+-ш8р8
+8ш8р-
+-ш8с8
+8ш8с-
+-ш8т8
+8ш8т-
+-ш8у8
+8ш8у-
+-ш8ф8
+8ш8ф-
+-ш8х8
+8ш8х-
+-ш8ц8
+8ш8ц-
+-ш8ч8
+8ш8ч-
+-ш8ш8
+8ш8ш-
+-ш8щ8
+8ш8щ-
+-ш8ъ8
+8ш8ъ-
+-ш8ы8
+8ш8ы-
+-ш8ь8
+8ш8ь-
+-ш8э8
+8ш8э-
+-ш8ю8
+8ш8ю-
+-ш8я8
+8ш8я-
+-щ8а8
+8щ8а-
+-щ8б8
+8щ8б-
+-щ8в8
+8щ8в-
+-щ8г8
+8щ8г-
+-щ8д8
+8щ8д-
+-щ8е8
+8щ8е-
+-щ8ё8
+8щ8ё-
+-щ8ж8
+8щ8ж-
+-щ8з8
+8щ8з-
+-щ8и8
+8щ8и-
+-щ8й8
+8щ8й-
+-щ8к8
+8щ8к-
+-щ8л8
+8щ8л-
+-щ8м8
+8щ8м-
+-щ8н8
+8щ8н-
+-щ8о8
+8щ8о-
+-щ8п8
+8щ8п-
+-щ8р8
+8щ8р-
+-щ8с8
+8щ8с-
+-щ8т8
+8щ8т-
+-щ8у8
+8щ8у-
+-щ8ф8
+8щ8ф-
+-щ8х8
+8щ8х-
+-щ8ц8
+8щ8ц-
+-щ8ч8
+8щ8ч-
+-щ8ш8
+8щ8ш-
+-щ8щ8
+8щ8щ-
+-щ8ъ8
+8щ8ъ-
+-щ8ы8
+8щ8ы-
+-щ8ь8
+8щ8ь-
+-щ8э8
+8щ8э-
+-щ8ю8
+8щ8ю-
+-щ8я8
+8щ8я-
+-ъ8а8
+8ъ8а-
+-ъ8б8
+8ъ8б-
+-ъ8в8
+8ъ8в-
+-ъ8г8
+8ъ8г-
+-ъ8д8
+8ъ8д-
+-ъ8е8
+8ъ8е-
+-ъ8ё8
+8ъ8ё-
+-ъ8ж8
+8ъ8ж-
+-ъ8з8
+8ъ8з-
+-ъ8и8
+8ъ8и-
+-ъ8й8
+8ъ8й-
+-ъ8к8
+8ъ8к-
+-ъ8л8
+8ъ8л-
+-ъ8м8
+8ъ8м-
+-ъ8н8
+8ъ8н-
+-ъ8о8
+8ъ8о-
+-ъ8п8
+8ъ8п-
+-ъ8р8
+8ъ8р-
+-ъ8с8
+8ъ8с-
+-ъ8т8
+8ъ8т-
+-ъ8у8
+8ъ8у-
+-ъ8ф8
+8ъ8ф-
+-ъ8х8
+8ъ8х-
+-ъ8ц8
+8ъ8ц-
+-ъ8ч8
+8ъ8ч-
+-ъ8ш8
+8ъ8ш-
+-ъ8щ8
+8ъ8щ-
+-ъ8ъ8
+8ъ8ъ-
+-ъ8ы8
+8ъ8ы-
+-ъ8ь8
+8ъ8ь-
+-ъ8э8
+8ъ8э-
+-ъ8ю8
+8ъ8ю-
+-ъ8я8
+8ъ8я-
+-ы8а8
+8ы8а-
+-ы8б8
+8ы8б-
+-ы8в8
+8ы8в-
+-ы8г8
+8ы8г-
+-ы8д8
+8ы8д-
+-ы8е8
+8ы8е-
+-ы8ё8
+8ы8ё-
+-ы8ж8
+8ы8ж-
+-ы8з8
+8ы8з-
+-ы8и8
+8ы8и-
+-ы8й8
+8ы8й-
+-ы8к8
+8ы8к-
+-ы8л8
+8ы8л-
+-ы8м8
+8ы8м-
+-ы8н8
+8ы8н-
+-ы8о8
+8ы8о-
+-ы8п8
+8ы8п-
+-ы8р8
+8ы8р-
+-ы8с8
+8ы8с-
+-ы8т8
+8ы8т-
+-ы8у8
+8ы8у-
+-ы8ф8
+8ы8ф-
+-ы8х8
+8ы8х-
+-ы8ц8
+8ы8ц-
+-ы8ч8
+8ы8ч-
+-ы8ш8
+8ы8ш-
+-ы8щ8
+8ы8щ-
+-ы8ъ8
+8ы8ъ-
+-ы8ы8
+8ы8ы-
+-ы8ь8
+8ы8ь-
+-ы8э8
+8ы8э-
+-ы8ю8
+8ы8ю-
+-ы8я8
+8ы8я-
+-ь8а8
+8ь8а-
+-ь8б8
+8ь8б-
+-ь8в8
+8ь8в-
+-ь8г8
+8ь8г-
+-ь8д8
+8ь8д-
+-ь8е8
+8ь8е-
+-ь8ё8
+8ь8ё-
+-ь8ж8
+8ь8ж-
+-ь8з8
+8ь8з-
+-ь8и8
+8ь8и-
+-ь8й8
+8ь8й-
+-ь8к8
+8ь8к-
+-ь8л8
+8ь8л-
+-ь8м8
+8ь8м-
+-ь8н8
+8ь8н-
+-ь8о8
+8ь8о-
+-ь8п8
+8ь8п-
+-ь8р8
+8ь8р-
+-ь8с8
+8ь8с-
+-ь8т8
+8ь8т-
+-ь8у8
+8ь8у-
+-ь8ф8
+8ь8ф-
+-ь8х8
+8ь8х-
+-ь8ц8
+8ь8ц-
+-ь8ч8
+8ь8ч-
+-ь8ш8
+8ь8ш-
+-ь8щ8
+8ь8щ-
+-ь8ъ8
+8ь8ъ-
+-ь8ы8
+8ь8ы-
+-ь8ь8
+8ь8ь-
+-ь8э8
+8ь8э-
+-ь8ю8
+8ь8ю-
+-ь8я8
+8ь8я-
+-э8а8
+8э8а-
+-э8б8
+8э8б-
+-э8в8
+8э8в-
+-э8г8
+8э8г-
+-э8д8
+8э8д-
+-э8е8
+8э8е-
+-э8ё8
+8э8ё-
+-э8ж8
+8э8ж-
+-э8з8
+8э8з-
+-э8и8
+8э8и-
+-э8й8
+8э8й-
+-э8к8
+8э8к-
+-э8л8
+8э8л-
+-э8м8
+8э8м-
+-э8н8
+8э8н-
+-э8о8
+8э8о-
+-э8п8
+8э8п-
+-э8р8
+8э8р-
+-э8с8
+8э8с-
+-э8т8
+8э8т-
+-э8у8
+8э8у-
+-э8ф8
+8э8ф-
+-э8х8
+8э8х-
+-э8ц8
+8э8ц-
+-э8ч8
+8э8ч-
+-э8ш8
+8э8ш-
+-э8щ8
+8э8щ-
+-э8ъ8
+8э8ъ-
+-э8ы8
+8э8ы-
+-э8ь8
+8э8ь-
+-э8э8
+8э8э-
+-э8ю8
+8э8ю-
+-э8я8
+8э8я-
+-ю8а8
+8ю8а-
+-ю8б8
+8ю8б-
+-ю8в8
+8ю8в-
+-ю8г8
+8ю8г-
+-ю8д8
+8ю8д-
+-ю8е8
+8ю8е-
+-ю8ё8
+8ю8ё-
+-ю8ж8
+8ю8ж-
+-ю8з8
+8ю8з-
+-ю8и8
+8ю8и-
+-ю8й8
+8ю8й-
+-ю8к8
+8ю8к-
+-ю8л8
+8ю8л-
+-ю8м8
+8ю8м-
+-ю8н8
+8ю8н-
+-ю8о8
+8ю8о-
+-ю8п8
+8ю8п-
+-ю8р8
+8ю8р-
+-ю8с8
+8ю8с-
+-ю8т8
+8ю8т-
+-ю8у8
+8ю8у-
+-ю8ф8
+8ю8ф-
+-ю8х8
+8ю8х-
+-ю8ц8
+8ю8ц-
+-ю8ч8
+8ю8ч-
+-ю8ш8
+8ю8ш-
+-ю8щ8
+8ю8щ-
+-ю8ъ8
+8ю8ъ-
+-ю8ы8
+8ю8ы-
+-ю8ь8
+8ю8ь-
+-ю8э8
+8ю8э-
+-ю8ю8
+8ю8ю-
+-ю8я8
+8ю8я-
+-я8а8
+8я8а-
+-я8б8
+8я8б-
+-я8в8
+8я8в-
+-я8г8
+8я8г-
+-я8д8
+8я8д-
+-я8е8
+8я8е-
+-я8ё8
+8я8ё-
+-я8ж8
+8я8ж-
+-я8з8
+8я8з-
+-я8и8
+8я8и-
+-я8й8
+8я8й-
+-я8к8
+8я8к-
+-я8л8
+8я8л-
+-я8м8
+8я8м-
+-я8н8
+8я8н-
+-я8о8
+8я8о-
+-я8п8
+8я8п-
+-я8р8
+8я8р-
+-я8с8
+8я8с-
+-я8т8
+8я8т-
+-я8у8
+8я8у-
+-я8ф8
+8я8ф-
+-я8х8
+8я8х-
+-я8ц8
+8я8ц-
+-я8ч8
+8я8ч-
+-я8ш8
+8я8ш-
+-я8щ8
+8я8щ-
+-я8ъ8
+8я8ъ-
+-я8ы8
+8я8ы-
+-я8ь8
+8я8ь-
+-я8э8
+8я8э-
+-я8ю8
+8я8ю-
+-я8я8
+8я8я-} \ No newline at end of file
diff --git a/tex/context/patterns/lang-ru.rme b/tex/context/patterns/lang-ru.rme
index bcb3ef768..4b35f5865 100644
--- a/tex/context/patterns/lang-ru.rme
+++ b/tex/context/patterns/lang-ru.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Russian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -74,4 +78,4 @@
% document files README.ruhyphal and hyphen.rules. The file cyryoal.tex
% can be regenerated using mkcyryo script (a part of ruhyphen package)
% and the latest release of rus-ispell dictionaries
-% <ftp://scon155.phys.msu.su/pub/russian/ispell/>. \ No newline at end of file
+% <ftp://scon155.phys.msu.su/pub/russian/ispell/>.
diff --git a/tex/context/patterns/lang-sk.lua b/tex/context/patterns/lang-sk.lua
index 144434d92..18c30e396 100644
--- a/tex/context/patterns/lang-sk.lua
+++ b/tex/context/patterns/lang-sk.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="sk",
- ["source"]="hyph-sk.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-sk",
+ ["texcomment"]="% Slovak Hyphenation Patterns (Jana Chlebikova, 1992)\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: skhyphen.tex (yyyy-mm-dd), skhyphen.ex (yy-mm-dd)\
diff --git a/tex/context/patterns/lang-sk.rme b/tex/context/patterns/lang-sk.rme
index 23e94d65d..de6c31ba3 100644
--- a/tex/context/patterns/lang-sk.rme
+++ b/tex/context/patterns/lang-sk.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Slovak Hyphenation Patterns (Jana Chlebikova, 1992)
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -80,4 +84,4 @@
% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
%%% --------------------------------------------------------------------
% \message {Loading SK hyphenation patterns: Jana Chlebikova, 1992}
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-sl.lua b/tex/context/patterns/lang-sl.lua
index 5dfd65d93..6d47e4de1 100644
--- a/tex/context/patterns/lang-sl.lua
+++ b/tex/context/patterns/lang-sl.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="sl",
- ["source"]="hyph-sl.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-sl",
+ ["texcomment"]="% Slovenian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: slhyph.tex (2007-01-29)\
diff --git a/tex/context/patterns/lang-sl.rme b/tex/context/patterns/lang-sl.rme
index 2cd175132..a26fbbe68 100644
--- a/tex/context/patterns/lang-sl.rme
+++ b/tex/context/patterns/lang-sl.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Slovenian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -91,4 +95,4 @@
% Release of `sihyph23.tex'
% 2007-01-20 `sihyph23.tex' renamed to `slhyph.tex'
% (sl is the proper language code for Slovenian)
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-sr.lua b/tex/context/patterns/lang-sr.lua
index 6b7759f1d..53f64a07b 100644
--- a/tex/context/patterns/lang-sr.lua
+++ b/tex/context/patterns/lang-sr.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="sr",
- ["source"]="hyph-sr-cyrl.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-sr-cyrl",
+ ["texcomment"]="% Serbian hyphenation patterns in Cyrillic script\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: srhyphc.tex (2003-06-09)\
diff --git a/tex/context/patterns/lang-sr.rme b/tex/context/patterns/lang-sr.rme
index 7a4df255a..f163cc8a9 100644
--- a/tex/context/patterns/lang-sr.rme
+++ b/tex/context/patterns/lang-sr.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Serbian hyphenation patterns in Cyrillic script
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -77,4 +81,4 @@
% Current maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
%
% \message{Serbian Cyrillic Hyphenation Patterns `srhyphc.tex' v1.0a <2003-06-09>}
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-sv.lua b/tex/context/patterns/lang-sv.lua
index 6a7506173..dc3a6a32f 100644
--- a/tex/context/patterns/lang-sv.lua
+++ b/tex/context/patterns/lang-sv.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="sv",
- ["source"]="hyph-sv.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-sv",
+ ["texcomment"]="% Swedish hyphenation patterns (Jan Michael Rynning, 1994-03-03)\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: sehyph.tex (2003-09-08)\
diff --git a/tex/context/patterns/lang-sv.rme b/tex/context/patterns/lang-sv.rme
index e0cb27225..5e1cb6666 100644
--- a/tex/context/patterns/lang-sv.rme
+++ b/tex/context/patterns/lang-sv.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Swedish hyphenation patterns (Jan Michael Rynning, 1994-03-03)
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -109,4 +113,4 @@
%
% Jan Michael Rynning <jmr@incolumitas.se>
% --------------------------------------------------------------------------
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-tk.lua b/tex/context/patterns/lang-tk.lua
index d0c1c06f6..a5a292081 100644
--- a/tex/context/patterns/lang-tk.lua
+++ b/tex/context/patterns/lang-tk.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="tk",
- ["source"]="hyph-tk.tex",
- ["texcomment"]="% Hyphenation patterns for Turkmen (hyph-tk.tex)\
+ ["source"]="hyph-tk",
+ ["texcomment"]="% Turkmen Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% Hyphenation patterns for Turkmen (hyph-tk.tex)\
%\
% Author: Nazar Annagurban <nazartm at gmail.com>\
% License: Public domain\
@@ -21,14 +25,14 @@ return {
% For more information about UTF-8 hyphenation patterns for TeX and\
% links to this file see\
% http://www.tug.org/tex-hyphen/\
-% ",
+%",
},
["patterns"]={
- ["characters"]="abdefghijklmnoprstuwyzäçöüýňşž",
- ["data"]="ä1bä ä1be ä1bi ä1bö ä1bü ä1çä ä1çe ä1çi ä1çö ä1çü ä1dä ä1de ä1di ä1dö ä1dü ä1fä ä1fe ä1fi ä1fö ä1fü ä1gä ä1ge ä1gi ä1gö ä1gü ä1hä ä1he ä1hi ä1hö ä1hü ä1jä ä1je ä1ji ä1jö ä1jü ä1kä ä1ke ä1ki ä1kö ä1kü ä1lä ä1le ä1li ä1lö ä1lü ä1mä ä1me ä1mi ä1mö ä1mü ä1nä ä1ne ä1ni ä1nö ä1nü ä1pä ä1pe ä1pi ä1pö ä1pü ä1rä ä1re ä1ri ä1rö ä1rü ä1sä ä1se ä1si ä1sö ä1sü ä1tä ä1te ä1ti ä1tö ä1tü ä1wä ä1we ä1wi ä1wö ä1wü ä1ýä ä1ýe ä1ýi ä1ýö ä1ýü ä1zä ä1ze ä1zi ä1zö ä1zü ä1ňä ä1ňe ä1ňi ä1ňö ä1ňü ä1žä ä1že ä1ži ä1žö ä1žü ä1şä ä1şe ä1şi ä1şö ä1şü e1bä e1be e1bi e1bö e1bü e1çä e1çe e1çi e1çö e1çü e1dä e1de e1di e1dö e1dü e1fä e1fe e1fi e1fö e1fü e1gä e1ge e1gi e1gö e1gü e1hä e1he e1hi e1hö e1hü e1jä e1je e1ji e1jö e1jü e1kä e1ke e1ki e1kö e1kü e1lä e1le e1li e1lö e1lü e1mä e1me e1mi e1mö e1mü e1nä e1ne e1ni e1nö e1nü e1pä e1pe e1pi e1pö e1pü e1rä e1re e1ri e1rö e1rü e1sä e1se e1si e1sö e1sü e1tä e1te e1ti e1tö e1tü e1wä e1we e1wi e1wö e1wü e1ýä e1ýe e1ýi e1ýö e1ýü e1zä e1ze e1zi e1zö e1zü e1ňä e1ňe e1ňi e1ňö e1ňü e1žä e1že e1ži e1žö e1žü e1şä e1şe e1şi e1şö e1şü i1bä i1be i1bi i1bö i1bü i1çä i1çe i1çi i1çö i1çü i1dä i1de i1di i1dö i1dü i1fä i1fe i1fi i1fö i1fü i1gä i1ge i1gi i1gö i1gü i1hä i1he i1hi i1hö i1hü i1jä i1je i1ji i1jö i1jü i1kä i1ke i1ki i1kö i1kü i1lä i1le i1li i1lö i1lü i1mä i1me i1mi i1mö i1mü i1nä i1ne i1ni i1nö i1nü i1pä i1pe i1pi i1pö i1pü i1rä i1re i1ri i1rö i1rü i1sä i1se i1si i1sö i1sü i1tä i1te i1ti i1tö i1tü i1wä i1we i1wi i1wö i1wü i1ýä i1ýe i1ýi i1ýö i1ýü i1zä i1ze i1zi i1zö i1zü i1ňä i1ňe i1ňi i1ňö i1ňü i1žä i1že i1ži i1žö i1žü i1şä i1şe i1şi i1şö i1şü ö1bä ö1be ö1bi ö1bö ö1bü ö1çä ö1çe ö1çi ö1çö ö1çü ö1dä ö1de ö1di ö1dö ö1dü ö1fä ö1fe ö1fi ö1fö ö1fü ö1gä ö1ge ö1gi ö1gö ö1gü ö1hä ö1he ö1hi ö1hö ö1hü ö1jä ö1je ö1ji ö1jö ö1jü ö1kä ö1ke ö1ki ö1kö ö1kü ö1lä ö1le ö1li ö1lö ö1lü ö1mä ö1me ö1mi ö1mö ö1mü ö1nä ö1ne ö1ni ö1nö ö1nü ö1pä ö1pe ö1pi ö1pö ö1pü ö1rä ö1re ö1ri ö1rö ö1rü ö1sä ö1se ö1si ö1sö ö1sü ö1tä ö1te ö1ti ö1tö ö1tü ö1wä ö1we ö1wi ö1wö ö1wü ö1ýä ö1ýe ö1ýi ö1ýö ö1ýü ö1zä ö1ze ö1zi ö1zö ö1zü ö1ňä ö1ňe ö1ňi ö1ňö ö1ňü ö1žä ö1že ö1ži ö1žö ö1žü ö1şä ö1şe ö1şi ö1şö ö1şü ü1bä ü1be ü1bi ü1bö ü1bü ü1çä ü1çe ü1çi ü1çö ü1çü ü1dä ü1de ü1di ü1dö ü1dü ü1fä ü1fe ü1fi ü1fö ü1fü ü1gä ü1ge ü1gi ü1gö ü1gü ü1hä ü1he ü1hi ü1hö ü1hü ü1jä ü1je ü1ji ü1jö ü1jü ü1kä ü1ke ü1ki ü1kö ü1kü ü1lä ü1le ü1li ü1lö ü1lü ü1mä ü1me ü1mi ü1mö ü1mü ü1nä ü1ne ü1ni ü1nö ü1nü ü1pä ü1pe ü1pi ü1pö ü1pü ü1rä ü1re ü1ri ü1rö ü1rü ü1sä ü1se ü1si ü1sö ü1sü ü1tä ü1te ü1ti ü1tö ü1tü ü1wä ü1we ü1wi ü1wö ü1wü ü1ýä ü1ýe ü1ýi ü1ýö ü1ýü ü1zä ü1ze ü1zi ü1zö ü1zü ü1ňä ü1ňe ü1ňi ü1ňö ü1ňü ü1žä ü1že ü1ži ü1žö ü1žü ü1şä ü1şe ü1şi ü1şö ü1şü a1ba a1by a1bo a1bu a1ça a1çy a1ço a1çu a1da a1dy a1do a1du a1fa a1fy a1fo a1fu a1ga a1gy a1go a1gu a1ha a1hy a1ho a1hu a1ja a1jy a1jo a1ju a1ka a1ky a1ko a1ku a1la a1ly a1lo a1lu a1ma a1my a1mo a1mu a1na a1ny a1no a1nu a1pa a1py a1po a1pu a1ra a1ry a1ro a1ru a1sa a1sy a1so a1su a1ta a1ty a1to a1tu a1wa a1wy a1wo a1wu a1ýa a1ýy a1ýo a1ýu a1za a1zy a1zo a1zu a1ňa a1ňy a1ňo a1ňu a1ža a1žy a1žo a1žu a1şa a1şy a1şo a1şu y1ba y1by y1bo y1bu y1ça y1çy y1ço y1çu y1da y1dy y1do y1du y1fa y1fy y1fo y1fu y1ga y1gy y1go y1gu y1ha y1hy y1ho y1hu y1ja y1jy y1jo y1ju y1ka y1ky y1ko y1ku y1la y1ly y1lo y1lu y1ma y1my y1mo y1mu y1na y1ny y1no y1nu y1pa y1py y1po y1pu y1ra y1ry y1ro y1ru y1sa y1sy y1so y1su y1ta y1ty y1to y1tu y1wa y1wy y1wo y1wu y1ýa y1ýy y1ýo y1ýu y1za y1zy y1zo y1zu y1ňa y1ňy y1ňo y1ňu y1ža y1žy y1žo y1žu y1şa y1şy y1şo y1şu o1ba o1by o1bo o1bu o1ça o1çy o1ço o1çu o1da o1dy o1do o1du o1fa o1fy o1fo o1fu o1ga o1gy o1go o1gu o1ha o1hy o1ho o1hu o1ja o1jy o1jo o1ju o1ka o1ky o1ko o1ku o1la o1ly o1lo o1lu o1ma o1my o1mo o1mu o1na o1ny o1no o1nu o1pa o1py o1po o1pu o1ra o1ry o1ro o1ru o1sa o1sy o1so o1su o1ta o1ty o1to o1tu o1wa o1wy o1wo o1wu o1ýa o1ýy o1ýo o1ýu o1za o1zy o1zo o1zu o1ňa o1ňy o1ňo o1ňu o1ža o1žy o1žo o1žu o1şa o1şy o1şo o1şu u1ba u1by u1bo u1bu u1ça u1çy u1ço u1çu u1da u1dy u1do u1du u1fa u1fy u1fo u1fu u1ga u1gy u1go u1gu u1ha u1hy u1ho u1hu u1ja u1jy u1jo u1ju u1ka u1ky u1ko u1ku u1la u1ly u1lo u1lu u1ma u1my u1mo u1mu u1na u1ny u1no u1nu u1pa u1py u1po u1pu u1ra u1ry u1ro u1ru u1sa u1sy u1so u1su u1ta u1ty u1to u1tu u1wa u1wy u1wo u1wu u1ýa u1ýy u1ýo u1ýu u1za u1zy u1zo u1zu u1ňa u1ňy u1ňo u1ňu u1ža u1žy u1žo u1žu u1şa u1şy u1şo u1şu a1bi a1be y1bä y1bi y1be o1bi o1be u1bi u1be i1ba i1bo e1ba e1bo ä1bo ä1ba ö1ba a1çi a1çe y1çä y1çi y1çe o1çi o1çe u1çi u1çe i1ça i1ço e1ça e1ço ä1ço ä1ça ö1ça a1di a1de y1dä y1di y1de o1di o1de u1di u1de i1da i1do e1da e1do ä1do ä1da ö1da a1fi a1fe y1fä y1fi y1fe o1fi o1fe u1fi u1fe i1fa i1fo e1fa e1fo ä1fo ä1fa ö1fa a1gi a1ge y1gä y1gi y1ge o1gi o1ge u1gi u1ge i1ga i1go e1ga e1go ä1go ä1ga ö1ga a1hi a1he y1hä y1hi y1he o1hi o1he u1hi u1he i1ha i1ho e1ha e1ho ä1ho ä1ha ö1ha a1ji a1je y1jä y1ji y1je o1ji o1je u1ji u1je i1ja i1jo e1ja e1jo ä1jo ä1ja ö1ja a1ki a1ke y1kä y1ki y1ke o1ki o1ke u1ki u1ke i1ka i1ko e1ka e1ko ä1ko ä1ka ö1ka a1li a1le y1lä y1li y1le o1li o1le u1li u1le i1la i1lo e1la e1lo ä1lo ä1la ö1la a1mi a1me y1mä y1mi y1me o1mi o1me u1mi u1me i1ma i1mo e1ma e1mo ä1mo ä1ma ö1ma a1ni a1ne y1nä y1ni y1ne o1ni o1ne u1ni u1ne i1na i1no e1na e1no ä1no ä1na ö1na a1pi a1pe y1pä y1pi y1pe o1pi o1pe u1pi u1pe i1pa i1po e1pa e1po ä1po ä1pa ö1pa a1ri a1re y1rä y1ri y1re o1ri o1re u1ri u1re i1ra i1ro e1ra e1ro ä1ro ä1ra ö1ra a1si a1se y1sä y1si y1se o1si o1se u1si u1se i1sa i1so e1sa e1so ä1so ä1sa ö1sa a1ti a1te y1tä y1ti y1te o1ti o1te u1ti u1te i1ta i1to e1ta e1to ä1to ä1ta ö1ta a1wi a1we y1wä y1wi y1we o1wi o1we u1wi u1we i1wa i1wo e1wa e1wo ä1wo ä1wa ö1wa a1ýi a1ýe y1ýä y1ýi y1ýe o1ýi o1ýe u1ýi u1ýe i1ýa i1ýo e1ýa e1ýo ä1ýo ä1ýa ö1ýa a1zi a1ze y1zä y1zi y1ze o1zi o1ze u1zi u1ze i1za i1zo e1za e1zo ä1zo ä1za ö1za a1ňi a1ňe y1ňä y1ňi y1ňe o1ňi o1ňe u1ňi u1ňe i1ňa i1ňo e1ňa e1ňo ä1ňo ä1ňa ö1ňa a1ži a1že y1žä y1ži y1že o1ži o1že u1ži u1že i1ža i1žo e1ža e1žo ä1žo ä1ža ö1ža a1şi a1şe y1şä y1şi y1şe o1şi o1şe u1şi u1şe i1şa i1şo e1şa e1şo ä1şo ä1şa ö1şa b1b .b2b b1ç .b2ç b1d .b2d b1f .b2f b1g .b2g b1h .b2h b1j .b2j b1k .b2k b1l .b2l b1m .b2m b1n .b2n b1p .b2p b1r .b2r b1s .b2s b1t .b2t b1w .b2w b1ý .b2ý b1z .b2z b1ň .b2ň b1ž .b2ž b1ş .b2ş ç1b .ç2b ç1ç .ç2ç ç1d .ç2d ç1f .ç2f ç1g .ç2g ç1h .ç2h ç1j .ç2j ç1k .ç2k ç1l .ç2l ç1m .ç2m ç1n .ç2n ç1p .ç2p ç1r .ç2r ç1s .ç2s ç1t .ç2t ç1w .ç2w ç1ý .ç2ý ç1z .ç2z ç1ň .ç2ň ç1ž .ç2ž ç1ş .ç2ş d1b .d2b d1ç .d2ç d1d .d2d d1f .d2f d1g .d2g d1h .d2h d1j .d2j d1k .d2k d1l .d2l d1m .d2m d1n .d2n d1p .d2p d1r .d2r d1s .d2s d1t .d2t d1w .d2w d1ý .d2ý d1z .d2z d1ň .d2ň d1ž .d2ž d1ş .d2ş f1b .f2b f1ç .f2ç f1d .f2d f1f .f2f f1g .f2g f1h .f2h f1j .f2j f1k .f2k f1l .f2l f1m .f2m f1n .f2n f1p .f2p f1r .f2r f1s .f2s f1t .f2t f1w .f2w f1ý .f2ý f1z .f2z f1ň .f2ň f1ž .f2ž f1ş .f2ş g1b .g2b g1ç .g2ç g1d .g2d g1f .g2f g1g .g2g g1h .g2h g1j .g2j g1k .g2k g1l .g2l g1m .g2m g1n .g2n g1p .g2p g1r .g2r g1s .g2s g1t .g2t g1w .g2w g1ý .g2ý g1z .g2z g1ň .g2ň g1ž .g2ž g1ş .g2ş h1b .h2b h1ç .h2ç h1d .h2d h1f .h2f h1g .h2g h1h .h2h h1j .h2j h1k .h2k h1l .h2l h1m .h2m h1n .h2n h1p .h2p h1r .h2r h1s .h2s h1t .h2t h1w .h2w h1ý .h2ý h1z .h2z h1ň .h2ň h1ž .h2ž h1ş .h2ş j1b .j2b j1ç .j2ç j1d .j2d j1f .j2f j1g .j2g j1h .j2h j1j .j2j j1k .j2k j1l .j2l j1m .j2m j1n .j2n j1p .j2p j1r .j2r j1s .j2s j1t .j2t j1w .j2w j1ý .j2ý j1z .j2z j1ň .j2ň j1ž .j2ž j1ş .j2ş k1b .k2b k1ç .k2ç k1d .k2d k1f .k2f k1g .k2g k1h .k2h k1j .k2j k1k .k2k k1l .k2l k1m .k2m k1n .k2n k1p .k2p k1r .k2r k1s .k2s k1t .k2t k1w .k2w k1ý .k2ý k1z .k2z k1ň .k2ň k1ž .k2ž k1ş .k2ş l1b .l2b l1ç .l2ç l1d .l2d l1f .l2f l1g .l2g l1h .l2h l1j .l2j l1k .l2k l1l .l2l l1m .l2m l1n .l2n l1p .l2p l1r .l2r l1s .l2s l1t .l2t l1w .l2w l1ý .l2ý l1z .l2z l1ň .l2ň l1ž .l2ž l1ş .l2ş m1b .m2b m1ç .m2ç m1d .m2d m1f .m2f m1g .m2g m1h .m2h m1j .m2j m1k .m2k m1l .m2l m1m .m2m m1n .m2n m1p .m2p m1r .m2r m1s .m2s m1t .m2t m1w .m2w m1ý .m2ý m1z .m2z m1ň .m2ň m1ž .m2ž m1ş .m2ş n1b .n2b n1ç .n2ç n1d .n2d n1f .n2f n1g .n2g n1h .n2h n1j .n2j n1k .n2k n1l .n2l n1m .n2m n1n .n2n n1p .n2p n1r .n2r n1s .n2s n1t .n2t n1w .n2w n1ý .n2ý n1z .n2z n1ň .n2ň n1ž .n2ž n1ş .n2ş p1b .p2b p1ç .p2ç p1d .p2d p1f .p2f p1g .p2g p1h .p2h p1j .p2j p1k .p2k p1l .p2l p1m .p2m p1n .p2n p1p .p2p p1r .p2r p1s .p2s p1t .p2t p1w .p2w p1ý .p2ý p1z .p2z p1ň .p2ň p1ž .p2ž p1ş .p2ş r1b .r2b r1ç .r2ç r1d .r2d r1f .r2f r1g .r2g r1h .r2h r1j .r2j r1k .r2k r1l .r2l r1m .r2m r1n .r2n r1p .r2p r1r .r2r r1s .r2s r1t .r2t r1w .r2w r1ý .r2ý r1z .r2z r1ň .r2ň r1ž .r2ž r1ş .r2ş s1b .s2b s1ç .s2ç s1d .s2d s1f .s2f s1g .s2g s1h .s2h s1j .s2j s1k .s2k s1l .s2l s1m .s2m s1n .s2n s1p .s2p s1r .s2r s1s .s2s s1t .s2t s1w .s2w s1ý .s2ý s1z .s2z s1ň .s2ň s1ž .s2ž s1ş .s2ş t1b .t2b t1ç .t2ç t1d .t2d t1f .t2f t1g .t2g t1h .t2h t1j .t2j t1k .t2k t1l .t2l t1m .t2m t1n .t2n t1p .t2p t1r .t2r t1s .t2s t1t .t2t t1w .t2w t1ý .t2ý t1z .t2z t1ň .t2ň t1ž .t2ž t1ş .t2ş w1b .w2b w1ç .w2ç w1d .w2d w1f .w2f w1g .w2g w1h .w2h w1j .w2j w1k .w2k w1l .w2l w1m .w2m w1n .w2n w1p .w2p w1r .w2r w1s .w2s w1t .w2t w1w .w2w w1ý .w2ý w1z .w2z w1ň .w2ň w1ž .w2ž w1ş .w2ş ý1b .ý2b ý1ç .ý2ç ý1d .ý2d ý1f .ý2f ý1g .ý2g ý1h .ý2h ý1j .ý2j ý1k .ý2k ý1l .ý2l ý1m .ý2m ý1n .ý2n ý1p .ý2p ý1r .ý2r ý1s .ý2s ý1t .ý2t ý1w .ý2w ý1ý .ý2ý ý1z .ý2z ý1ň .ý2ň ý1ž .ý2ž ý1ş .ý2ş z1b .z2b z1ç .z2ç z1d .z2d z1f .z2f z1g .z2g z1h .z2h z1j .z2j z1k .z2k z1l .z2l z1m .z2m z1n .z2n z1p .z2p z1r .z2r z1s .z2s z1t .z2t z1w .z2w z1ý .z2ý z1z .z2z z1ň .z2ň z1ž .z2ž z1ş .z2ş ň1b .ň2b ň1ç .ň2ç ň1d .ň2d ň1f .ň2f ň1g .ň2g ň1h .ň2h ň1j .ň2j ň1k .ň2k ň1l .ň2l ň1m .ň2m ň1n .ň2n ň1p .ň2p ň1r .ň2r ň1s .ň2s ň1t .ň2t ň1w .ň2w ň1ý .ň2ý ň1z .ň2z ň1ň .ň2ň ň1ž .ň2ž ň1ş .ň2ş ž1b .ž2b ž1ç .ž2ç ž1d .ž2d ž1f .ž2f ž1g .ž2g ž1h .ž2h ž1j .ž2j ž1k .ž2k ž1l .ž2l ž1m .ž2m ž1n .ž2n ž1p .ž2p ž1r .ž2r ž1s .ž2s ž1t .ž2t ž1w .ž2w ž1ý .ž2ý ž1z .ž2z ž1ň .ž2ň ž1ž .ž2ž ž1ş .ž2ş ş1b .ş2b ş1ç .ş2ç ş1d .ş2d ş1f .ş2f ş1g .ş2g ş1h .ş2h ş1j .ş2j ş1k .ş2k ş1l .ş2l ş1m .ş2m ş1n .ş2n ş1p .ş2p ş1r .ş2r ş1s .ş2s ş1t .ş2t ş1w .ş2w ş1ý .ş2ý ş1z .ş2z ş1ň .ş2ň ş1ž .ş2ž ş1ş .ş2ş ý2t1b ý2n1b ý2d1b r2t1b ý2p1b l2p1b l2t1b g2t1b n2t1b r2k1b r2p1b k2t1b r2h1b s2t1b l2k1b w2p1b n2s1b r2s1b l2m1b ý2t1ç ý2n1ç ý2d1ç r2t1ç ý2p1ç l2p1ç l2t1ç g2t1ç n2t1ç r2k1ç r2p1ç k2t1ç r2h1ç s2t1ç l2k1ç w2p1ç n2s1ç r2s1ç l2m1ç ý2t1d ý2n1d ý2d1d r2t1d ý2p1d l2p1d l2t1d g2t1d n2t1d r2k1d r2p1d k2t1d r2h1d s2t1d l2k1d w2p1d n2s1d r2s1d l2m1d ý2t1g ý2n1g ý2d1g r2t1g ý2p1g l2p1g l2t1g g2t1g n2t1g r2k1g r2p1g k2t1g r2h1g s2t1g l2k1g w2p1g n2s1g r2s1g l2m1g ý2t1j ý2n1j ý2d1j r2t1j ý2p1j l2p1j l2t1j g2t1j n2t1j r2k1j r2p1j k2t1j r2h1j s2t1j l2k1j w2p1j n2s1j r2s1j l2m1j ý2t1k ý2n1k ý2d1k r2t1k ý2p1k l2p1k l2t1k g2t1k n2t1k r2k1k r2p1k k2t1k r2h1k s2t1k l2k1k w2p1k n2s1k r2s1k l2m1k ý2t1l ý2n1l ý2d1l r2t1l ý2p1l l2p1l l2t1l g2t1l n2t1l r2k1l r2p1l k2t1l r2h1l s2t1l l2k1l w2p1l n2s1l r2s1l l2m1l ý2t1m ý2n1m ý2d1m r2t1m ý2p1m l2p1m l2t1m g2t1m n2t1m r2k1m r2p1m k2t1m r2h1m s2t1m l2k1m w2p1m n2s1m r2s1m l2m1m ý2t1n ý2n1n ý2d1n r2t1n ý2p1n l2p1n l2t1n g2t1n n2t1n r2k1n r2p1n k2t1n r2h1n s2t1n l2k1n w2p1n n2s1n r2s1n l2m1n ý2t1p ý2n1p ý2d1p r2t1p ý2p1p l2p1p l2t1p g2t1p n2t1p r2k1p r2p1p k2t1p r2h1p s2t1p l2k1p w2p1p n2s1p r2s1p l2m1p ý2t1s ý2n1s ý2d1s r2t1s ý2p1s l2p1s l2t1s g2t1s n2t1s r2k1s r2p1s k2t1s r2h1s s2t1s l2k1s w2p1s n2s1s r2s1s l2m1s ý2t1t ý2n1t ý2d1t r2t1t ý2p1t l2p1t l2t1t g2t1t n2t1t r2k1t r2p1t k2t1t r2h1t s2t1t l2k1t w2p1t n2s1t r2s1t l2m1t ý2t1ý ý2n1ý ý2d1ý r2t1ý ý2p1ý l2p1ý l2t1ý g2t1ý n2t1ý r2k1ý r2p1ý k2t1ý r2h1ý s2t1ý l2k1ý w2p1ý n2s1ý r2s1ý l2m1ý ý2t1z ý2n1z ý2d1z r2t1z ý2p1z l2p1z l2t1z g2t1z n2t1z r2k1z r2p1z k2t1z r2h1z s2t1z l2k1z w2p1z n2s1z r2s1z l2m1z ý2t1ş ý2n1ş ý2d1ş r2t1ş ý2p1ş l2p1ş l2t1ş g2t1ş n2t1ş r2k1ş r2p1ş k2t1ş r2h1ş s2t1ş l2k1ş w2p1ş n2s1ş r2s1ş l2m1ş s2k1d l1s2k l1s2t s1t2r n2g1l n1g2r s2k1w",
+ ["characters"]="-abdefghijklmnoprstuwyzäçöüýňşž",
+ ["data"]="1-4 ä1bä ä1be ä1bi ä1bö ä1bü ä1çä ä1çe ä1çi ä1çö ä1çü ä1dä ä1de ä1di ä1dö ä1dü ä1fä ä1fe ä1fi ä1fö ä1fü ä1gä ä1ge ä1gi ä1gö ä1gü ä1hä ä1he ä1hi ä1hö ä1hü ä1jä ä1je ä1ji ä1jö ä1jü ä1kä ä1ke ä1ki ä1kö ä1kü ä1lä ä1le ä1li ä1lö ä1lü ä1mä ä1me ä1mi ä1mö ä1mü ä1nä ä1ne ä1ni ä1nö ä1nü ä1pä ä1pe ä1pi ä1pö ä1pü ä1rä ä1re ä1ri ä1rö ä1rü ä1sä ä1se ä1si ä1sö ä1sü ä1tä ä1te ä1ti ä1tö ä1tü ä1wä ä1we ä1wi ä1wö ä1wü ä1ýä ä1ýe ä1ýi ä1ýö ä1ýü ä1zä ä1ze ä1zi ä1zö ä1zü ä1ňä ä1ňe ä1ňi ä1ňö ä1ňü ä1žä ä1že ä1ži ä1žö ä1žü ä1şä ä1şe ä1şi ä1şö ä1şü e1bä e1be e1bi e1bö e1bü e1çä e1çe e1çi e1çö e1çü e1dä e1de e1di e1dö e1dü e1fä e1fe e1fi e1fö e1fü e1gä e1ge e1gi e1gö e1gü e1hä e1he e1hi e1hö e1hü e1jä e1je e1ji e1jö e1jü e1kä e1ke e1ki e1kö e1kü e1lä e1le e1li e1lö e1lü e1mä e1me e1mi e1mö e1mü e1nä e1ne e1ni e1nö e1nü e1pä e1pe e1pi e1pö e1pü e1rä e1re e1ri e1rö e1rü e1sä e1se e1si e1sö e1sü e1tä e1te e1ti e1tö e1tü e1wä e1we e1wi e1wö e1wü e1ýä e1ýe e1ýi e1ýö e1ýü e1zä e1ze e1zi e1zö e1zü e1ňä e1ňe e1ňi e1ňö e1ňü e1žä e1že e1ži e1žö e1žü e1şä e1şe e1şi e1şö e1şü i1bä i1be i1bi i1bö i1bü i1çä i1çe i1çi i1çö i1çü i1dä i1de i1di i1dö i1dü i1fä i1fe i1fi i1fö i1fü i1gä i1ge i1gi i1gö i1gü i1hä i1he i1hi i1hö i1hü i1jä i1je i1ji i1jö i1jü i1kä i1ke i1ki i1kö i1kü i1lä i1le i1li i1lö i1lü i1mä i1me i1mi i1mö i1mü i1nä i1ne i1ni i1nö i1nü i1pä i1pe i1pi i1pö i1pü i1rä i1re i1ri i1rö i1rü i1sä i1se i1si i1sö i1sü i1tä i1te i1ti i1tö i1tü i1wä i1we i1wi i1wö i1wü i1ýä i1ýe i1ýi i1ýö i1ýü i1zä i1ze i1zi i1zö i1zü i1ňä i1ňe i1ňi i1ňö i1ňü i1žä i1že i1ži i1žö i1žü i1şä i1şe i1şi i1şö i1şü ö1bä ö1be ö1bi ö1bö ö1bü ö1çä ö1çe ö1çi ö1çö ö1çü ö1dä ö1de ö1di ö1dö ö1dü ö1fä ö1fe ö1fi ö1fö ö1fü ö1gä ö1ge ö1gi ö1gö ö1gü ö1hä ö1he ö1hi ö1hö ö1hü ö1jä ö1je ö1ji ö1jö ö1jü ö1kä ö1ke ö1ki ö1kö ö1kü ö1lä ö1le ö1li ö1lö ö1lü ö1mä ö1me ö1mi ö1mö ö1mü ö1nä ö1ne ö1ni ö1nö ö1nü ö1pä ö1pe ö1pi ö1pö ö1pü ö1rä ö1re ö1ri ö1rö ö1rü ö1sä ö1se ö1si ö1sö ö1sü ö1tä ö1te ö1ti ö1tö ö1tü ö1wä ö1we ö1wi ö1wö ö1wü ö1ýä ö1ýe ö1ýi ö1ýö ö1ýü ö1zä ö1ze ö1zi ö1zö ö1zü ö1ňä ö1ňe ö1ňi ö1ňö ö1ňü ö1žä ö1že ö1ži ö1žö ö1žü ö1şä ö1şe ö1şi ö1şö ö1şü ü1bä ü1be ü1bi ü1bö ü1bü ü1çä ü1çe ü1çi ü1çö ü1çü ü1dä ü1de ü1di ü1dö ü1dü ü1fä ü1fe ü1fi ü1fö ü1fü ü1gä ü1ge ü1gi ü1gö ü1gü ü1hä ü1he ü1hi ü1hö ü1hü ü1jä ü1je ü1ji ü1jö ü1jü ü1kä ü1ke ü1ki ü1kö ü1kü ü1lä ü1le ü1li ü1lö ü1lü ü1mä ü1me ü1mi ü1mö ü1mü ü1nä ü1ne ü1ni ü1nö ü1nü ü1pä ü1pe ü1pi ü1pö ü1pü ü1rä ü1re ü1ri ü1rö ü1rü ü1sä ü1se ü1si ü1sö ü1sü ü1tä ü1te ü1ti ü1tö ü1tü ü1wä ü1we ü1wi ü1wö ü1wü ü1ýä ü1ýe ü1ýi ü1ýö ü1ýü ü1zä ü1ze ü1zi ü1zö ü1zü ü1ňä ü1ňe ü1ňi ü1ňö ü1ňü ü1žä ü1že ü1ži ü1žö ü1žü ü1şä ü1şe ü1şi ü1şö ü1şü a1ba a1by a1bo a1bu a1ça a1çy a1ço a1çu a1da a1dy a1do a1du a1fa a1fy a1fo a1fu a1ga a1gy a1go a1gu a1ha a1hy a1ho a1hu a1ja a1jy a1jo a1ju a1ka a1ky a1ko a1ku a1la a1ly a1lo a1lu a1ma a1my a1mo a1mu a1na a1ny a1no a1nu a1pa a1py a1po a1pu a1ra a1ry a1ro a1ru a1sa a1sy a1so a1su a1ta a1ty a1to a1tu a1wa a1wy a1wo a1wu a1ýa a1ýy a1ýo a1ýu a1za a1zy a1zo a1zu a1ňa a1ňy a1ňo a1ňu a1ža a1žy a1žo a1žu a1şa a1şy a1şo a1şu y1ba y1by y1bo y1bu y1ça y1çy y1ço y1çu y1da y1dy y1do y1du y1fa y1fy y1fo y1fu y1ga y1gy y1go y1gu y1ha y1hy y1ho y1hu y1ja y1jy y1jo y1ju y1ka y1ky y1ko y1ku y1la y1ly y1lo y1lu y1ma y1my y1mo y1mu y1na y1ny y1no y1nu y1pa y1py y1po y1pu y1ra y1ry y1ro y1ru y1sa y1sy y1so y1su y1ta y1ty y1to y1tu y1wa y1wy y1wo y1wu y1ýa y1ýy y1ýo y1ýu y1za y1zy y1zo y1zu y1ňa y1ňy y1ňo y1ňu y1ža y1žy y1žo y1žu y1şa y1şy y1şo y1şu o1ba o1by o1bo o1bu o1ça o1çy o1ço o1çu o1da o1dy o1do o1du o1fa o1fy o1fo o1fu o1ga o1gy o1go o1gu o1ha o1hy o1ho o1hu o1ja o1jy o1jo o1ju o1ka o1ky o1ko o1ku o1la o1ly o1lo o1lu o1ma o1my o1mo o1mu o1na o1ny o1no o1nu o1pa o1py o1po o1pu o1ra o1ry o1ro o1ru o1sa o1sy o1so o1su o1ta o1ty o1to o1tu o1wa o1wy o1wo o1wu o1ýa o1ýy o1ýo o1ýu o1za o1zy o1zo o1zu o1ňa o1ňy o1ňo o1ňu o1ža o1žy o1žo o1žu o1şa o1şy o1şo o1şu u1ba u1by u1bo u1bu u1ça u1çy u1ço u1çu u1da u1dy u1do u1du u1fa u1fy u1fo u1fu u1ga u1gy u1go u1gu u1ha u1hy u1ho u1hu u1ja u1jy u1jo u1ju u1ka u1ky u1ko u1ku u1la u1ly u1lo u1lu u1ma u1my u1mo u1mu u1na u1ny u1no u1nu u1pa u1py u1po u1pu u1ra u1ry u1ro u1ru u1sa u1sy u1so u1su u1ta u1ty u1to u1tu u1wa u1wy u1wo u1wu u1ýa u1ýy u1ýo u1ýu u1za u1zy u1zo u1zu u1ňa u1ňy u1ňo u1ňu u1ža u1žy u1žo u1žu u1şa u1şy u1şo u1şu a1bi a1be y1bä y1bi y1be o1bi o1be u1bi u1be i1ba i1bo e1ba e1bo ä1bo ä1ba ö1ba a1çi a1çe y1çä y1çi y1çe o1çi o1çe u1çi u1çe i1ça i1ço e1ça e1ço ä1ço ä1ça ö1ça a1di a1de y1dä y1di y1de o1di o1de u1di u1de i1da i1do e1da e1do ä1do ä1da ö1da a1fi a1fe y1fä y1fi y1fe o1fi o1fe u1fi u1fe i1fa i1fo e1fa e1fo ä1fo ä1fa ö1fa a1gi a1ge y1gä y1gi y1ge o1gi o1ge u1gi u1ge i1ga i1go e1ga e1go ä1go ä1ga ö1ga a1hi a1he y1hä y1hi y1he o1hi o1he u1hi u1he i1ha i1ho e1ha e1ho ä1ho ä1ha ö1ha a1ji a1je y1jä y1ji y1je o1ji o1je u1ji u1je i1ja i1jo e1ja e1jo ä1jo ä1ja ö1ja a1ki a1ke y1kä y1ki y1ke o1ki o1ke u1ki u1ke i1ka i1ko e1ka e1ko ä1ko ä1ka ö1ka a1li a1le y1lä y1li y1le o1li o1le u1li u1le i1la i1lo e1la e1lo ä1lo ä1la ö1la a1mi a1me y1mä y1mi y1me o1mi o1me u1mi u1me i1ma i1mo e1ma e1mo ä1mo ä1ma ö1ma a1ni a1ne y1nä y1ni y1ne o1ni o1ne u1ni u1ne i1na i1no e1na e1no ä1no ä1na ö1na a1pi a1pe y1pä y1pi y1pe o1pi o1pe u1pi u1pe i1pa i1po e1pa e1po ä1po ä1pa ö1pa a1ri a1re y1rä y1ri y1re o1ri o1re u1ri u1re i1ra i1ro e1ra e1ro ä1ro ä1ra ö1ra a1si a1se y1sä y1si y1se o1si o1se u1si u1se i1sa i1so e1sa e1so ä1so ä1sa ö1sa a1ti a1te y1tä y1ti y1te o1ti o1te u1ti u1te i1ta i1to e1ta e1to ä1to ä1ta ö1ta a1wi a1we y1wä y1wi y1we o1wi o1we u1wi u1we i1wa i1wo e1wa e1wo ä1wo ä1wa ö1wa a1ýi a1ýe y1ýä y1ýi y1ýe o1ýi o1ýe u1ýi u1ýe i1ýa i1ýo e1ýa e1ýo ä1ýo ä1ýa ö1ýa a1zi a1ze y1zä y1zi y1ze o1zi o1ze u1zi u1ze i1za i1zo e1za e1zo ä1zo ä1za ö1za a1ňi a1ňe y1ňä y1ňi y1ňe o1ňi o1ňe u1ňi u1ňe i1ňa i1ňo e1ňa e1ňo ä1ňo ä1ňa ö1ňa a1ži a1že y1žä y1ži y1že o1ži o1že u1ži u1že i1ža i1žo e1ža e1žo ä1žo ä1ža ö1ža a1şi a1şe y1şä y1şi y1şe o1şi o1şe u1şi u1şe i1şa i1şo e1şa e1şo ä1şo ä1şa ö1şa b1b .b2b b1ç .b2ç b1d .b2d b1f .b2f b1g .b2g b1h .b2h b1j .b2j b1k .b2k b1l .b2l b1m .b2m b1n .b2n b1p .b2p b1r .b2r b1s .b2s b1t .b2t b1w .b2w b1ý .b2ý b1z .b2z b1ň .b2ň b1ž .b2ž b1ş .b2ş ç1b .ç2b ç1ç .ç2ç ç1d .ç2d ç1f .ç2f ç1g .ç2g ç1h .ç2h ç1j .ç2j ç1k .ç2k ç1l .ç2l ç1m .ç2m ç1n .ç2n ç1p .ç2p ç1r .ç2r ç1s .ç2s ç1t .ç2t ç1w .ç2w ç1ý .ç2ý ç1z .ç2z ç1ň .ç2ň ç1ž .ç2ž ç1ş .ç2ş d1b .d2b d1ç .d2ç d1d .d2d d1f .d2f d1g .d2g d1h .d2h d1j .d2j d1k .d2k d1l .d2l d1m .d2m d1n .d2n d1p .d2p d1r .d2r d1s .d2s d1t .d2t d1w .d2w d1ý .d2ý d1z .d2z d1ň .d2ň d1ž .d2ž d1ş .d2ş f1b .f2b f1ç .f2ç f1d .f2d f1f .f2f f1g .f2g f1h .f2h f1j .f2j f1k .f2k f1l .f2l f1m .f2m f1n .f2n f1p .f2p f1r .f2r f1s .f2s f1t .f2t f1w .f2w f1ý .f2ý f1z .f2z f1ň .f2ň f1ž .f2ž f1ş .f2ş g1b .g2b g1ç .g2ç g1d .g2d g1f .g2f g1g .g2g g1h .g2h g1j .g2j g1k .g2k g1l .g2l g1m .g2m g1n .g2n g1p .g2p g1r .g2r g1s .g2s g1t .g2t g1w .g2w g1ý .g2ý g1z .g2z g1ň .g2ň g1ž .g2ž g1ş .g2ş h1b .h2b h1ç .h2ç h1d .h2d h1f .h2f h1g .h2g h1h .h2h h1j .h2j h1k .h2k h1l .h2l h1m .h2m h1n .h2n h1p .h2p h1r .h2r h1s .h2s h1t .h2t h1w .h2w h1ý .h2ý h1z .h2z h1ň .h2ň h1ž .h2ž h1ş .h2ş j1b .j2b j1ç .j2ç j1d .j2d j1f .j2f j1g .j2g j1h .j2h j1j .j2j j1k .j2k j1l .j2l j1m .j2m j1n .j2n j1p .j2p j1r .j2r j1s .j2s j1t .j2t j1w .j2w j1ý .j2ý j1z .j2z j1ň .j2ň j1ž .j2ž j1ş .j2ş k1b .k2b k1ç .k2ç k1d .k2d k1f .k2f k1g .k2g k1h .k2h k1j .k2j k1k .k2k k1l .k2l k1m .k2m k1n .k2n k1p .k2p k1r .k2r k1s .k2s k1t .k2t k1w .k2w k1ý .k2ý k1z .k2z k1ň .k2ň k1ž .k2ž k1ş .k2ş l1b .l2b l1ç .l2ç l1d .l2d l1f .l2f l1g .l2g l1h .l2h l1j .l2j l1k .l2k l1l .l2l l1m .l2m l1n .l2n l1p .l2p l1r .l2r l1s .l2s l1t .l2t l1w .l2w l1ý .l2ý l1z .l2z l1ň .l2ň l1ž .l2ž l1ş .l2ş m1b .m2b m1ç .m2ç m1d .m2d m1f .m2f m1g .m2g m1h .m2h m1j .m2j m1k .m2k m1l .m2l m1m .m2m m1n .m2n m1p .m2p m1r .m2r m1s .m2s m1t .m2t m1w .m2w m1ý .m2ý m1z .m2z m1ň .m2ň m1ž .m2ž m1ş .m2ş n1b .n2b n1ç .n2ç n1d .n2d n1f .n2f n1g .n2g n1h .n2h n1j .n2j n1k .n2k n1l .n2l n1m .n2m n1n .n2n n1p .n2p n1r .n2r n1s .n2s n1t .n2t n1w .n2w n1ý .n2ý n1z .n2z n1ň .n2ň n1ž .n2ž n1ş .n2ş p1b .p2b p1ç .p2ç p1d .p2d p1f .p2f p1g .p2g p1h .p2h p1j .p2j p1k .p2k p1l .p2l p1m .p2m p1n .p2n p1p .p2p p1r .p2r p1s .p2s p1t .p2t p1w .p2w p1ý .p2ý p1z .p2z p1ň .p2ň p1ž .p2ž p1ş .p2ş r1b .r2b r1ç .r2ç r1d .r2d r1f .r2f r1g .r2g r1h .r2h r1j .r2j r1k .r2k r1l .r2l r1m .r2m r1n .r2n r1p .r2p r1r .r2r r1s .r2s r1t .r2t r1w .r2w r1ý .r2ý r1z .r2z r1ň .r2ň r1ž .r2ž r1ş .r2ş s1b .s2b s1ç .s2ç s1d .s2d s1f .s2f s1g .s2g s1h .s2h s1j .s2j s1k .s2k s1l .s2l s1m .s2m s1n .s2n s1p .s2p s1r .s2r s1s .s2s s1t .s2t s1w .s2w s1ý .s2ý s1z .s2z s1ň .s2ň s1ž .s2ž s1ş .s2ş t1b .t2b t1ç .t2ç t1d .t2d t1f .t2f t1g .t2g t1h .t2h t1j .t2j t1k .t2k t1l .t2l t1m .t2m t1n .t2n t1p .t2p t1r .t2r t1s .t2s t1t .t2t t1w .t2w t1ý .t2ý t1z .t2z t1ň .t2ň t1ž .t2ž t1ş .t2ş w1b .w2b w1ç .w2ç w1d .w2d w1f .w2f w1g .w2g w1h .w2h w1j .w2j w1k .w2k w1l .w2l w1m .w2m w1n .w2n w1p .w2p w1r .w2r w1s .w2s w1t .w2t w1w .w2w w1ý .w2ý w1z .w2z w1ň .w2ň w1ž .w2ž w1ş .w2ş ý1b .ý2b ý1ç .ý2ç ý1d .ý2d ý1f .ý2f ý1g .ý2g ý1h .ý2h ý1j .ý2j ý1k .ý2k ý1l .ý2l ý1m .ý2m ý1n .ý2n ý1p .ý2p ý1r .ý2r ý1s .ý2s ý1t .ý2t ý1w .ý2w ý1ý .ý2ý ý1z .ý2z ý1ň .ý2ň ý1ž .ý2ž ý1ş .ý2ş z1b .z2b z1ç .z2ç z1d .z2d z1f .z2f z1g .z2g z1h .z2h z1j .z2j z1k .z2k z1l .z2l z1m .z2m z1n .z2n z1p .z2p z1r .z2r z1s .z2s z1t .z2t z1w .z2w z1ý .z2ý z1z .z2z z1ň .z2ň z1ž .z2ž z1ş .z2ş ň1b .ň2b ň1ç .ň2ç ň1d .ň2d ň1f .ň2f ň1g .ň2g ň1h .ň2h ň1j .ň2j ň1k .ň2k ň1l .ň2l ň1m .ň2m ň1n .ň2n ň1p .ň2p ň1r .ň2r ň1s .ň2s ň1t .ň2t ň1w .ň2w ň1ý .ň2ý ň1z .ň2z ň1ň .ň2ň ň1ž .ň2ž ň1ş .ň2ş ž1b .ž2b ž1ç .ž2ç ž1d .ž2d ž1f .ž2f ž1g .ž2g ž1h .ž2h ž1j .ž2j ž1k .ž2k ž1l .ž2l ž1m .ž2m ž1n .ž2n ž1p .ž2p ž1r .ž2r ž1s .ž2s ž1t .ž2t ž1w .ž2w ž1ý .ž2ý ž1z .ž2z ž1ň .ž2ň ž1ž .ž2ž ž1ş .ž2ş ş1b .ş2b ş1ç .ş2ç ş1d .ş2d ş1f .ş2f ş1g .ş2g ş1h .ş2h ş1j .ş2j ş1k .ş2k ş1l .ş2l ş1m .ş2m ş1n .ş2n ş1p .ş2p ş1r .ş2r ş1s .ş2s ş1t .ş2t ş1w .ş2w ş1ý .ş2ý ş1z .ş2z ş1ň .ş2ň ş1ž .ş2ž ş1ş .ş2ş ý2t1b ý2n1b ý2d1b r2t1b ý2p1b l2p1b l2t1b g2t1b n2t1b r2k1b r2p1b k2t1b r2h1b s2t1b l2k1b w2p1b n2s1b r2s1b l2m1b ý2t1ç ý2n1ç ý2d1ç r2t1ç ý2p1ç l2p1ç l2t1ç g2t1ç n2t1ç r2k1ç r2p1ç k2t1ç r2h1ç s2t1ç l2k1ç w2p1ç n2s1ç r2s1ç l2m1ç ý2t1d ý2n1d ý2d1d r2t1d ý2p1d l2p1d l2t1d g2t1d n2t1d r2k1d r2p1d k2t1d r2h1d s2t1d l2k1d w2p1d n2s1d r2s1d l2m1d ý2t1g ý2n1g ý2d1g r2t1g ý2p1g l2p1g l2t1g g2t1g n2t1g r2k1g r2p1g k2t1g r2h1g s2t1g l2k1g w2p1g n2s1g r2s1g l2m1g ý2t1j ý2n1j ý2d1j r2t1j ý2p1j l2p1j l2t1j g2t1j n2t1j r2k1j r2p1j k2t1j r2h1j s2t1j l2k1j w2p1j n2s1j r2s1j l2m1j ý2t1k ý2n1k ý2d1k r2t1k ý2p1k l2p1k l2t1k g2t1k n2t1k r2k1k r2p1k k2t1k r2h1k s2t1k l2k1k w2p1k n2s1k r2s1k l2m1k ý2t1l ý2n1l ý2d1l r2t1l ý2p1l l2p1l l2t1l g2t1l n2t1l r2k1l r2p1l k2t1l r2h1l s2t1l l2k1l w2p1l n2s1l r2s1l l2m1l ý2t1m ý2n1m ý2d1m r2t1m ý2p1m l2p1m l2t1m g2t1m n2t1m r2k1m r2p1m k2t1m r2h1m s2t1m l2k1m w2p1m n2s1m r2s1m l2m1m ý2t1n ý2n1n ý2d1n r2t1n ý2p1n l2p1n l2t1n g2t1n n2t1n r2k1n r2p1n k2t1n r2h1n s2t1n l2k1n w2p1n n2s1n r2s1n l2m1n ý2t1p ý2n1p ý2d1p r2t1p ý2p1p l2p1p l2t1p g2t1p n2t1p r2k1p r2p1p k2t1p r2h1p s2t1p l2k1p w2p1p n2s1p r2s1p l2m1p ý2t1s ý2n1s ý2d1s r2t1s ý2p1s l2p1s l2t1s g2t1s n2t1s r2k1s r2p1s k2t1s r2h1s s2t1s l2k1s w2p1s n2s1s r2s1s l2m1s ý2t1t ý2n1t ý2d1t r2t1t ý2p1t l2p1t l2t1t g2t1t n2t1t r2k1t r2p1t k2t1t r2h1t s2t1t l2k1t w2p1t n2s1t r2s1t l2m1t ý2t1ý ý2n1ý ý2d1ý r2t1ý ý2p1ý l2p1ý l2t1ý g2t1ý n2t1ý r2k1ý r2p1ý k2t1ý r2h1ý s2t1ý l2k1ý w2p1ý n2s1ý r2s1ý l2m1ý ý2t1z ý2n1z ý2d1z r2t1z ý2p1z l2p1z l2t1z g2t1z n2t1z r2k1z r2p1z k2t1z r2h1z s2t1z l2k1z w2p1z n2s1z r2s1z l2m1z ý2t1ş ý2n1ş ý2d1ş r2t1ş ý2p1ş l2p1ş l2t1ş g2t1ş n2t1ş r2k1ş r2p1ş k2t1ş r2h1ş s2t1ş l2k1ş w2p1ş n2s1ş r2s1ş l2m1ş s2k1d l1s2k l1s2t s1t2r n2g1l n1g2r s2k1w",
["minhyphenmax"]=1,
["minhyphenmin"]=1,
- ["n"]=2371,
+ ["n"]=2372,
},
["version"]="1.001",
} \ No newline at end of file
diff --git a/tex/context/patterns/lang-tk.pat b/tex/context/patterns/lang-tk.pat
index 33290cb16..29d1b4677 100644
--- a/tex/context/patterns/lang-tk.pat
+++ b/tex/context/patterns/lang-tk.pat
@@ -2,9 +2,10 @@
% for comment and copyright, see e:/tmp/patterns/lang-tk.rme
-% used: a b d e f g h i j k l m n o p r s t u w y z ä ç ö ü ý ň ş ž
+% used: - a b d e f g h i j k l m n o p r s t u w y z ä ç ö ü ý ň ş ž
\patterns{
+1-4
ä1bä
ä1be
ä1bi
diff --git a/tex/context/patterns/lang-tk.rme b/tex/context/patterns/lang-tk.rme
index d5a71a636..88ab6c39c 100644
--- a/tex/context/patterns/lang-tk.rme
+++ b/tex/context/patterns/lang-tk.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Turkmen Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% Hyphenation patterns for Turkmen (hyph-tk.tex)
%
% Author: Nazar Annagurban <nazartm at gmail.com>
@@ -15,4 +19,4 @@
% For more information about UTF-8 hyphenation patterns for TeX and
% links to this file see
% http://www.tug.org/tex-hyphen/
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-tr.lua b/tex/context/patterns/lang-tr.lua
index 1fe9334cf..2b4a423a1 100644
--- a/tex/context/patterns/lang-tr.lua
+++ b/tex/context/patterns/lang-tr.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="tr",
- ["source"]="hyph-tr.tex",
- ["texcomment"]="% hyph-tr.tex\
+ ["source"]="hyph-tr",
+ ["texcomment"]="% Turkish Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% hyph-tr.tex\
%\
% File auto-generated from generate_patterns_tr.rb that is part of hyph-utf8\
%\
@@ -29,7 +33,7 @@ return {
%\
% Notes:\
% - you need to use loadhyph-tr.tex, please do not try to put \\catcode-s & \\lccode-s here\
-% ",
+%",
},
["patterns"]={
["characters"]="abcdefghijklmnoprstuvyzâçîöûüğış",
diff --git a/tex/context/patterns/lang-tr.rme b/tex/context/patterns/lang-tr.rme
index 143164e25..fd4315b18 100644
--- a/tex/context/patterns/lang-tr.rme
+++ b/tex/context/patterns/lang-tr.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Turkish Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% hyph-tr.tex
%
% File auto-generated from generate_patterns_tr.rb that is part of hyph-utf8
@@ -23,4 +27,4 @@
%
% Notes:
% - you need to use loadhyph-tr.tex, please do not try to put \catcode-s & \lccode-s here
-% \ No newline at end of file
+%
diff --git a/tex/context/patterns/lang-uk.lua b/tex/context/patterns/lang-uk.lua
index 380978eba..beee51b8c 100644
--- a/tex/context/patterns/lang-uk.lua
+++ b/tex/context/patterns/lang-uk.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="uk",
- ["source"]="hyph-uk.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-uk",
+ ["texcomment"]="% Ukrainian Hyphenation Patterns\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: TODO:WRITEME (yyyy-mm-dd)\
@@ -73,14 +77,14 @@ return {
% under the terms of the LaTeX Project Public License (lppl).\
% Please, send bug reports via e-mail:\
% polyama@auburn.edu\
-% mpoliak@i.com.ua ",
+% mpoliak@i.com.ua",
},
["patterns"]={
- ["characters"]="абвгдежзийклмнопрстуфхцчшщьюяєіїґ",
- ["data"]="2а1 а3а а3е а3і а3о а3у а3ю а3я а3є а3ї 2е1 е3а е3е е3і е3о е3у е3ю е3я е3є е3ї 2и1 и3а и3е и3і и3о и3у и3ю и3я и3є и3ї 2і1 і3а і3е і3и і3о і3у і3ю і3я і3є і3ї 2о1 о3а о3е о3і о3о о3у о3ю о3я о3є о3ї 2у1 у3а у3е у3і у3о у3у у3ю у3я у3є у3ї 2ю1 ю3а ю3е ю3і ю3о ю3у ю3ю ю3я ю3є ю3ї 2я1 я3а я3е я3о я3у я3ю я3я я3є я3ї 2є1 є3у є3ю є3є є3ї 2ї1 ї3е ї3о ї3ю 2б1к 2б1п 2б1с 2б1т 2б1ф 2б1х 2б1ц 2б1ч 2б1ш 2б1щ 2в1б 2в1г 2в1д 2в1ж 2в1з 2в1к 2в1л 2в1м 2в1н 2в1п 2в1р 2в1с 2в1т 2в1ф 2в1х 2в1ц 2в1ч 2в1ш 2в1щ 2в1й 2г1к 2г1п 2г1с 2г1т 2г1ф 2г1ц 2г1ч 2г1ш 2д1к 2д1п 2д1с 2д1т 2д1ф 2д1х 2д1ц 2д1ч 2д1ш 2д1щ 2ж1к 2ж1п 2ж1с 2ж1т 2ж1ф 2ж1х 2ж1ц 2ж1ч 2ж1ш 2з1к 2з1п 2з1с 2з1т 2з1ф 2з1х 2з1ц 2з1ч 2з1ш 2з1щ 2к1б 2к1г 2к1д 2к1з 2л1б 2л1в 2л1г 2л1ґ 2л1д 2л1ж 2л1з 2л1к 2л1м 2л1н 2л1п 2л1р 2л1с 2л1т 2л1ф 2л1х 2л1ц 2л1ч 2м1б 2м1в 2м1г 2м1д 2м1ж 2м1з 2м1к 2м1л 2м1н 2м1п 2м1р 2м1с 2м1т 2м1ф 2м1х 2м1ц 2м1ч 2м1ш 2м1щ 2н1б 2н1в 2н1г 2н1д 2н1ж 2н1з 2н1к 2н1л 2н1м 2н1п 2н1р 2н1с 2н1т 2н1ф 2н1х 2н1ц 2н1ч 2н1ш 2н1щ 2п1б 2п1д 2п1з 2р1б 2р1в 2р1г 2р1ґ 2р1д 2р1ж 2р1з 2р1к 2р1л 2р1м 2р1н 2р1п 2р1с 2р1т 2р1ф 2р1х 2р1ц 2р1ч 2р1ш 2р1щ 2р1й 2с1б 2с1г 2с1д 2т1б 2т1г 2т1д 2т1ж 2т1з 2ф1б 2ф1г 2ф1з 2х1г 2х1д 2ц1б 2ц1г 2ц1д 2ц1з 2ч1б 2ч1д 2ч1ж 2ш1б 2ш1г 2й1б 2й1в 2й1г 2й1д 2й1ж 2й1з 2й1к 2й1л 2й1м 2й1н 2й1п 2й1р 2й1с 2й1т 2й1ф 2й1х 2й1ц 2й1ч 2й1ш 2й1щ 2дь1к 2дь1с 2дь1т 2дь1ц 2зь1к 2зь1с 2зь1т 2ль1б 2ль1в 2ль1г 2ль1д 2ль1ж 2ль1з 2ль1к 2ль1м 2ль1н 2ль1п 2ль1р 2ль1с 2ль1т 2ль1ф 2ль1х 2ль1ц 2ль1ч 2ль1ш 2ль1щ 2ль1й 2нь1б 2нь1г 2нь1з 2нь1к 2нь1л 2нь1м 2нь1с 2нь1т 2нь1х 2нь1ц 2нь1ч 2нь1ш 2нь1й 2рь1к 2рь1ц 2сь1б 2сь1д 2ть1б 2к1сп 2к1ст 2к1ськ 2п1сп 2п1ст 2п1ськ 2с1пк 2с1пп 2с1пс 2с1пт 2с1пх 2с1пч 2с1ськ 2с1тк 2с1тп 2с1тс 2с1тсь 2с1тт 2с1тф 2с1тц 2с1шт 2сь1кк 2сь1кс 2сь1кт 2т1ск 2т1сп 2т1ст 2т1ськ 2т1шк 2ф1сп 2ф1ст 2ф1ськ 2ф1шт 2х1ст 2х1ськ 2ц1ст 2ц1шк 2ш1тк 2ш1тсь 2б1б 2в1в 2г1г 2ґ1ґ 2д1д 2ж1ж 2з1з 2к1к 2л1л 2м1м 2н1н 2п1п 2р1р 2с1с 2т1т 2ф1ф 2х1х 2ц1ц 2ч1ч 2ш1ш 2щ1щ 2й1й 3ння 3ття 3ттю 3лля 3ллє 3ллю 3ддя д4ж д4з а2й е2й и2й і2й о2й у2й ю2й я2й є2й ї2й 3й6о ь6о 6ь .бд6 .бр6 .вб6 .вг6 .вд6 .вж6 .вз6 .вз6д6 .вк6 .вл6 .вм6 .вп6 .вп6х6 .вс6 .вс6т6 .вт6 .вш6к6 .дж6 .дз6 .дл6 .дс6 .зб6 .зг6 .зд6 .зд6з6 .зл6 .зс6 .зс6к6 .зс6т6 .зч6 .зш6 .зш6к6 .зґ6 .йш6 .кл6 .кп6 .кс6 .кх6 .кш6 .лк6с6 .лс6 .ль6 .мс6 .мф6 .нб6 .пр6 .пс6 .пх6 .рт6 .ск6 .ск6л6 .сл6 .сп6 .сп6л6 .сп6х6 .ст6 .сх6 .сх6л6 .тк6 .тр6 .тх6 .ть6 .фл6 .хл6 .ць6 .чх6 .шк6 .шл6 .шп6 .шт6 6бв. 6бз. 6бй. 6бл. 6б6ль. 6бн. 6бр. 6бс. 6б6ст. 6б6с6тв. 6б6с6тр. 6б6с6ьк. 6б6ць. 6вб. 6вв. 6вд. 6в6др. 6в6дь. 6вж. 6вз. 6в6зь. 6вй. 6вк. 6вл. 6в6ль. 6вм. 6вн. 6вп. 6вр. 6вс. 6в6с6тв. 6в6с6ть. 6в6сь. 6в6с6ьк. 6вт. 6вх. 6в6ць. 6вч. 6вш. 6вщ. 6гв. 6гг. 6гд. 6гл. 6г6ль. 6гм. 6гн. 6гр. 6гс. 6г6с6тв. 6г6сь. 6гт. 6дж. 6дз. 6д6зь. 6дл. 6дм. 6дн. 6др. 6д6с6тв. 6д6с6ьк. 6дт. 6дь. 6д6ь6сь. 6жб. 6жв. 6ж6дь. 6ж6сь. 6зв. 6зг. 6зд. 6з6дв. 6з6дн. 6з6дь. 6зк. 6зл. 6зм. 6зн. 6з6нь. 6зр. 6з6сь. 6зь. 6з6ьб. 6з6ьк. 6йб. 6йв. 6йг. 6йд. 6йз. 6йк. 6й6кл. 6йл. 6й6ль. 6йм. 6й6мс. 6йн. 6й6нс. 6йп. 6йр. 6йс. 6й6ст. 6й6с6тв. 6й6с6тр. 6й6сь. 6й6с6ьк. 6йт. 6й6тс. 6йф. 6йх. 6йц. 6йч. 6йш. 6кв. 6кк. 6кл. 6к6ль. 6кр. 6кс. 6к6ст. 6к6сь. 6кт. 6к6тр. 6кх. 6кш. 6лб. 6лг. 6лд. 6лк. 6лл. 6л6ль. 6лм. 6л6мс. 6лн. 6лп. 6лс. 6лт. 6л6хв. 6ль. 6л6ьб. 6л6ьв. 6л6ьг. 6л6ьд. 6л6ь6дс. 6л6ьз. 6л6ьк. 6л6ьм. 6л6ьн. 6л6ьп. 6л6ьс. 6л6ь6ств. 6л6ь6сь. 6л6ь6ськ. 6л6ьт. 6л6ь6тр. 6л6ьф. 6л6ьх. 6л6ьц. 6л6ьч. 6л6ьш. 6л6ьщ. 6мб. 6м6б6ль. 6м6бр. 6мг. 6мж. 6мк. 6мл. 6м6ль. 6мм. 6мн. 6мп. 6мр. 6мс. 6м6с6тв. 6м6сь. 6м6с6ьк. 6мт. 6мф. 6мх. 6мш. 6нв. 6нг. 6н6гл. 6н6г6ль. 6н6гр. 6н6гс. 6нд. 6н6дж. 6н6дз. 6н6дп. 6н6др. 6нж. 6нз. 6нк. 6н6кс. 6н6кт. 6нм. 6нн. 6нр. 6нс. 6н6ск. 6н6ст. 6н6с6тв. 6н6с6тр. 6н6с6ьк. 6н6с6ькй. 6нт. 6н6тк. 6н6тр. 6н6т6ств. 6н6ть. 6нф. 6нх. 6нц. 6н6ць. 6нч. 6нш. 6нь. 6н6ьб. 6н6ьг. 6н6ьк. 6н6ь6сь. 6пд. 6пл. 6пр. 6пс. 6п6с6тв. 6п6сь. 6пт. 6п6тр. 6пф. 6пц. 6рб. 6рв. 6рг. 6рд. 6р6дв. 6р6дж. 6р6дь. 6рж. 6рз. 6р6зн. 6р6зь. 6рк. 6р6кс. 6р6кт. 6рл. 6р6ль. 6р6л6ьз. 6рм. 6рн. 6р6нс. 6р6н6ст. 6р6нь. 6рп. 6рр. 6рс. 6р6ср. 6р6ст. 6р6с6тв. 6р6с6ть. 6р6сь. 6р6с6ьк. 6рт. 6р6тв. 6р6тр. 6р6ть. 6рф. 6рх. 6рц. 6р6ць. 6рч. 6рш. 6рщ. 6р6щ6сь. 6рь. 6с6дп. 6с6д6рп. 6ск. 6сл. 6с6ль. 6см. 6сн. 6сп. 6сс. 6ст. 6с6тв. 6с6тй. 6с6тм. 6с6тр. 6с6т6рь. 6с6ть. 6с6ць. 6сь. 6с6ьб. 6с6ьк. 6с6ьм. 6тв. 6т6вт. 6т6зт. 6тл. 6т6ль. 6тм. 6т6мр. 6тр. 6тс. 6т6с6тв. 6т6с6ьк. 6тт. 6тц. 6тч. 6ть. 6т6ь6сь. 6фм. 6фр. 6ф6с6тв. 6фт. 6ф6ть. 6фф. 6фь. 6хв. 6хм. 6хн. 6хр. 6хт. 6хш. 6ц6тв. 6ць. 6ц6ьк. 6чб. 6чм. 6чн. 6чт. 6шв. 6ш6ль. 6шм. 6шн. 6ш6нл. 6ш6сь. 6шт. 6ш6тв. 6щ6сь. .бе4з3 .безу4 .бе5з4о3д .без5о4соб .безві4д3 .без3ро4з3 виї4 .ві5д4ом .ві5д4озв .ві5д4ун віду4ч .ві5д4а .ві5д4ер .ві5д4і .ві4д3 .мі4ж3 безві4д3 ові4д3 ді4єві4д3 за4вві4д3 неві4д3 про4ф3ві4д3 спе4ц3ві4д3 співві4д3 те4х3ві4д3 .пере4д3бач .пере4д3виб .пере4д3г .пере4д3д .пере4д3м .пере4д3ост .пере4д3пла .пере4д3пок .пере4д3р .пере4д3св .пере4д3умов .пере4д3усі .пере4д3фр .пере4д3ч .пере3 .пона4д3 .пона5д4і .пона5д4и .пона5д4я 3п4ре 3п4ри приї4 3п4ро 3п4рі .пі5д4о .пі5д4і .пі4д3 .пі5д4е .пі5д4и .пі5д4у .пі4в3 .спі4в3 .напі4в3 .ро5з4і .ро5з4е ро5з4йом .ро5з4а .ро4з3 .чере4з3 оо4б ооб3м ооб3ро за5о4р до5о4р по5о4р пере5о4р пі6д5о4р бе4з5і4дей за3ю4ш за3я4ло коу4роч зу4роч наду4роч позау4роч поу4роч приу4роч на4й3у4бог нао4р прио4р неу4к 3в4б4лаг 3в4к4лад 3в4п4лив 3в4п4равн 3в4р4одлив 3в4т4рут 3в4т4руч 3з4б4рой 3з4б4рою 3з4б4роє 3й4ш4л 3м4к4не 3м4к4ну 3м4к4ні 3п4с4ков 3с4к4лад 3с4к4ле 3с4к4лит 3с4к4ло 3с4к4рипт 3с4п4лав 3с4п4лат 3с4п4лач 3с4п4рав 3с4п4ритн 3с4п4рият 3с4п4ромо 3с4т4вор 3с4т4ражд 3с4т4рах 3с4т4риб 3с4т4риж 3с4т4рой 3с4т4рок 3с4т4ром 3с4т4роф 3с4т4роч 3с4т4рою 3с4т4роя 3с4т4роє 3с4т4рої 3с4т4рукт 3с4т4рукц 3с4т4рій 3с4т4ріл 3с4т4річ 3т4к4нен 3т4ь4мар 3т4ь4мяні 3у4п4рав 3блаж 3ближ 3близ 3блиск 3блок 3блоці 3бран 3брати 3брест 3бризк 3британ 3бруд 3в4бив 3в4веден 3в4дал 3в4довз 3в4довол 3в4живан 3в4лад 3в4ласн 3в4лашт 3в4лов 3в4певн 3в4поряд 3в4разлив 3в4рожай 3в4сюд 3в4тіл 3глад 3глиб 3глин 3глоб 3глуз 3глуш 3гляд 3глян 3гнан 3гнил 3гноз 3гнучк 3грав 3град 3грай 3грам 3гран 3грати 3граф 3граш 3граю 3грає 3грес 3грець 3гроб 3грож 3гроз 3громад 3груван 3грунт 3груп 3грів 3гріт 3гріш 3г4ідро 3д4ан 3д4бав 3д4бал 3д4бан 3д4бат 3д4бає 3двиг 3двою 3двоє 3двій 3двір 3двічі 3драж 3дром 3друж 3друк 3дряп 3дріб 3дріма 3жвав 3жміть 3жріть 3з4бага 3з4баланс 3з4був 3з4бут 3зваж 3зван 3звед 3звел 3звест 3звись 3звич 3звищ 3зворуш 3звук 3звуч 3звіт 3з4год 3з4дат 3з4довж 3з4доров 3з4дійсн 3змін 3зйом 3зміш 3знав 3знай 3знак 3знал 3знан 3знат 3знаход 3знач 3знаю 3знає 3зниж 3знім 3зрозум 3зрюв 3зрів 3зріл 3зрін 3з4чеп 3й4ма 3й4менн 3й4мищ 3й4мовірн 3й4му. 3й4муть 3й4міть 3й4шов 3м4нож 3м4ріть 3м4щен 3п4сов 3п4сон 3п4сув 3р4вав 3р4вати 3р4віть 3с4кид 3с4кок 3с4коп 3с4кор 3с4короч 3с4коч 3с4кіль 3с4кіпл 3с4пад 3с4пект 3с4перм 3с4пин 3с4повід 3с4пожив 3с4постер 3с4пі 3с4піть 3с4піш 3с4табіл 3с4тав 3с4тад 3с4таз 3с4тайн 3с4тал 3с4тан 3с4тар 3с4тара 3с4тат 3с4тач 3с4тає 3с4теп 3с4тереж 3с4теріг 3с4тиг 3с4тиж 3с4тисл 3с4титу 3с4товб 3с4той 3с4торон 3с4торін 3с4тосо 3с4тосу 3с4тою 3с4тоян 3с4туп 3с4тяг 3с4тіб 3с4тій 3с4тіль 3с4тір 3с4фер 3с4хил 3с4хов 3с4хід 3т4кан 3х4то 3ш4код 3ш4кол 3ш4кідл 3ш4кіл 3ш4кір 3ш4таб 3ш4туч 3ґрунт 3а4вторит 3а4гент 3а4грес 3а4декват 3а4дитив 3а4зарт 3а4ктив 3а4ктуал 3а4курат 3а4куст 3а4кцепт 3а4кциз 3а4лергі 3а4матор 3а4наліз 3а4натом 3а4парат 3а4пеляц 3а4постол 3а4птеч 3а4ргумен 3а4ромат 3а4соці 3а4спект 3а4тлет 3а4халі 3е4колог 3е4коном 3е4легант 3е4лектр 3е4лемент 3е4моці 3е4мігр 3е4нерг 3е4стакад 3е4стет 3е4тап 3о4береж 3о4бира 3о4борон 3о4бід 3о4біц 3о4даль 3о4дяг 3о4збро 3о4крем 3о4перат 3о4плат 3о4птим 3о4пуст 3о4пуше 3о4пуще 3о4рдинац 3о4ренд 3о4соб 3о4сяжн 3о4холо 3о4хорон 3о4хоч 3о4чисн 3о4чищ 3у4ваг 3у4важ 3у4гав 3у4згод 3у4клад 3у4компл 3у4крупн 3у4люблен 3у4мит 3у4міл 3у4перед 3у4разлив 3у4рбан 3у4рочист 3у4ряд 3у4рядов 3у4спіш 3у4станов 3у4стпіш 3у4сувати 3у4твор 3у4тробн 3я4дерн 3я4зик 3я4кіс 3я4рус 3я4скрав 3є4д3н 3є4дин 3є4писк 3є4рей 3і4зотоп 3і4люстр 3і4мовір 3і4нтенс 3і4нформ 3і4ніціат 3і4снув 3ї4ждж 3ї4зд 3ї4ст 3ї4хав 3ї4хат .заї4к .заї4ц .заї4ч .наї4д аві4а авої4д ае4тил альбі5он ахої4д ауді4о ай4с3берг бактері4о ба4с3енер ба4с3антра .бе5зе. бей4сбол бе5кон бйор4нс бі4о3 бо4г3дан бран4д брі4дж3порт без5і4мен бо4є3гол бо4є3гот бо4є3зап бо4є3здат бо4є3комп бо4є3пост бо4є3прип бори4с5п 4в3антрац вер4х3н ви3й4д вина3й4д ви3й4т вина3й4т від7зна ві5д4ен ві5д4е4о ві5д4ом від5о4браж від5о4браз во4с5ко водо5с4ток водо5з4бір воль4т3метр воль4т3ампер ге2ть3ман ге4о го4с4п5роз гі4д5ро5мет 4д7зем дер4ж5а4том дер4ж5а4дм дер4ж5бюдж дер4ж5вид дер4ж5дум дер4ж5замов дер4ж5ком дер4ж5нафт дер4ж5реєс дер4ж3без дер4ж3резерв дер4ж5стр дер4ж5служ двох4а5том джен4тль дисбаланс ди4с3гарм ди4с3квал ди4с3комф ди4с3конт ди4с3кред ди4с3крет ди4с3крец ди4с3крим ди4с3кусі ди4с3куту ди4с3лок ди4с3парит ди4с3перс ди4с3петч ди4с3пле ди4с3плей ди4с3пози ди4с3проп ди4с3пут ди4с3тил ди4с3триб ди4с3троф ди4с3функц ді3й4т ді3й4д д4ні3п4р .дої4в .дої4л .дої5ль дої4д дої4м дої4х дої4ж дої4ст до3з4вол до3з4віл дорого5в4каз еу4стр ео4сві енерго3з4береж енерго3з4беріг ек2с1к ек2с1п ек2с1т ек2с1ц єв4р3атом єпі4с5коп єпи4с5коп за4п3част заї4д заї4ж заї4з заї4л заї4м заї4х зе4кономити зна3й4д зна3й4т зо4ка зо4ке зо4ки зо4ку зо4кі игої4д ий4ти іе4тил і4л3е4тил ій4ти інфор4м3аген йо4сві каза4х3стан квої4д корої4д квар4т3плат киї4венер кон4трре кон4тр3арг жко4м5а4том кому4ненерг мі4н5е4ко мі4н5е4нер мо4к5рий на3б4лиз на3в4ряд на3в4ча на3з4в на4д7з4в наї4вс наї4вш наї4ж наї4з наї4л наї4м наї4с наї4х на4й3а на4й3е на4й3обереж на4й7о4бер на4й7о4гид на4й7о4гол на4й7о4гряд на4й7о4пук на4й7о4хай на4й3масл на4й3спри на4й3якіс на3в4чен на3в4чіть не3в4том не3д4бан на3д4бан не3з4вич не3з4важ нео4пал недої4 неї4ст на5п4лив ні4т5рат оної4д оо4пал ео4пал обі3д4ран обі3й4д обі3й4т об5у4мов онаї4д оо4сві оо4к оу4стр оа4том об4лдер4ж об4л3а4дмін переї4д переї4ж переї4з переї4л переї4с переї4х пере5п4лив пере3й4д пре4й4с пере3й4т перег4ній перед5о4бід пере3в4том пере4д5см перед5у4мов під5о4дин пів5о4с4тр пі5в4ень по3б4лизу по3в4тор поч4не поч4ни поч4ну поя4в по3в4чен по3в4чіть по3д4роб по3д4раз по3д4во по5ж4ніть по5з4бав .пої4 пої4д прої4 пої4зд по4с4т5радян по4с4т5кому по4с4т3декр по4с4т3контра по4с4т3менопауз по4с4тприват по4с4т3раді по4с4т5соці пос4т3кап пос4т3ком пос4т3нат пос4т3проц пос4т3соц пос4т3фікс при3й4т про3с4тирад про4ф3с полі4т5екон пор4т3н пор4т3рет пор4т3фел при3й4д при4нцип про4ект3н про3б4лем про4м3май пр4о5плат раді4о рай3в4но ро4з5д4во ро4з5мінний роз5у4чен роз5і4мен роз5вант роз5вин роз5вит ро4з5діл ро4з5гор ро4з5вер ро4з5чеп руко5с4тиск ро5з4ум ро4з3гром ро4з3лив рмої4д сан4к4т3 сеї4д серцеї4д спе4ц3кур спе4ц3мон спе4цпр спе4ц3с спор4т3вир спор4т3зал спор4т3ком спор4т3клуб спор4т3май спор4т4с3ме сор4тн 3с4промож сь4квуг стат5упр тор4г3пред тран4с3 тур4к3мен цук3ро у4к4р укр3а4вт укр3а4гр укр3е4кс укр3і4н4банк убої4д чорно3б4рив цен4т4р3енерг ясої4д ви3у4ч за3у4ч на3у4ч недо3у4ч не3у4ч під3у4ч пед3у4чи пере3у4ч само3у4ч вия4в зая4в ная4в уя4в во4євод во4єнач сво4єчас сво4єкорис сво4єрід хво4є3г4риз гелі4о ді4о еті4о мі4о і4он полі4о соці4о фізі4о хімі4о гоме4о ді4алог ді4оген дея4к оо4динок ао4пік ао4ха ео4ха зо6о ка5нал оі4зол міжу4соб мете4о абия4к нія4к вия4сн най3я4сн нея4сн поя4сн проя4сн ро5з4ора. ро5з4о5рам ро5з4орах ро5з4ори ро5з4оро ро5з4ору ро5з4оря ро5з4орю ро5з4орі ро6з5о4ри. розо4ра розо4ре розо4реш розо4рн напоу4м неа4би ео4цін оо4цін доу4к доу4м ео4бур ео4голош ео4зор бальне4о не4оліт не4омальт не4оклас не4окомун не4оландш не4олог не4олібер не4онац не4офіт нею4н нея4к нея4рок но4к3а4ут пі5в4оні піво4с пале4о па4н3о4тець .пе4ом. д3у4сім п4о5бере ао4хот ое4ко ео4хот ео4щад ао4щад оо4чищ поя4с те4одоліт те4олог те4ософ оо4біг оу4сун оу4ком пів3о4вал а3у4дар о3у4дар з3у4дар в3у4дар контр3у4дар о3о4кисл и3о4кисл ень7о4кисл е3о4кисл х3о4кисл и3і4стор о3і4стор і3і4стор а3і4стор я3і4стор е3і4стор наді4стор най3і4стор пів3і4стор перед3і4стор пост3і4стор ар4т3афіш ар4т3взвод ар4т3десант ар4т3кафе ар4т3майс ар4т3медіа ар4т3мейс ар4т3мін ар4т3о4бстр ар4т3о4дин ар4т3о4збр ар4т3під ар4т3рин ар4т3у4стан ар4т3факт ар4т3хім ар4т3центр наді4стот найі4стот еі4стот оі4стот ау4т3екол оо4чист з3а4кт оа4кт еа4кт гіпер3а4кт найа4кт піва4кт ао4браз ео4браз оо4браз граф3о4браз най3о4браз супер3о4браз ар4т3мейст баге4р3мейст бале4т3мейст бран4д3мейст ва4ль4д3мейст ве4ль4т3мейст го4ф3мейст гро4с3мейст декре4т3мейст до4к3мейст капе4ль3мейст кварти4р3мейст конце4р4т3мейст кра4н3мейст полі4ц3мейст по4ш4т3мейст фо4р4с4т3мейст хо4р3мейст шапі4т3мейст шта4л3мейст єге4р3мейст иа4варі яа4варі оа4варі еа4варі беза4варі між3а4варі над3а4варі пост3а4варі напів3а4варі перед3а4варі супер3а4варі аа4дрес еа4дрес оа4дрес іа4дрес без3а4дрес ае4фект ее4фект ое4фект най3е4фект супер3е4фект ое4місі ие4місі яе4місі ее4місі безе4місі гіпер3е4місі еу4бог й3у4бог ий4ня зай4ня здій4ня най4ня обій4ня перей4ня підій4ня прий4м пій4м дій4ма вий4м най4ма зай4м д4о3й4м обой4м прой4м обій4м перей4м безу4гл безу4пин бло4к3пост .блі4ц3ана .блі4ц3криг .блі4ц3опит .блі4ц3торг .блі4ц3тур .блі4ц3і4спит о3а4наліз бак3а4наліз ц3а4наліз ген3а4наліз з3а4наліз м3а4наліз нт3а4наліз між3а4наліз полі3а4наліз ре3а4наліз оу4год ау4год еу4год пів3у4год роз3у4год гос4п3у4год ео4пис оо4пис ао4пис бо4р4т3мех бо4р4т3о4пер бо4р4т3про бо4р4т3рад бо4р4т3і4нж оа4каці оу4с оо4держ оа4на біблі4о .на3в4ч .ви3в4ч .до3в4ч .за3в4ч .по3в4ч .при3в4ч ана3в4ч ена3в4ч мона3в4ч жона3в4ч іона3в4ч ови3в4ч еви3в4ч едо3в4ч оза3в4ч по3в4ча .ом4рі е3м4рій .ви3м4р .віді3м4р .зав3м4р .за3м4р .зі3м4р .на3м4р .пере3м4р .по3м4р .при3м4р .роз3м4р .ум4ри .ум4рі .ум4ру .ум4ре во4станнє най3о4станн перед3о4станн ие4стет ое4стет ее4стет й3е4стет пан3е4стет пар3е4стет оо4ктан іо4ктан оо4плачув ео4плачув перед3о4пла виу4ди о3в4каз е3в4каз",
+ ["characters"]="-абвгдежзийклмнопрстуфхцчшщьюяєіїґ’",
+ ["data"]="2а1 а3а а3е а3і а3о а3у а3ю а3я а3є а3ї 2е1 е3а е3е е3і е3о е3у е3ю е3я е3є е3ї 2и1 и3а и3е и3і и3о и3у и3ю и3я и3є и3ї 2і1 і3а і3е і3и і3о і3у і3ю і3я і3є і3ї 2о1 о3а о3е о3і о3о о3у о3ю о3я о3є о3ї 2у1 у3а у3е у3і у3о у3у у3ю у3я у3є у3ї 2ю1 ю3а ю3е ю3і ю3о ю3у ю3ю ю3я ю3є ю3ї 2я1 я3а я3е я3о я3у я3ю я3я я3є я3ї 2є1 є3у є3ю є3є є3ї 2ї1 ї3е ї3о ї3ю 2б1к 2б1п 2б1с 2б1т 2б1ф 2б1х 2б1ц 2б1ч 2б1ш 2б1щ 2в1б 2в1г 2в1д 2в1ж 2в1з 2в1к 2в1л 2в1м 2в1н 2в1п 2в1р 2в1с 2в1т 2в1ф 2в1х 2в1ц 2в1ч 2в1ш 2в1щ 2в1й 2в’3 2г1к 2г1п 2г1с 2г1т 2г1ф 2г1ц 2г1ч 2г1ш 2д1к 2д1п 2д1с 2д1т 2д1ф 2д1х 2д1ц 2д1ч 2д1ш 2д1щ 2ж1к 2ж1п 2ж1с 2ж1т 2ж1ф 2ж1х 2ж1ц 2ж1ч 2ж1ш 2з1к 2з1п 2з1с 2з1т 2з1ф 2з1х 2з1ц 2з1ч 2з1ш 2з1щ 2к1б 2к1г 2к1д 2к1з 2л1б 2л1в 2л1г 2л1ґ 2л1д 2л1ж 2л1з 2л1к 2л1м 2л1н 2л1п 2л1р 2л1с 2л1т 2л1ф 2л1х 2л1ц 2л1ч 2м1б 2м1в 2м1г 2м1д 2м1ж 2м1з 2м1к 2м1л 2м1н 2м1п 2м1р 2м1с 2м1т 2м1ф 2м1х 2м1ц 2м1ч 2м1ш 2м1щ 2м’3 2н1б 2н1в 2н1г 2н1д 2н1ж 2н1з 2н1к 2н1л 2н1м 2н1п 2н1р 2н1с 2н1т 2н1ф 2н1х 2н1ц 2н1ч 2н1ш 2н1щ 2н’3 2п1б 2п1д 2п1з 2р1б 2р1в 2р1г 2р1ґ 2р1д 2р1ж 2р1з 2р1к 2р1л 2р1м 2р1н 2р1п 2р1с 2р1т 2р1ф 2р1х 2р1ц 2р1ч 2р1ш 2р1щ 2р1й 2р’3 2с1б 2с1г 2с1д 2т1б 2т1г 2т1д 2т1ж 2т1з 2ф1б 2ф1г 2ф1з 2х1г 2х1д 2ц1б 2ц1г 2ц1д 2ц1з 2ч1б 2ч1д 2ч1ж 2ш1б 2ш1г 2й1б 2й1в 2й1г 2й1д 2й1ж 2й1з 2й1к 2й1л 2й1м 2й1н 2й1п 2й1р 2й1с 2й1т 2й1ф 2й1х 2й1ц 2й1ч 2й1ш 2й1щ 2дь1к 2дь1с 2дь1т 2дь1ц 2зь1к 2зь1с 2зь1т 2ль1б 2ль1в 2ль1г 2ль1д 2ль1ж 2ль1з 2ль1к 2ль1м 2ль1н 2ль1п 2ль1р 2ль1с 2ль1т 2ль1ф 2ль1х 2ль1ц 2ль1ч 2ль1ш 2ль1щ 2ль1й 2нь1б 2нь1г 2нь1з 2нь1к 2нь1л 2нь1м 2нь1с 2нь1т 2нь1х 2нь1ц 2нь1ч 2нь1ш 2нь1й 2рь1к 2рь1ц 2сь1б 2сь1д 2ть1б 2к1сп 2к1ст 2к1ськ 2п1сп 2п1ст 2п1ськ 2с1пк 2с1пп 2с1пс 2с1пт 2с1пх 2с1пч 2с1ськ 2с1тк 2с1тп 2с1тс 2с1тсь 2с1тт 2с1тф 2с1тц 2с1шт 2сь1кк 2сь1кс 2сь1кт 2т1ск 2т1сп 2т1ст 2т1ськ 2т1шк 2ф1сп 2ф1ст 2ф1ськ 2ф1шт 2х1ст 2х1ськ 2ц1ст 2ц1шк 2ш1тк 2ш1тсь 2б1б 2в1в 2г1г 2ґ1ґ 2д1д 2ж1ж 2з1з 2к1к 2л1л 2м1м 2н1н 2п1п 2р1р 2с1с 2т1т 2ф1ф 2х1х 2ц1ц 2ч1ч 2ш1ш 2щ1щ 2й1й 3ння 3ття 3ттю 3лля 3ллє 3ллю 3ддя д4ж д4з а2й е2й и2й і2й о2й у2й ю2й я2й є2й ї2й 3й6о ь6о 6’ 6ь .б’8 .в’8 .д’8 .з’8 .м’8 .н’8 .п’8 .р’8 .т’8 .ф’8 .ш’8 .бд6 .бр6 .вб6 .вб6’6 .вв6’6 .вг6 .вд6 .вж6 .вз6 .вз6д6 .вк6 .вл6 .вм6 .вм6’6 .вп6 .вп6’6 .вп6х6 .вс6 .вс6т6 .вт6 .вш6к6 .дж6 .дз6 .дл6 .дс6 .зб6 .зв6’6 .зг6 .зд6 .зд6з6 .зл6 .зм6’6 .зс6 .зс6к6 .зс6т6 .зч6 .зш6 .зш6к6 .зґ6 .йш6 .кл6 .кп6 .кс6 .кх6 .кш6 .лк6с6 .лс6 .ль6 .мс6 .мф6 .нб6 .пр6 .пс6 .пх6 .рт6 .ск6 .ск6л6 .сл6 .сп6 .сп6’6 .сп6л6 .сп6х6 .ст6 .сх6 .сх6л6 .тк6 .тр6 .тх6 .ть6 .фл6 .хл6 .ць6 .чх6 .шк6 .шл6 .шп6 .шт6 6бв. 6бз. 6бй. 6бл. 6б6ль. 6бн. 6бр. 6бс. 6б6ст. 6б6с6тв. 6б6с6тр. 6б6с6ьк. 6б6ць. 6вб. 6вв. 6вд. 6в6др. 6в6дь. 6вж. 6вз. 6в6зь. 6вй. 6вк. 6вл. 6в6ль. 6вм. 6вн. 6вп. 6вр. 6вс. 6в6с6тв. 6в6с6ть. 6в6сь. 6в6с6ьк. 6вт. 6вх. 6в6ць. 6вч. 6вш. 6вщ. 6гв. 6гг. 6гд. 6гл. 6г6ль. 6гм. 6гн. 6гр. 6гс. 6г6с6тв. 6г6сь. 6гт. 6дж. 6дз. 6д6зь. 6дл. 6дм. 6дн. 6др. 6д6с6тв. 6д6с6ьк. 6дт. 6дь. 6д6ь6сь. 6жб. 6жв. 6ж6дь. 6ж6сь. 6зв. 6зг. 6зд. 6з6дв. 6з6дн. 6з6дь. 6зк. 6зл. 6зм. 6зн. 6з6нь. 6зр. 6з6сь. 6зь. 6з6ьб. 6з6ьк. 6йб. 6йв. 6йг. 6йд. 6йз. 6йк. 6й6кл. 6йл. 6й6ль. 6йм. 6й6мс. 6йн. 6й6нс. 6йп. 6йр. 6йс. 6й6ст. 6й6с6тв. 6й6с6тр. 6й6сь. 6й6с6ьк. 6йт. 6й6тс. 6йф. 6йх. 6йц. 6йч. 6йш. 6кв. 6кк. 6кл. 6к6ль. 6кр. 6кс. 6к6ст. 6к6сь. 6кт. 6к6тр. 6кх. 6кш. 6лб. 6лг. 6лд. 6лк. 6лл. 6л6ль. 6лм. 6л6мс. 6лн. 6лп. 6лс. 6лт. 6л6хв. 6ль. 6л6ьб. 6л6ьв. 6л6ьг. 6л6ьд. 6л6ь6дс. 6л6ьз. 6л6ьк. 6л6ьм. 6л6ьн. 6л6ьп. 6л6ьс. 6л6ь6ств. 6л6ь6сь. 6л6ь6ськ. 6л6ьт. 6л6ь6тр. 6л6ьф. 6л6ьх. 6л6ьц. 6л6ьч. 6л6ьш. 6л6ьщ. 6мб. 6м6б6ль. 6м6бр. 6мг. 6мж. 6мк. 6мл. 6м6ль. 6мм. 6мн. 6мп. 6мр. 6мс. 6м6с6тв. 6м6сь. 6м6с6ьк. 6мт. 6мф. 6мх. 6мш. 6нв. 6нг. 6н6гл. 6н6г6ль. 6н6гр. 6н6гс. 6нд. 6н6дж. 6н6дз. 6н6дп. 6н6др. 6нж. 6нз. 6нк. 6н6кс. 6н6кт. 6нм. 6нн. 6нр. 6нс. 6н6ск. 6н6ст. 6н6с6тв. 6н6с6тр. 6н6с6ьк. 6н6с6ькй. 6нт. 6н6тк. 6н6тр. 6н6т6ств. 6н6ть. 6нф. 6нх. 6нц. 6н6ць. 6нч. 6нш. 6нь. 6н6ьб. 6н6ьг. 6н6ьк. 6н6ь6сь. 6пд. 6пл. 6пр. 6пс. 6п6с6тв. 6п6сь. 6пт. 6п6тр. 6пф. 6пц. 6рб. 6рв. 6рг. 6рд. 6р6дв. 6р6дж. 6р6дь. 6рж. 6рз. 6р6зн. 6р6зь. 6рк. 6р6кс. 6р6кт. 6рл. 6р6ль. 6р6л6ьз. 6рм. 6рн. 6р6нс. 6р6н6ст. 6р6нь. 6рп. 6рр. 6рс. 6р6ср. 6р6ст. 6р6с6тв. 6р6с6ть. 6р6сь. 6р6с6ьк. 6рт. 6р6тв. 6р6тр. 6р6ть. 6рф. 6рх. 6рц. 6р6ць. 6рч. 6рш. 6рщ. 6р6щ6сь. 6рь. 6с6дп. 6с6д6рп. 6ск. 6сл. 6с6ль. 6см. 6сн. 6сп. 6сс. 6ст. 6с6тв. 6с6тй. 6с6тм. 6с6тр. 6с6т6рь. 6с6ть. 6с6ць. 6сь. 6с6ьб. 6с6ьк. 6с6ьм. 6тв. 6т6вт. 6т6зт. 6тл. 6т6ль. 6тм. 6т6мр. 6тр. 6тс. 6т6с6тв. 6т6с6ьк. 6тт. 6тц. 6тч. 6ть. 6т6ь6сь. 6фм. 6фр. 6ф6с6тв. 6фт. 6ф6ть. 6фф. 6фь. 6хв. 6хм. 6хн. 6хр. 6хт. 6хш. 6ц6тв. 6ць. 6ц6ьк. 6чб. 6чм. 6чн. 6чт. 6шв. 6ш6ль. 6шм. 6шн. 6ш6нл. 6ш6сь. 6шт. 6ш6тв. 6щ6сь. .бе4з’3 .бе4з3 .безу4 .бе5з4о3д .без5о4соб .безві4д3 .без3ро4з3 виї4 .ві5д4ом .ві5д4озв .ві5д4ун віду4ч .ві5д4а .ві5д4ер .ві5д4і .ві4д3 .від’3 .мі4ж3 безві4д3 ові4д3 ді4єві4д3 за4вві4д3 неві4д’3 неві4д3 про4ф3ві4д3 спе4ц3ві4д3 співві4д3 те4х3ві4д3 .пере4д3бач .пере4д3виб .пере4д3г .пере4д3д .пере4д3м .пере4д3ост .пере4д3пла .пере4д3пок .пере4д3р .пере4д3св .пере4д3умов .пере4д3усі .пере4д3фр .пере4д3ч .пере4д’3 .пере3 .пона4д3 .пона5д4і .пона5д4и .пона5д4я 3п4ре 3п4ри приї4 3п4ро 3п4рі .пі5д4о .пі5д4і .під’3 .пі4д3 .пі5д4е .пі5д4и .пі5д4у .пі4в3 .спі4в3 .напі4в3 .ро5з4і .ро5з4е ро5з4йом .ро5з4а .ро4з’3 .ро4з3 .чере4з’3 .чере4з3 оо4б ооб’3 ооб3м ооб3ро об’3 од’3 на4д’3 за5о4р до5о4р по5о4р пере5о4р пі6д5о4р бе4з5і4дей до3в’4є за3в’4є зі3в’4є обі3в’4є по3в’4є уі3в’4є з3в’4я по3в’4я від3в’4я за3в’4я зі3в’4я за3ю4ш на3в’4я непо3в’4я об3в’4я при3в’4я під3в’4я у3в’4я з3м’4я зі3м’4я у3м’4я в3м’4я но3м’4я за3м’4я на3м’4я об3м’4я пере3м’4я по3м’4я при3м’4я піді3м’4я су3м’4я до3в’4ю за3в’4ю зі3в’4ю на3в’4ю по3в’4ю уі3в’4ю інтер3в’4ю за3я4ло коу4роч зу4роч наду4роч позау4роч поу4роч приу4роч на4й3у4бог нао4р прио4р неу4к 3в4б4лаг 3в4к4лад 3в4п4лив 3в4п4равн 3в4р4одлив 3в4т4рут 3в4т4руч 3з4б4рой 3з4б4рою 3з4б4роє 3з4в4’яз 3й4ш4л 3м4к4не 3м4к4ну 3м4к4ні 3п4с4ков 3с4к4лад 3с4к4ле 3с4к4лит 3с4к4ло 3с4к4рипт 3с4п4лав 3с4п4лат 3с4п4лач 3с4п4рав 3с4п4ритн 3с4п4рият 3с4п4ромо 3с4т4вор 3с4т4ражд 3с4т4рах 3с4т4риб 3с4т4риж 3с4т4рой 3с4т4рок 3с4т4ром 3с4т4роф 3с4т4роч 3с4т4рою 3с4т4роя 3с4т4роє 3с4т4рої 3с4т4рукт 3с4т4рукц 3с4т4рій 3с4т4ріл 3с4т4річ 3т4к4нен 3т4ь4мар 3т4ь4мяні 3у4п4рав 3блаж 3ближ 3близ 3блиск 3блок 3блоці 3бран 3брати 3брест 3бризк 3британ 3бруд 3в4бив 3в4веден 3в4дал 3в4довз 3в4довол 3в4живан 3в4лад 3в4ласн 3в4лашт 3в4лов 3в4певн 3в4поряд 3в4разлив 3в4рожай 3в4сюд 3в4тіл 3глад 3глиб 3глин 3глоб 3глуз 3глуш 3гляд 3глян 3гнан 3гнил 3гноз 3гнучк 3грав 3град 3грай 3грам 3гран 3грати 3граф 3граш 3граю 3грає 3грес 3грець 3гроб 3грож 3гроз 3громад 3груван 3грунт 3груп 3грів 3гріт 3гріш 3г4ідро 3д4ан 3д4бав 3д4бал 3д4бан 3д4бат 3д4бає 3двиг 3двою 3двоє 3двій 3двір 3двічі 3драж 3дром 3друж 3друк 3дряп 3дріб 3дріма 3жвав 3жміть 3жріть 3з4бага 3з4баланс 3з4був 3з4бут 3зваж 3зван 3звед 3звел 3звест 3звись 3звич 3звищ 3зворуш 3звук 3звуч 3звіт 3з4год 3з4дат 3з4довж 3з4доров 3з4дійсн 3змін 3зйом 3зміш 3знав 3знай 3знак 3знал 3знан 3знат 3знаход 3знач 3знаю 3знає 3зниж 3знім 3зрозум 3зрюв 3зрів 3зріл 3зрін 3з4чеп 3й4ма 3й4менн 3й4мищ 3й4мовірн 3й4му. 3й4муть 3й4міть 3й4шов 3м4нож 3м4ріть 3м4щен 3п4сов 3п4сон 3п4сув 3р4вав 3р4вати 3р4віть 3с4кид 3с4кок 3с4коп 3с4кор 3с4короч 3с4коч 3с4кіль 3с4кіпл 3с4пад 3с4пект 3с4перм 3с4пин 3с4повід 3с4пожив 3с4постер 3с4пі 3с4піть 3с4піш 3с4табіл 3с4тав 3с4тад 3с4таз 3с4тайн 3с4тал 3с4тан 3с4тар 3с4тара 3с4тат 3с4тач 3с4тає 3с4теп 3с4тереж 3с4теріг 3с4тиг 3с4тиж 3с4тисл 3с4титу 3с4товб 3с4той 3с4торон 3с4торін 3с4тосо 3с4тосу 3с4тою 3с4тоян 3с4туп 3с4тяг 3с4тіб 3с4тій 3с4тіль 3с4тір 3с4фер 3с4хил 3с4хов 3с4хід 3т4кан 3х4то 3ш4код 3ш4кол 3ш4кідл 3ш4кіл 3ш4кір 3ш4таб 3ш4туч 3ґрунт 3а4вторит 3а4гент 3а4грес 3а4декват 3а4дитив 3а4зарт 3а4ктив 3а4ктуал 3а4курат 3а4куст 3а4кцепт 3а4кциз 3а4лергі 3а4матор 3а4наліз 3а4натом 3а4парат 3а4пеляц 3а4постол 3а4птеч 3а4ргумен 3а4ромат 3а4соці 3а4спект 3а4тлет 3а4халі 3е4колог 3е4коном 3е4легант 3е4лектр 3е4лемент 3е4моці 3е4мігр 3е4нерг 3е4стакад 3е4стет 3е4тап 3о4б’єдн 3о4б’єкт 3о4береж 3о4бира 3о4борон 3о4бід 3о4біц 3о4даль 3о4дяг 3о4збро 3о4крем 3о4перат 3о4плат 3о4птим 3о4пуст 3о4пуше 3о4пуще 3о4рдинац 3о4ренд 3о4соб 3о4сяжн 3о4холо 3о4хорон 3о4хоч 3о4чисн 3о4чищ 3у4ваг 3у4важ 3у4гав 3у4згод 3у4клад 3у4компл 3у4крупн 3у4люблен 3у4мит 3у4міл 3у4перед 3у4разлив 3у4рбан 3у4рочист 3у4ряд 3у4рядов 3у4спіш 3у4станов 3у4стпіш 3у4сувати 3у4твор 3у4тробн 3я4дерн 3я4зик 3я4кіс 3я4рус 3я4скрав 3є4д3н 3є4дин 3є4писк 3є4рей 3і4зотоп 3і4люстр 3і4мовір 3і4нтенс 3і4нформ 3і4ніціат 3і4снув 3ї4ждж 3ї4зд 3ї4ст 3ї4хав 3ї4хат .заї4к .заї4ц .заї4ч .наї4д ’ї4в ’ї4з ’ї4д ’ї4ж ’ї4л ’ї4м ’ї4с ’ї4х аві4а авої4д ае4тил альбі5он ахої4д ауді4о ай4с3берг бактері4о ба4с3енер ба4с3антра .бе5зе. бей4сбол бе5кон б’4єть бйор4нс бі4о3 бо4г3дан бран4д брі4дж3порт без5і4мен бо4є3гол бо4є3гот бо4є3зап бо4є3здат бо4є3комп бо4є3пост бо4є3прип бори4с5п 4в3антрац вер4х3н ви3й4д вина3й4д ви3й4т вина3й4т від7зна ві5д4ен ві5д4е4о ві5д4ом від5о4браж від5о4браз во4с5ко водо5с4ток водо5з4бір воль4т3метр воль4т3ампер 3в’4яз ге2ть3ман ге4о го4с4п5роз гі4д5ро5мет 4д7зем дер4ж5а4том дер4ж5а4дм дер4ж5бюдж дер4ж5вид дер4ж5дум дер4ж5замов дер4ж5ком дер4ж5нафт дер4ж5реєс дер4ж3без дер4ж3резерв дер4ж5стр дер4ж5служ двох4а5том джен4тль дисбаланс ди4с3гарм ди4с3квал ди4с3комф ди4с3конт ди4с3кред ди4с3крет ди4с3крец ди4с3крим ди4с3кусі ди4с3куту ди4с3лок ди4с3парит ди4с3перс ди4с3петч ди4с3пле ди4с3плей ди4с3пози ди4с3проп ди4с3пут ди4с3тил ди4с3триб ди4с3троф ди4с3функц ді3й4т ді3й4д д4ні3п4р .дої4в .дої4л .дої5ль дої4д дої4м дої4х дої4ж дої4ст до3з4вол до3з4віл дорого5в4каз еу4стр ео4сві енерго3з4береж енерго3з4беріг ек2с1к ек2с1п ек2с1т ек2с1ц єв4р3атом єпі4с5коп єпи4с5коп за4п3част заї4д заї4ж заї4з заї4л заї4м заї4х зе4кономити 3з’4ясо зна3й4д зна3й4т зо4ка зо4ке зо4ки зо4ку зо4кі игої4д ий4ти іе4тил і4л3е4тил ій4ти інфор4м3аген йо4сві каза4х3стан квої4д корої4д квар4т3плат киї4венер кон4трре кон4тр3арг жко4м5а4том кому4ненерг мі4н5е4ко мі4н5е4нер мо4к5рий 3м’4якш 3м’4ят на3б4лиз на3в4ряд на3в4ча на3з4в на4д7з4в наї4вс наї4вш наї4ж наї4з наї4л наї4м наї4с наї4х на4й3а на4й3е на4й3обереж на4й7о4бер на4й7о4гид на4й7о4гол на4й7о4гряд на4й7о4пук на4й7о4хай на4й3масл на4й3спри на4й3якіс на3в4чен на3в4чіть не3в4том не3д4бан на3д4бан не3з4вич не3з4важ нео4пал недої4 неї4ст на5п4лив ні4т5рат оної4д оо4пал ео4пал обі3д4ран обі3й4д обі3й4т об5у4мов онаї4д оо4сві оо4к оу4стр оа4том об4лдер4ж об4л3а4дмін переї4д переї4ж переї4з переї4л переї4с переї4х пере5п4лив пере3й4д пре4й4с пере3й4т перег4ній перед5о4бід пере3в4том пере4д5см перед5у4мов під5о4дин пів5о4с4тр пі5в4ень по3б4лизу по3в4тор поч4не поч4ни поч4ну поя4в по3в4чен по3в4чіть по3д4роб по3д4раз по3д4во по5ж4ніть по5з4бав .пої4 пої4д прої4 пої4зд по4с4т5радян по4с4т5кому по4с4т3декр по4с4т3контра по4с4т3менопауз по4с4тприват по4с4т3раді по4с4т5соці пос4т3кап пос4т3ком пос4т3нат пос4т3проц пос4т3соц пос4т3фікс при3й4т про3с4тирад про4ф3с полі4т5екон пор4т3н пор4т3рет пор4т3фел при3й4д при4нцип про4ект3н про3б4лем про4м3май пр4о5плат раді4о рай3в4но ро4з5д4во ро4з5мінний роз5у4чен роз5і4мен роз5вант роз5вин роз5вит ро4з5діл ро4з5гор ро4з5вер ро4з5чеп ро4з’5єдн з’4єдн руко5с4тиск ро5з4ум ро4з3гром ро4з3лив рмої4д сан4к4т3 сеї4д серцеї4д спе4ц3кур спе4ц3мон спе4цпр спе4ц3с спор4т3вир спор4т3зал спор4т3ком спор4т3клуб спор4т3май спор4т4с3ме сор4тн 3с4промож сь4квуг стат5упр тор4г3пред тран4с3 тур4к3мен цук3ро у4к4р укр3а4вт укр3а4гр укр3е4кс укр3і4н4банк убої4д чорно3б4рив цен4т4р3енерг ясої4д ви3у4ч за3у4ч на3у4ч недо3у4ч не3у4ч під3у4ч пед3у4чи пере3у4ч само3у4ч вия4в з’я4в зая4в ная4в уя4в во4євод во4єнач сво4єчас сво4єкорис сво4єрід хво4є3г4риз гелі4о ді4о еті4о мі4о і4он полі4о соці4о фізі4о хімі4о гоме4о ді4алог ді4оген дея4к оо4динок ао4пік ао4ха ео4ха зо6о ка5нал оі4зол міжу4соб мете4о абия4к нія4к вия4сн най3я4сн нея4сн поя4сн проя4сн роз’я4сн ро5з4ора. ро5з4о5рам ро5з4орах ро5з4ори ро5з4оро ро5з4ору ро5з4оря ро5з4орю ро5з4орі ро6з5о4ри. розо4ра розо4ре розо4реш розо4рн напоу4м неа4би ео4цін оо4цін доу4к доу4м ео4бур ео4голош ео4зор бальне4о не4оліт не4омальт не4оклас не4окомун не4оландш не4олог не4олібер не4онац не4офіт нею4н нея4к нея4рок но4к3а4ут пі5в4оні піво4с пале4о па4н3о4тець .пе4ом. д3у4сім п4о5бере ао4хот ое4ко ео4хот ео4щад ао4щад оо4чищ поя4с роз’я4р те4одоліт те4олог те4ософ оо4біг оу4сун оу4ком пів3о4вал а3у4дар о3у4дар з3у4дар в3у4дар контр3у4дар о3о4кисл и3о4кисл ень7о4кисл е3о4кисл х3о4кисл и3і4стор о3і4стор і3і4стор а3і4стор я3і4стор е3і4стор наді4стор най3і4стор пів3і4стор перед3і4стор пост3і4стор ар4т3афіш ар4т3взвод ар4т3десант ар4т3кафе ар4т3майс ар4т3медіа ар4т3мейс ар4т3мін ар4т3о4бстр ар4т3о4дин ар4т3о4збр ар4т3під ар4т3рин ар4т3у4стан ар4т3факт ар4т3хім ар4т3центр наді4стот найі4стот еі4стот оі4стот ау4т3екол оо4чист з3а4кт оа4кт еа4кт гіпер3а4кт найа4кт піва4кт ао4браз ео4браз оо4браз граф3о4браз най3о4браз супер3о4браз ар4т3мейст баге4р3мейст бале4т3мейст бран4д3мейст ва4ль4д3мейст ве4ль4т3мейст го4ф3мейст гро4с3мейст декре4т3мейст до4к3мейст капе4ль3мейст кварти4р3мейст конце4р4т3мейст кра4н3мейст полі4ц3мейст по4ш4т3мейст фо4р4с4т3мейст хо4р3мейст шапі4т3мейст шта4л3мейст єге4р3мейст иа4варі яа4варі оа4варі еа4варі беза4варі між3а4варі над3а4варі пост3а4варі напів3а4варі перед3а4варі супер3а4варі аа4дрес еа4дрес оа4дрес іа4дрес без3а4дрес ае4фект ее4фект ое4фект най3е4фект супер3е4фект ое4місі ие4місі яе4місі ее4місі безе4місі гіпер3е4місі еу4бог й3у4бог ий4ня зай4ня здій4ня най4ня обій4ня перей4ня підій4ня прий4м пій4м дій4ма вий4м най4ма зай4м д4о3й4м обой4м прой4м обій4м перей4м безу4гл безу4пин бло4к3пост .блі4ц3ана .блі4ц3криг .блі4ц3опит .блі4ц3торг .блі4ц3тур .блі4ц3і4спит о3а4наліз бак3а4наліз ц3а4наліз ген3а4наліз з3а4наліз м3а4наліз нт3а4наліз між3а4наліз полі3а4наліз ре3а4наліз оу4год ау4год еу4год пів3у4год роз3у4год гос4п3у4год ео4пис оо4пис ао4пис бо4р4т3мех бо4р4т3о4пер бо4р4т3про бо4р4т3рад бо4р4т3і4нж оа4каці оу4с оо4держ оа4на біблі4о .на3в4ч .ви3в4ч .до3в4ч .за3в4ч .по3в4ч .при3в4ч ана3в4ч ена3в4ч мона3в4ч жона3в4ч іона3в4ч ови3в4ч еви3в4ч едо3в4ч оза3в4ч по3в4ча .ом4рі е3м4рій .ви3м4р .віді3м4р .зав3м4р .за3м4р .зі3м4р .на3м4р .пере3м4р .по3м4р .при3м4р .роз3м4р .ум4ри .ум4рі .ум4ру .ум4ре во4станнє най3о4станн перед3о4станн ие4стет ое4стет ее4стет й3е4стет пан3е4стет пар3е4стет оо4ктан іо4ктан оо4плачув ео4плачув перед3о4пла виу4ди о3в4каз е3в4каз 8-7 --8 .а-8 .б-8 .в-8 .г-8 .ґ-8 .д-8 .е-8 .є-8 .ж-8 .з-8 .и-8 .і-8 .ї-8 .й-8 .к-8 .л-8 .м-8 .н-8 .о-8 .п-8 .р-8 .с-8 .т-8 .у-8 .ф-8 .х-8 .ц-8 .ч-8 .ш-8 .щ-8 .ь-8 .ю-8 .я-8 .’-8 -а8а8 8а8а- -а8б8 8а8б- -а8в8 8а8в- -а8г8 8а8г- -а8ґ8 8а8ґ- -а8д8 8а8д- -а8е8 8а8е- -а8є8 8а8є- -а8ж8 8а8ж- -а8з8 8а8з- -а8и8 8а8и- -а8і8 8а8і- -а8ї8 8а8ї- -а8й8 8а8й- -а8к8 8а8к- -а8л8 8а8л- -а8м8 8а8м- -а8н8 8а8н- -а8о8 8а8о- -а8п8 8а8п- -а8р8 8а8р- -а8с8 8а8с- -а8т8 8а8т- -а8у8 8а8у- -а8ф8 8а8ф- -а8х8 8а8х- -а8ц8 8а8ц- -а8ч8 8а8ч- -а8ш8 8а8ш- -а8щ8 8а8щ- -а8ь8 8а8ь- -а8ю8 8а8ю- -а8я8 8а8я- -а8’8 8а8’- -б8а8 8б8а- -б8б8 8б8б- -б8в8 8б8в- -б8г8 8б8г- -б8ґ8 8б8ґ- -б8д8 8б8д- -б8е8 8б8е- -б8є8 8б8є- -б8ж8 8б8ж- -б8з8 8б8з- -б8и8 8б8и- -б8і8 8б8і- -б8ї8 8б8ї- -б8й8 8б8й- -б8к8 8б8к- -б8л8 8б8л- -б8м8 8б8м- -б8н8 8б8н- -б8о8 8б8о- -б8п8 8б8п- -б8р8 8б8р- -б8с8 8б8с- -б8т8 8б8т- -б8у8 8б8у- -б8ф8 8б8ф- -б8х8 8б8х- -б8ц8 8б8ц- -б8ч8 8б8ч- -б8ш8 8б8ш- -б8щ8 8б8щ- -б8ь8 8б8ь- -б8ю8 8б8ю- -б8я8 8б8я- -б8’8 8б8’- -в8а8 8в8а- -в8б8 8в8б- -в8в8 8в8в- -в8г8 8в8г- -в8ґ8 8в8ґ- -в8д8 8в8д- -в8е8 8в8е- -в8є8 8в8є- -в8ж8 8в8ж- -в8з8 8в8з- -в8и8 8в8и- -в8і8 8в8і- -в8ї8 8в8ї- -в8й8 8в8й- -в8к8 8в8к- -в8л8 8в8л- -в8м8 8в8м- -в8н8 8в8н- -в8о8 8в8о- -в8п8 8в8п- -в8р8 8в8р- -в8с8 8в8с- -в8т8 8в8т- -в8у8 8в8у- -в8ф8 8в8ф- -в8х8 8в8х- -в8ц8 8в8ц- -в8ч8 8в8ч- -в8ш8 8в8ш- -в8щ8 8в8щ- -в8ь8 8в8ь- -в8ю8 8в8ю- -в8я8 8в8я- -в8’8 8в8’- -г8а8 8г8а- -г8б8 8г8б- -г8в8 8г8в- -г8г8 8г8г- -г8ґ8 8г8ґ- -г8д8 8г8д- -г8е8 8г8е- -г8є8 8г8є- -г8ж8 8г8ж- -г8з8 8г8з- -г8и8 8г8и- -г8і8 8г8і- -г8ї8 8г8ї- -г8й8 8г8й- -г8к8 8г8к- -г8л8 8г8л- -г8м8 8г8м- -г8н8 8г8н- -г8о8 8г8о- -г8п8 8г8п- -г8р8 8г8р- -г8с8 8г8с- -г8т8 8г8т- -г8у8 8г8у- -г8ф8 8г8ф- -г8х8 8г8х- -г8ц8 8г8ц- -г8ч8 8г8ч- -г8ш8 8г8ш- -г8щ8 8г8щ- -г8ь8 8г8ь- -г8ю8 8г8ю- -г8я8 8г8я- -г8’8 8г8’- -ґ8а8 8ґ8а- -ґ8б8 8ґ8б- -ґ8в8 8ґ8в- -ґ8г8 8ґ8г- -ґ8ґ8 8ґ8ґ- -ґ8д8 8ґ8д- -ґ8е8 8ґ8е- -ґ8є8 8ґ8є- -ґ8ж8 8ґ8ж- -ґ8з8 8ґ8з- -ґ8и8 8ґ8и- -ґ8і8 8ґ8і- -ґ8ї8 8ґ8ї- -ґ8й8 8ґ8й- -ґ8к8 8ґ8к- -ґ8л8 8ґ8л- -ґ8м8 8ґ8м- -ґ8н8 8ґ8н- -ґ8о8 8ґ8о- -ґ8п8 8ґ8п- -ґ8р8 8ґ8р- -ґ8с8 8ґ8с- -ґ8т8 8ґ8т- -ґ8у8 8ґ8у- -ґ8ф8 8ґ8ф- -ґ8х8 8ґ8х- -ґ8ц8 8ґ8ц- -ґ8ч8 8ґ8ч- -ґ8ш8 8ґ8ш- -ґ8щ8 8ґ8щ- -ґ8ь8 8ґ8ь- -ґ8ю8 8ґ8ю- -ґ8я8 8ґ8я- -ґ8’8 8ґ8’- -д8а8 8д8а- -д8б8 8д8б- -д8в8 8д8в- -д8г8 8д8г- -д8ґ8 8д8ґ- -д8д8 8д8д- -д8е8 8д8е- -д8є8 8д8є- -д8ж8 8д8ж- -д8з8 8д8з- -д8и8 8д8и- -д8і8 8д8і- -д8ї8 8д8ї- -д8й8 8д8й- -д8к8 8д8к- -д8л8 8д8л- -д8м8 8д8м- -д8н8 8д8н- -д8о8 8д8о- -д8п8 8д8п- -д8р8 8д8р- -д8с8 8д8с- -д8т8 8д8т- -д8у8 8д8у- -д8ф8 8д8ф- -д8х8 8д8х- -д8ц8 8д8ц- -д8ч8 8д8ч- -д8ш8 8д8ш- -д8щ8 8д8щ- -д8ь8 8д8ь- -д8ю8 8д8ю- -д8я8 8д8я- -д8’8 8д8’- -е8а8 8е8а- -е8б8 8е8б- -е8в8 8е8в- -е8г8 8е8г- -е8ґ8 8е8ґ- -е8д8 8е8д- -е8е8 8е8е- -е8є8 8е8є- -е8ж8 8е8ж- -е8з8 8е8з- -е8и8 8е8и- -е8і8 8е8і- -е8ї8 8е8ї- -е8й8 8е8й- -е8к8 8е8к- -е8л8 8е8л- -е8м8 8е8м- -е8н8 8е8н- -е8о8 8е8о- -е8п8 8е8п- -е8р8 8е8р- -е8с8 8е8с- -е8т8 8е8т- -е8у8 8е8у- -е8ф8 8е8ф- -е8х8 8е8х- -е8ц8 8е8ц- -е8ч8 8е8ч- -е8ш8 8е8ш- -е8щ8 8е8щ- -е8ь8 8е8ь- -е8ю8 8е8ю- -е8я8 8е8я- -е8’8 8е8’- -є8а8 8є8а- -є8б8 8є8б- -є8в8 8є8в- -є8г8 8є8г- -є8ґ8 8є8ґ- -є8д8 8є8д- -є8е8 8є8е- -є8є8 8є8є- -є8ж8 8є8ж- -є8з8 8є8з- -є8и8 8є8и- -є8і8 8є8і- -є8ї8 8є8ї- -є8й8 8є8й- -є8к8 8є8к- -є8л8 8є8л- -є8м8 8є8м- -є8н8 8є8н- -є8о8 8є8о- -є8п8 8є8п- -є8р8 8є8р- -є8с8 8є8с- -є8т8 8є8т- -є8у8 8є8у- -є8ф8 8є8ф- -є8х8 8є8х- -є8ц8 8є8ц- -є8ч8 8є8ч- -є8ш8 8є8ш- -є8щ8 8є8щ- -є8ь8 8є8ь- -є8ю8 8є8ю- -є8я8 8є8я- -є8’8 8є8’- -ж8а8 8ж8а- -ж8б8 8ж8б- -ж8в8 8ж8в- -ж8г8 8ж8г- -ж8ґ8 8ж8ґ- -ж8д8 8ж8д- -ж8е8 8ж8е- -ж8є8 8ж8є- -ж8ж8 8ж8ж- -ж8з8 8ж8з- -ж8и8 8ж8и- -ж8і8 8ж8і- -ж8ї8 8ж8ї- -ж8й8 8ж8й- -ж8к8 8ж8к- -ж8л8 8ж8л- -ж8м8 8ж8м- -ж8н8 8ж8н- -ж8о8 8ж8о- -ж8п8 8ж8п- -ж8р8 8ж8р- -ж8с8 8ж8с- -ж8т8 8ж8т- -ж8у8 8ж8у- -ж8ф8 8ж8ф- -ж8х8 8ж8х- -ж8ц8 8ж8ц- -ж8ч8 8ж8ч- -ж8ш8 8ж8ш- -ж8щ8 8ж8щ- -ж8ь8 8ж8ь- -ж8ю8 8ж8ю- -ж8я8 8ж8я- -ж8’8 8ж8’- -з8а8 8з8а- -з8б8 8з8б- -з8в8 8з8в- -з8г8 8з8г- -з8ґ8 8з8ґ- -з8д8 8з8д- -з8е8 8з8е- -з8є8 8з8є- -з8ж8 8з8ж- -з8з8 8з8з- -з8и8 8з8и- -з8і8 8з8і- -з8ї8 8з8ї- -з8й8 8з8й- -з8к8 8з8к- -з8л8 8з8л- -з8м8 8з8м- -з8н8 8з8н- -з8о8 8з8о- -з8п8 8з8п- -з8р8 8з8р- -з8с8 8з8с- -з8т8 8з8т- -з8у8 8з8у- -з8ф8 8з8ф- -з8х8 8з8х- -з8ц8 8з8ц- -з8ч8 8з8ч- -з8ш8 8з8ш- -з8щ8 8з8щ- -з8ь8 8з8ь- -з8ю8 8з8ю- -з8я8 8з8я- -з8’8 8з8’- -и8а8 8и8а- -и8б8 8и8б- -и8в8 8и8в- -и8г8 8и8г- -и8ґ8 8и8ґ- -и8д8 8и8д- -и8е8 8и8е- -и8є8 8и8є- -и8ж8 8и8ж- -и8з8 8и8з- -и8и8 8и8и- -и8і8 8и8і- -и8ї8 8и8ї- -и8й8 8и8й- -и8к8 8и8к- -и8л8 8и8л- -и8м8 8и8м- -и8н8 8и8н- -и8о8 8и8о- -и8п8 8и8п- -и8р8 8и8р- -и8с8 8и8с- -и8т8 8и8т- -и8у8 8и8у- -и8ф8 8и8ф- -и8х8 8и8х- -и8ц8 8и8ц- -и8ч8 8и8ч- -и8ш8 8и8ш- -и8щ8 8и8щ- -и8ь8 8и8ь- -и8ю8 8и8ю- -и8я8 8и8я- -и8’8 8и8’- -і8а8 8і8а- -і8б8 8і8б- -і8в8 8і8в- -і8г8 8і8г- -і8ґ8 8і8ґ- -і8д8 8і8д- -і8е8 8і8е- -і8є8 8і8є- -і8ж8 8і8ж- -і8з8 8і8з- -і8и8 8і8и- -і8і8 8і8і- -і8ї8 8і8ї- -і8й8 8і8й- -і8к8 8і8к- -і8л8 8і8л- -і8м8 8і8м- -і8н8 8і8н- -і8о8 8і8о- -і8п8 8і8п- -і8р8 8і8р- -і8с8 8і8с- -і8т8 8і8т- -і8у8 8і8у- -і8ф8 8і8ф- -і8х8 8і8х- -і8ц8 8і8ц- -і8ч8 8і8ч- -і8ш8 8і8ш- -і8щ8 8і8щ- -і8ь8 8і8ь- -і8ю8 8і8ю- -і8я8 8і8я- -і8’8 8і8’- -ї8а8 8ї8а- -ї8б8 8ї8б- -ї8в8 8ї8в- -ї8г8 8ї8г- -ї8ґ8 8ї8ґ- -ї8д8 8ї8д- -ї8е8 8ї8е- -ї8є8 8ї8є- -ї8ж8 8ї8ж- -ї8з8 8ї8з- -ї8и8 8ї8и- -ї8і8 8ї8і- -ї8ї8 8ї8ї- -ї8й8 8ї8й- -ї8к8 8ї8к- -ї8л8 8ї8л- -ї8м8 8ї8м- -ї8н8 8ї8н- -ї8о8 8ї8о- -ї8п8 8ї8п- -ї8р8 8ї8р- -ї8с8 8ї8с- -ї8т8 8ї8т- -ї8у8 8ї8у- -ї8ф8 8ї8ф- -ї8х8 8ї8х- -ї8ц8 8ї8ц- -ї8ч8 8ї8ч- -ї8ш8 8ї8ш- -ї8щ8 8ї8щ- -ї8ь8 8ї8ь- -ї8ю8 8ї8ю- -ї8я8 8ї8я- -ї8’8 8ї8’- -й8а8 8й8а- -й8б8 8й8б- -й8в8 8й8в- -й8г8 8й8г- -й8ґ8 8й8ґ- -й8д8 8й8д- -й8е8 8й8е- -й8є8 8й8є- -й8ж8 8й8ж- -й8з8 8й8з- -й8и8 8й8и- -й8і8 8й8і- -й8ї8 8й8ї- -й8й8 8й8й- -й8к8 8й8к- -й8л8 8й8л- -й8м8 8й8м- -й8н8 8й8н- -й8о8 8й8о- -й8п8 8й8п- -й8р8 8й8р- -й8с8 8й8с- -й8т8 8й8т- -й8у8 8й8у- -й8ф8 8й8ф- -й8х8 8й8х- -й8ц8 8й8ц- -й8ч8 8й8ч- -й8ш8 8й8ш- -й8щ8 8й8щ- -й8ь8 8й8ь- -й8ю8 8й8ю- -й8я8 8й8я- -й8’8 8й8’- -к8а8 8к8а- -к8б8 8к8б- -к8в8 8к8в- -к8г8 8к8г- -к8ґ8 8к8ґ- -к8д8 8к8д- -к8е8 8к8е- -к8є8 8к8є- -к8ж8 8к8ж- -к8з8 8к8з- -к8и8 8к8и- -к8і8 8к8і- -к8ї8 8к8ї- -к8й8 8к8й- -к8к8 8к8к- -к8л8 8к8л- -к8м8 8к8м- -к8н8 8к8н- -к8о8 8к8о- -к8п8 8к8п- -к8р8 8к8р- -к8с8 8к8с- -к8т8 8к8т- -к8у8 8к8у- -к8ф8 8к8ф- -к8х8 8к8х- -к8ц8 8к8ц- -к8ч8 8к8ч- -к8ш8 8к8ш- -к8щ8 8к8щ- -к8ь8 8к8ь- -к8ю8 8к8ю- -к8я8 8к8я- -к8’8 8к8’- -л8а8 8л8а- -л8б8 8л8б- -л8в8 8л8в- -л8г8 8л8г- -л8ґ8 8л8ґ- -л8д8 8л8д- -л8е8 8л8е- -л8є8 8л8є- -л8ж8 8л8ж- -л8з8 8л8з- -л8и8 8л8и- -л8і8 8л8і- -л8ї8 8л8ї- -л8й8 8л8й- -л8к8 8л8к- -л8л8 8л8л- -л8м8 8л8м- -л8н8 8л8н- -л8о8 8л8о- -л8п8 8л8п- -л8р8 8л8р- -л8с8 8л8с- -л8т8 8л8т- -л8у8 8л8у- -л8ф8 8л8ф- -л8х8 8л8х- -л8ц8 8л8ц- -л8ч8 8л8ч- -л8ш8 8л8ш- -л8щ8 8л8щ- -л8ь8 8л8ь- -л8ю8 8л8ю- -л8я8 8л8я- -л8’8 8л8’- -м8а8 8м8а- -м8б8 8м8б- -м8в8 8м8в- -м8г8 8м8г- -м8ґ8 8м8ґ- -м8д8 8м8д- -м8е8 8м8е- -м8є8 8м8є- -м8ж8 8м8ж- -м8з8 8м8з- -м8и8 8м8и- -м8і8 8м8і- -м8ї8 8м8ї- -м8й8 8м8й- -м8к8 8м8к- -м8л8 8м8л- -м8м8 8м8м- -м8н8 8м8н- -м8о8 8м8о- -м8п8 8м8п- -м8р8 8м8р- -м8с8 8м8с- -м8т8 8м8т- -м8у8 8м8у- -м8ф8 8м8ф- -м8х8 8м8х- -м8ц8 8м8ц- -м8ч8 8м8ч- -м8ш8 8м8ш- -м8щ8 8м8щ- -м8ь8 8м8ь- -м8ю8 8м8ю- -м8я8 8м8я- -м8’8 8м8’- -н8а8 8н8а- -н8б8 8н8б- -н8в8 8н8в- -н8г8 8н8г- -н8ґ8 8н8ґ- -н8д8 8н8д- -н8е8 8н8е- -н8є8 8н8є- -н8ж8 8н8ж- -н8з8 8н8з- -н8и8 8н8и- -н8і8 8н8і- -н8ї8 8н8ї- -н8й8 8н8й- -н8к8 8н8к- -н8л8 8н8л- -н8м8 8н8м- -н8н8 8н8н- -н8о8 8н8о- -н8п8 8н8п- -н8р8 8н8р- -н8с8 8н8с- -н8т8 8н8т- -н8у8 8н8у- -н8ф8 8н8ф- -н8х8 8н8х- -н8ц8 8н8ц- -н8ч8 8н8ч- -н8ш8 8н8ш- -н8щ8 8н8щ- -н8ь8 8н8ь- -н8ю8 8н8ю- -н8я8 8н8я- -н8’8 8н8’- -о8а8 8о8а- -о8б8 8о8б- -о8в8 8о8в- -о8г8 8о8г- -о8ґ8 8о8ґ- -о8д8 8о8д- -о8е8 8о8е- -о8є8 8о8є- -о8ж8 8о8ж- -о8з8 8о8з- -о8и8 8о8и- -о8і8 8о8і- -о8ї8 8о8ї- -о8й8 8о8й- -о8к8 8о8к- -о8л8 8о8л- -о8м8 8о8м- -о8н8 8о8н- -о8о8 8о8о- -о8п8 8о8п- -о8р8 8о8р- -о8с8 8о8с- -о8т8 8о8т- -о8у8 8о8у- -о8ф8 8о8ф- -о8х8 8о8х- -о8ц8 8о8ц- -о8ч8 8о8ч- -о8ш8 8о8ш- -о8щ8 8о8щ- -о8ь8 8о8ь- -о8ю8 8о8ю- -о8я8 8о8я- -о8’8 8о8’- -п8а8 8п8а- -п8б8 8п8б- -п8в8 8п8в- -п8г8 8п8г- -п8ґ8 8п8ґ- -п8д8 8п8д- -п8е8 8п8е- -п8є8 8п8є- -п8ж8 8п8ж- -п8з8 8п8з- -п8и8 8п8и- -п8і8 8п8і- -п8ї8 8п8ї- -п8й8 8п8й- -п8к8 8п8к- -п8л8 8п8л- -п8м8 8п8м- -п8н8 8п8н- -п8о8 8п8о- -п8п8 8п8п- -п8р8 8п8р- -п8с8 8п8с- -п8т8 8п8т- -п8у8 8п8у- -п8ф8 8п8ф- -п8х8 8п8х- -п8ц8 8п8ц- -п8ч8 8п8ч- -п8ш8 8п8ш- -п8щ8 8п8щ- -п8ь8 8п8ь- -п8ю8 8п8ю- -п8я8 8п8я- -п8’8 8п8’- -р8а8 8р8а- -р8б8 8р8б- -р8в8 8р8в- -р8г8 8р8г- -р8ґ8 8р8ґ- -р8д8 8р8д- -р8е8 8р8е- -р8є8 8р8є- -р8ж8 8р8ж- -р8з8 8р8з- -р8и8 8р8и- -р8і8 8р8і- -р8ї8 8р8ї- -р8й8 8р8й- -р8к8 8р8к- -р8л8 8р8л- -р8м8 8р8м- -р8н8 8р8н- -р8о8 8р8о- -р8п8 8р8п- -р8р8 8р8р- -р8с8 8р8с- -р8т8 8р8т- -р8у8 8р8у- -р8ф8 8р8ф- -р8х8 8р8х- -р8ц8 8р8ц- -р8ч8 8р8ч- -р8ш8 8р8ш- -р8щ8 8р8щ- -р8ь8 8р8ь- -р8ю8 8р8ю- -р8я8 8р8я- -р8’8 8р8’- -с8а8 8с8а- -с8б8 8с8б- -с8в8 8с8в- -с8г8 8с8г- -с8ґ8 8с8ґ- -с8д8 8с8д- -с8е8 8с8е- -с8є8 8с8є- -с8ж8 8с8ж- -с8з8 8с8з- -с8и8 8с8и- -с8і8 8с8і- -с8ї8 8с8ї- -с8й8 8с8й- -с8к8 8с8к- -с8л8 8с8л- -с8м8 8с8м- -с8н8 8с8н- -с8о8 8с8о- -с8п8 8с8п- -с8р8 8с8р- -с8с8 8с8с- -с8т8 8с8т- -с8у8 8с8у- -с8ф8 8с8ф- -с8х8 8с8х- -с8ц8 8с8ц- -с8ч8 8с8ч- -с8ш8 8с8ш- -с8щ8 8с8щ- -с8ь8 8с8ь- -с8ю8 8с8ю- -с8я8 8с8я- -с8’8 8с8’- -т8а8 8т8а- -т8б8 8т8б- -т8в8 8т8в- -т8г8 8т8г- -т8ґ8 8т8ґ- -т8д8 8т8д- -т8е8 8т8е- -т8є8 8т8є- -т8ж8 8т8ж- -т8з8 8т8з- -т8и8 8т8и- -т8і8 8т8і- -т8ї8 8т8ї- -т8й8 8т8й- -т8к8 8т8к- -т8л8 8т8л- -т8м8 8т8м- -т8н8 8т8н- -т8о8 8т8о- -т8п8 8т8п- -т8р8 8т8р- -т8с8 8т8с- -т8т8 8т8т- -т8у8 8т8у- -т8ф8 8т8ф- -т8х8 8т8х- -т8ц8 8т8ц- -т8ч8 8т8ч- -т8ш8 8т8ш- -т8щ8 8т8щ- -т8ь8 8т8ь- -т8ю8 8т8ю- -т8я8 8т8я- -т8’8 8т8’- -у8а8 8у8а- -у8б8 8у8б- -у8в8 8у8в- -у8г8 8у8г- -у8ґ8 8у8ґ- -у8д8 8у8д- -у8е8 8у8е- -у8є8 8у8є- -у8ж8 8у8ж- -у8з8 8у8з- -у8и8 8у8и- -у8і8 8у8і- -у8ї8 8у8ї- -у8й8 8у8й- -у8к8 8у8к- -у8л8 8у8л- -у8м8 8у8м- -у8н8 8у8н- -у8о8 8у8о- -у8п8 8у8п- -у8р8 8у8р- -у8с8 8у8с- -у8т8 8у8т- -у8у8 8у8у- -у8ф8 8у8ф- -у8х8 8у8х- -у8ц8 8у8ц- -у8ч8 8у8ч- -у8ш8 8у8ш- -у8щ8 8у8щ- -у8ь8 8у8ь- -у8ю8 8у8ю- -у8я8 8у8я- -у8’8 8у8’- -ф8а8 8ф8а- -ф8б8 8ф8б- -ф8в8 8ф8в- -ф8г8 8ф8г- -ф8ґ8 8ф8ґ- -ф8д8 8ф8д- -ф8е8 8ф8е- -ф8є8 8ф8є- -ф8ж8 8ф8ж- -ф8з8 8ф8з- -ф8и8 8ф8и- -ф8і8 8ф8і- -ф8ї8 8ф8ї- -ф8й8 8ф8й- -ф8к8 8ф8к- -ф8л8 8ф8л- -ф8м8 8ф8м- -ф8н8 8ф8н- -ф8о8 8ф8о- -ф8п8 8ф8п- -ф8р8 8ф8р- -ф8с8 8ф8с- -ф8т8 8ф8т- -ф8у8 8ф8у- -ф8ф8 8ф8ф- -ф8х8 8ф8х- -ф8ц8 8ф8ц- -ф8ч8 8ф8ч- -ф8ш8 8ф8ш- -ф8щ8 8ф8щ- -ф8ь8 8ф8ь- -ф8ю8 8ф8ю- -ф8я8 8ф8я- -ф8’8 8ф8’- -х8а8 8х8а- -х8б8 8х8б- -х8в8 8х8в- -х8г8 8х8г- -х8ґ8 8х8ґ- -х8д8 8х8д- -х8е8 8х8е- -х8є8 8х8є- -х8ж8 8х8ж- -х8з8 8х8з- -х8и8 8х8и- -х8і8 8х8і- -х8ї8 8х8ї- -х8й8 8х8й- -х8к8 8х8к- -х8л8 8х8л- -х8м8 8х8м- -х8н8 8х8н- -х8о8 8х8о- -х8п8 8х8п- -х8р8 8х8р- -х8с8 8х8с- -х8т8 8х8т- -х8у8 8х8у- -х8ф8 8х8ф- -х8х8 8х8х- -х8ц8 8х8ц- -х8ч8 8х8ч- -х8ш8 8х8ш- -х8щ8 8х8щ- -х8ь8 8х8ь- -х8ю8 8х8ю- -х8я8 8х8я- -х8’8 8х8’- -ц8а8 8ц8а- -ц8б8 8ц8б- -ц8в8 8ц8в- -ц8г8 8ц8г- -ц8ґ8 8ц8ґ- -ц8д8 8ц8д- -ц8е8 8ц8е- -ц8є8 8ц8є- -ц8ж8 8ц8ж- -ц8з8 8ц8з- -ц8и8 8ц8и- -ц8і8 8ц8і- -ц8ї8 8ц8ї- -ц8й8 8ц8й- -ц8к8 8ц8к- -ц8л8 8ц8л- -ц8м8 8ц8м- -ц8н8 8ц8н- -ц8о8 8ц8о- -ц8п8 8ц8п- -ц8р8 8ц8р- -ц8с8 8ц8с- -ц8т8 8ц8т- -ц8у8 8ц8у- -ц8ф8 8ц8ф- -ц8х8 8ц8х- -ц8ц8 8ц8ц- -ц8ч8 8ц8ч- -ц8ш8 8ц8ш- -ц8щ8 8ц8щ- -ц8ь8 8ц8ь- -ц8ю8 8ц8ю- -ц8я8 8ц8я- -ц8’8 8ц8’- -ч8а8 8ч8а- -ч8б8 8ч8б- -ч8в8 8ч8в- -ч8г8 8ч8г- -ч8ґ8 8ч8ґ- -ч8д8 8ч8д- -ч8е8 8ч8е- -ч8є8 8ч8є- -ч8ж8 8ч8ж- -ч8з8 8ч8з- -ч8и8 8ч8и- -ч8і8 8ч8і- -ч8ї8 8ч8ї- -ч8й8 8ч8й- -ч8к8 8ч8к- -ч8л8 8ч8л- -ч8м8 8ч8м- -ч8н8 8ч8н- -ч8о8 8ч8о- -ч8п8 8ч8п- -ч8р8 8ч8р- -ч8с8 8ч8с- -ч8т8 8ч8т- -ч8у8 8ч8у- -ч8ф8 8ч8ф- -ч8х8 8ч8х- -ч8ц8 8ч8ц- -ч8ч8 8ч8ч- -ч8ш8 8ч8ш- -ч8щ8 8ч8щ- -ч8ь8 8ч8ь- -ч8ю8 8ч8ю- -ч8я8 8ч8я- -ч8’8 8ч8’- -ш8а8 8ш8а- -ш8б8 8ш8б- -ш8в8 8ш8в- -ш8г8 8ш8г- -ш8ґ8 8ш8ґ- -ш8д8 8ш8д- -ш8е8 8ш8е- -ш8є8 8ш8є- -ш8ж8 8ш8ж- -ш8з8 8ш8з- -ш8и8 8ш8и- -ш8і8 8ш8і- -ш8ї8 8ш8ї- -ш8й8 8ш8й- -ш8к8 8ш8к- -ш8л8 8ш8л- -ш8м8 8ш8м- -ш8н8 8ш8н- -ш8о8 8ш8о- -ш8п8 8ш8п- -ш8р8 8ш8р- -ш8с8 8ш8с- -ш8т8 8ш8т- -ш8у8 8ш8у- -ш8ф8 8ш8ф- -ш8х8 8ш8х- -ш8ц8 8ш8ц- -ш8ч8 8ш8ч- -ш8ш8 8ш8ш- -ш8щ8 8ш8щ- -ш8ь8 8ш8ь- -ш8ю8 8ш8ю- -ш8я8 8ш8я- -ш8’8 8ш8’- -щ8а8 8щ8а- -щ8б8 8щ8б- -щ8в8 8щ8в- -щ8г8 8щ8г- -щ8ґ8 8щ8ґ- -щ8д8 8щ8д- -щ8е8 8щ8е- -щ8є8 8щ8є- -щ8ж8 8щ8ж- -щ8з8 8щ8з- -щ8и8 8щ8и- -щ8і8 8щ8і- -щ8ї8 8щ8ї- -щ8й8 8щ8й- -щ8к8 8щ8к- -щ8л8 8щ8л- -щ8м8 8щ8м- -щ8н8 8щ8н- -щ8о8 8щ8о- -щ8п8 8щ8п- -щ8р8 8щ8р- -щ8с8 8щ8с- -щ8т8 8щ8т- -щ8у8 8щ8у- -щ8ф8 8щ8ф- -щ8х8 8щ8х- -щ8ц8 8щ8ц- -щ8ч8 8щ8ч- -щ8ш8 8щ8ш- -щ8щ8 8щ8щ- -щ8ь8 8щ8ь- -щ8ю8 8щ8ю- -щ8я8 8щ8я- -щ8’8 8щ8’- -ь8а8 8ь8а- -ь8б8 8ь8б- -ь8в8 8ь8в- -ь8г8 8ь8г- -ь8ґ8 8ь8ґ- -ь8д8 8ь8д- -ь8е8 8ь8е- -ь8є8 8ь8є- -ь8ж8 8ь8ж- -ь8з8 8ь8з- -ь8и8 8ь8и- -ь8і8 8ь8і- -ь8ї8 8ь8ї- -ь8й8 8ь8й- -ь8к8 8ь8к- -ь8л8 8ь8л- -ь8м8 8ь8м- -ь8н8 8ь8н- -ь8о8 8ь8о- -ь8п8 8ь8п- -ь8р8 8ь8р- -ь8с8 8ь8с- -ь8т8 8ь8т- -ь8у8 8ь8у- -ь8ф8 8ь8ф- -ь8х8 8ь8х- -ь8ц8 8ь8ц- -ь8ч8 8ь8ч- -ь8ш8 8ь8ш- -ь8щ8 8ь8щ- -ь8ь8 8ь8ь- -ь8ю8 8ь8ю- -ь8я8 8ь8я- -ь8’8 8ь8’- -ю8а8 8ю8а- -ю8б8 8ю8б- -ю8в8 8ю8в- -ю8г8 8ю8г- -ю8ґ8 8ю8ґ- -ю8д8 8ю8д- -ю8е8 8ю8е- -ю8є8 8ю8є- -ю8ж8 8ю8ж- -ю8з8 8ю8з- -ю8и8 8ю8и- -ю8і8 8ю8і- -ю8ї8 8ю8ї- -ю8й8 8ю8й- -ю8к8 8ю8к- -ю8л8 8ю8л- -ю8м8 8ю8м- -ю8н8 8ю8н- -ю8о8 8ю8о- -ю8п8 8ю8п- -ю8р8 8ю8р- -ю8с8 8ю8с- -ю8т8 8ю8т- -ю8у8 8ю8у- -ю8ф8 8ю8ф- -ю8х8 8ю8х- -ю8ц8 8ю8ц- -ю8ч8 8ю8ч- -ю8ш8 8ю8ш- -ю8щ8 8ю8щ- -ю8ь8 8ю8ь- -ю8ю8 8ю8ю- -ю8я8 8ю8я- -ю8’8 8ю8’- -я8а8 8я8а- -я8б8 8я8б- -я8в8 8я8в- -я8г8 8я8г- -я8ґ8 8я8ґ- -я8д8 8я8д- -я8е8 8я8е- -я8є8 8я8є- -я8ж8 8я8ж- -я8з8 8я8з- -я8и8 8я8и- -я8і8 8я8і- -я8ї8 8я8ї- -я8й8 8я8й- -я8к8 8я8к- -я8л8 8я8л- -я8м8 8я8м- -я8н8 8я8н- -я8о8 8я8о- -я8п8 8я8п- -я8р8 8я8р- -я8с8 8я8с- -я8т8 8я8т- -я8у8 8я8у- -я8ф8 8я8ф- -я8х8 8я8х- -я8ц8 8я8ц- -я8ч8 8я8ч- -я8ш8 8я8ш- -я8щ8 8я8щ- -я8ь8 8я8ь- -я8ю8 8я8ю- -я8я8 8я8я- -я8’8 8я8’- -’8а8 8’8а- -’8б8 8’8б- -’8в8 8’8в- -’8г8 8’8г- -’8ґ8 8’8ґ- -’8д8 8’8д- -’8е8 8’8е- -’8є8 8’8є- -’8ж8 8’8ж- -’8з8 8’8з- -’8и8 8’8и- -’8і8 8’8і- -’8ї8 8’8ї- -’8й8 8’8й- -’8к8 8’8к- -’8л8 8’8л- -’8м8 8’8м- -’8н8 8’8н- -’8о8 8’8о- -’8п8 8’8п- -’8р8 8’8р- -’8с8 8’8с- -’8т8 8’8т- -’8у8 8’8у- -’8ф8 8’8ф- -’8х8 8’8х- -’8ц8 8’8ц- -’8ч8 8’8ч- -’8ш8 8’8ш- -’8щ8 8’8щ- -’8ь8 8’8ь- -’8ю8 8’8ю- -’8я8 8’8я- -’8’8 8’8’-",
["minhyphenmax"]=1,
["minhyphenmin"]=1,
- ["n"]=1898,
+ ["n"]=4338,
},
["version"]="1.001",
} \ No newline at end of file
diff --git a/tex/context/patterns/lang-uk.pat b/tex/context/patterns/lang-uk.pat
index 2a876540e..eed486f60 100644
--- a/tex/context/patterns/lang-uk.pat
+++ b/tex/context/patterns/lang-uk.pat
@@ -2,7 +2,7 @@
% for comment and copyright, see e:/tmp/patterns/lang-uk.rme
-% used: а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ь ю я є і ї ґ
+% used: - а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ь ю я є і ї ґ ’
\patterns{
2а1
@@ -123,6 +123,7 @@
2в1ш
2в1щ
2в1й
+2в'3
2г1к
2г1п
2г1с
@@ -201,6 +202,7 @@
2м1ч
2м1ш
2м1щ
+2м'3
2н1б
2н1в
2н1г
@@ -220,6 +222,7 @@
2н1ч
2н1ш
2н1щ
+2н'3
2п1б
2п1д
2п1з
@@ -244,6 +247,7 @@
2р1ш
2р1щ
2р1й
+2р'3
2с1б
2с1г
2с1д
@@ -413,10 +417,24 @@
ї2й
3й6о
ь6о
+6'
+.б'8
+.в'8
+.д'8
+.з'8
+.м'8
+.н'8
+.п'8
+.р'8
+.т'8
+.ф'8
+.ш'8
.бд6
.бр6
.вб6
+.вб6'6
+.вв6'6
.вг6
.вд6
.вж6
@@ -425,7 +443,9 @@
.вк6
.вл6
.вм6
+.вм6'6
.вп6
+.вп6'6
.вп6х6
.вс6
.вс6т6
@@ -436,10 +456,12 @@
.дл6
.дс6
.зб6
+.зв6'6
.зг6
.зд6
.зд6з6
.зл6
+.зм6'6
.зс6
.зс6к6
.зс6т6
@@ -467,6 +489,7 @@
.ск6л6
.сл6
.сп6
+.сп6'6
.сп6л6
.сп6х6
.ст6
@@ -826,6 +849,7 @@
6шт.
6ш6тв.
6щ6сь.
+.бе4з'3
.бе4з3
.безу4
.бе5з4о3д
@@ -841,11 +865,13 @@
.ві5д4ер
.ві5д4і
.ві4д3
+.від'3
.мі4ж3
безві4д3
ові4д3
ді4єві4д3
за4вві4д3
+неві4д'3
неві4д3
про4ф3ві4д3
спе4ц3ві4д3
@@ -865,6 +891,7 @@
.пере4д3усі
.пере4д3фр
.пере4д3ч
+.пере4д'3
.пере3
.пона4д3
.пона5д4і
@@ -877,6 +904,7 @@
3п4рі
.пі5д4о
.пі5д4і
+.під'3
.пі4д3
.пі5д4е
.пі5д4и
@@ -888,18 +916,61 @@
.ро5з4е
ро5з4йом
.ро5з4а
+.ро4з'3
.ро4з3
+.чере4з'3
.чере4з3
оо4б
+ооб'3
ооб3м
ооб3ро
+об'3
+од'3
+на4д'3
за5о4р
до5о4р
по5о4р
пере5о4р
пі6д5о4р
бе4з5і4дей
+до3в'4є
+за3в'4є
+зі3в'4є
+обі3в'4є
+по3в'4є
+уі3в'4є
+з3в'4я
+по3в'4я
+від3в'4я
+за3в'4я
+зі3в'4я
за3ю4ш
+на3в'4я
+непо3в'4я
+об3в'4я
+при3в'4я
+під3в'4я
+у3в'4я
+з3м'4я
+зі3м'4я
+у3м'4я
+в3м'4я
+но3м'4я
+за3м'4я
+на3м'4я
+об3м'4я
+пере3м'4я
+по3м'4я
+при3м'4я
+піді3м'4я
+су3м'4я
+до3в'4ю
+за3в'4ю
+зі3в'4ю
+на3в'4ю
+по3в'4ю
+уі3в'4ю
+інтер3в'4ю
за3я4ло
коу4роч
зу4роч
@@ -921,6 +992,7 @@
3з4б4рой
3з4б4рою
3з4б4роє
+3з4в4'яз
3й4ш4л
3м4к4не
3м4к4ну
@@ -1207,6 +1279,8 @@
3е4стакад
3е4стет
3е4тап
+3о4б'єдн
+3о4б'єкт
3о4береж
3о4бира
3о4борон
@@ -1278,6 +1352,14 @@
.заї4ц
.заї4ч
.наї4д
+'ї4в
+'ї4з
+'ї4д
+'ї4ж
+'ї4л
+'ї4м
+'ї4с
+'ї4х
аві4а
авої4д
ае4тил
@@ -1291,6 +1373,7 @@
.бе5зе.
бей4сбол
бе5кон
+б'4єть
бйор4нс
бі4о3
бо4г3дан
@@ -1322,6 +1405,7 @@
водо5з4бір
воль4т3метр
воль4т3ампер
+3в'4яз
ге2ть3ман
ге4о
го4с4п5роз
@@ -1399,6 +1483,7 @@
заї4м
заї4х
зе4кономити
+3з'4ясо
зна3й4д
зна3й4т
зо4ка
@@ -1425,6 +1510,8 @@
мі4н5е4ко
мі4н5е4нер
мо4к5рий
+3м'4якш
+3м'4ят
на3б4лиз
на3в4ряд
на3в4ча
@@ -1551,6 +1638,8 @@
ро4з5гор
ро4з5вер
ро4з5чеп
+ро4з'5єдн
+з'4єдн
руко5с4тиск
ро5з4ум
ро4з3гром
@@ -1596,6 +1685,7 @@
пере3у4ч
само3у4ч
вия4в
+з'я4в
зая4в
ная4в
уя4в
@@ -1634,6 +1724,7 @@
нея4сн
поя4сн
проя4сн
+роз'я4сн
ро5з4ора.
ро5з4о5рам
ро5з4орах
@@ -1685,6 +1776,7 @@
ао4щад
оо4чищ
поя4с
+роз'я4р
те4одоліт
те4олог
те4ософ
@@ -1902,4 +1994,2352 @@
перед3о4пла
виу4ди
о3в4каз
-е3в4каз} \ No newline at end of file
+е3в4каз
+8-7
+--8
+.а-8
+.б-8
+.в-8
+.г-8
+.ґ-8
+.д-8
+.е-8
+.є-8
+.ж-8
+.з-8
+.и-8
+.і-8
+.ї-8
+.й-8
+.к-8
+.л-8
+.м-8
+.н-8
+.о-8
+.п-8
+.р-8
+.с-8
+.т-8
+.у-8
+.ф-8
+.х-8
+.ц-8
+.ч-8
+.ш-8
+.щ-8
+.ь-8
+.ю-8
+.я-8
+.'-8
+-а8а8
+8а8а-
+-а8б8
+8а8б-
+-а8в8
+8а8в-
+-а8г8
+8а8г-
+-а8ґ8
+8а8ґ-
+-а8д8
+8а8д-
+-а8е8
+8а8е-
+-а8є8
+8а8є-
+-а8ж8
+8а8ж-
+-а8з8
+8а8з-
+-а8и8
+8а8и-
+-а8і8
+8а8і-
+-а8ї8
+8а8ї-
+-а8й8
+8а8й-
+-а8к8
+8а8к-
+-а8л8
+8а8л-
+-а8м8
+8а8м-
+-а8н8
+8а8н-
+-а8о8
+8а8о-
+-а8п8
+8а8п-
+-а8р8
+8а8р-
+-а8с8
+8а8с-
+-а8т8
+8а8т-
+-а8у8
+8а8у-
+-а8ф8
+8а8ф-
+-а8х8
+8а8х-
+-а8ц8
+8а8ц-
+-а8ч8
+8а8ч-
+-а8ш8
+8а8ш-
+-а8щ8
+8а8щ-
+-а8ь8
+8а8ь-
+-а8ю8
+8а8ю-
+-а8я8
+8а8я-
+-а8'8
+8а8'-
+-б8а8
+8б8а-
+-б8б8
+8б8б-
+-б8в8
+8б8в-
+-б8г8
+8б8г-
+-б8ґ8
+8б8ґ-
+-б8д8
+8б8д-
+-б8е8
+8б8е-
+-б8є8
+8б8є-
+-б8ж8
+8б8ж-
+-б8з8
+8б8з-
+-б8и8
+8б8и-
+-б8і8
+8б8і-
+-б8ї8
+8б8ї-
+-б8й8
+8б8й-
+-б8к8
+8б8к-
+-б8л8
+8б8л-
+-б8м8
+8б8м-
+-б8н8
+8б8н-
+-б8о8
+8б8о-
+-б8п8
+8б8п-
+-б8р8
+8б8р-
+-б8с8
+8б8с-
+-б8т8
+8б8т-
+-б8у8
+8б8у-
+-б8ф8
+8б8ф-
+-б8х8
+8б8х-
+-б8ц8
+8б8ц-
+-б8ч8
+8б8ч-
+-б8ш8
+8б8ш-
+-б8щ8
+8б8щ-
+-б8ь8
+8б8ь-
+-б8ю8
+8б8ю-
+-б8я8
+8б8я-
+-б8'8
+8б8'-
+-в8а8
+8в8а-
+-в8б8
+8в8б-
+-в8в8
+8в8в-
+-в8г8
+8в8г-
+-в8ґ8
+8в8ґ-
+-в8д8
+8в8д-
+-в8е8
+8в8е-
+-в8є8
+8в8є-
+-в8ж8
+8в8ж-
+-в8з8
+8в8з-
+-в8и8
+8в8и-
+-в8і8
+8в8і-
+-в8ї8
+8в8ї-
+-в8й8
+8в8й-
+-в8к8
+8в8к-
+-в8л8
+8в8л-
+-в8м8
+8в8м-
+-в8н8
+8в8н-
+-в8о8
+8в8о-
+-в8п8
+8в8п-
+-в8р8
+8в8р-
+-в8с8
+8в8с-
+-в8т8
+8в8т-
+-в8у8
+8в8у-
+-в8ф8
+8в8ф-
+-в8х8
+8в8х-
+-в8ц8
+8в8ц-
+-в8ч8
+8в8ч-
+-в8ш8
+8в8ш-
+-в8щ8
+8в8щ-
+-в8ь8
+8в8ь-
+-в8ю8
+8в8ю-
+-в8я8
+8в8я-
+-в8'8
+8в8'-
+-г8а8
+8г8а-
+-г8б8
+8г8б-
+-г8в8
+8г8в-
+-г8г8
+8г8г-
+-г8ґ8
+8г8ґ-
+-г8д8
+8г8д-
+-г8е8
+8г8е-
+-г8є8
+8г8є-
+-г8ж8
+8г8ж-
+-г8з8
+8г8з-
+-г8и8
+8г8и-
+-г8і8
+8г8і-
+-г8ї8
+8г8ї-
+-г8й8
+8г8й-
+-г8к8
+8г8к-
+-г8л8
+8г8л-
+-г8м8
+8г8м-
+-г8н8
+8г8н-
+-г8о8
+8г8о-
+-г8п8
+8г8п-
+-г8р8
+8г8р-
+-г8с8
+8г8с-
+-г8т8
+8г8т-
+-г8у8
+8г8у-
+-г8ф8
+8г8ф-
+-г8х8
+8г8х-
+-г8ц8
+8г8ц-
+-г8ч8
+8г8ч-
+-г8ш8
+8г8ш-
+-г8щ8
+8г8щ-
+-г8ь8
+8г8ь-
+-г8ю8
+8г8ю-
+-г8я8
+8г8я-
+-г8'8
+8г8'-
+-ґ8а8
+8ґ8а-
+-ґ8б8
+8ґ8б-
+-ґ8в8
+8ґ8в-
+-ґ8г8
+8ґ8г-
+-ґ8ґ8
+8ґ8ґ-
+-ґ8д8
+8ґ8д-
+-ґ8е8
+8ґ8е-
+-ґ8є8
+8ґ8є-
+-ґ8ж8
+8ґ8ж-
+-ґ8з8
+8ґ8з-
+-ґ8и8
+8ґ8и-
+-ґ8і8
+8ґ8і-
+-ґ8ї8
+8ґ8ї-
+-ґ8й8
+8ґ8й-
+-ґ8к8
+8ґ8к-
+-ґ8л8
+8ґ8л-
+-ґ8м8
+8ґ8м-
+-ґ8н8
+8ґ8н-
+-ґ8о8
+8ґ8о-
+-ґ8п8
+8ґ8п-
+-ґ8р8
+8ґ8р-
+-ґ8с8
+8ґ8с-
+-ґ8т8
+8ґ8т-
+-ґ8у8
+8ґ8у-
+-ґ8ф8
+8ґ8ф-
+-ґ8х8
+8ґ8х-
+-ґ8ц8
+8ґ8ц-
+-ґ8ч8
+8ґ8ч-
+-ґ8ш8
+8ґ8ш-
+-ґ8щ8
+8ґ8щ-
+-ґ8ь8
+8ґ8ь-
+-ґ8ю8
+8ґ8ю-
+-ґ8я8
+8ґ8я-
+-ґ8'8
+8ґ8'-
+-д8а8
+8д8а-
+-д8б8
+8д8б-
+-д8в8
+8д8в-
+-д8г8
+8д8г-
+-д8ґ8
+8д8ґ-
+-д8д8
+8д8д-
+-д8е8
+8д8е-
+-д8є8
+8д8є-
+-д8ж8
+8д8ж-
+-д8з8
+8д8з-
+-д8и8
+8д8и-
+-д8і8
+8д8і-
+-д8ї8
+8д8ї-
+-д8й8
+8д8й-
+-д8к8
+8д8к-
+-д8л8
+8д8л-
+-д8м8
+8д8м-
+-д8н8
+8д8н-
+-д8о8
+8д8о-
+-д8п8
+8д8п-
+-д8р8
+8д8р-
+-д8с8
+8д8с-
+-д8т8
+8д8т-
+-д8у8
+8д8у-
+-д8ф8
+8д8ф-
+-д8х8
+8д8х-
+-д8ц8
+8д8ц-
+-д8ч8
+8д8ч-
+-д8ш8
+8д8ш-
+-д8щ8
+8д8щ-
+-д8ь8
+8д8ь-
+-д8ю8
+8д8ю-
+-д8я8
+8д8я-
+-д8'8
+8д8'-
+-е8а8
+8е8а-
+-е8б8
+8е8б-
+-е8в8
+8е8в-
+-е8г8
+8е8г-
+-е8ґ8
+8е8ґ-
+-е8д8
+8е8д-
+-е8е8
+8е8е-
+-е8є8
+8е8є-
+-е8ж8
+8е8ж-
+-е8з8
+8е8з-
+-е8и8
+8е8и-
+-е8і8
+8е8і-
+-е8ї8
+8е8ї-
+-е8й8
+8е8й-
+-е8к8
+8е8к-
+-е8л8
+8е8л-
+-е8м8
+8е8м-
+-е8н8
+8е8н-
+-е8о8
+8е8о-
+-е8п8
+8е8п-
+-е8р8
+8е8р-
+-е8с8
+8е8с-
+-е8т8
+8е8т-
+-е8у8
+8е8у-
+-е8ф8
+8е8ф-
+-е8х8
+8е8х-
+-е8ц8
+8е8ц-
+-е8ч8
+8е8ч-
+-е8ш8
+8е8ш-
+-е8щ8
+8е8щ-
+-е8ь8
+8е8ь-
+-е8ю8
+8е8ю-
+-е8я8
+8е8я-
+-е8'8
+8е8'-
+-є8а8
+8є8а-
+-є8б8
+8є8б-
+-є8в8
+8є8в-
+-є8г8
+8є8г-
+-є8ґ8
+8є8ґ-
+-є8д8
+8є8д-
+-є8е8
+8є8е-
+-є8є8
+8є8є-
+-є8ж8
+8є8ж-
+-є8з8
+8є8з-
+-є8и8
+8є8и-
+-є8і8
+8є8і-
+-є8ї8
+8є8ї-
+-є8й8
+8є8й-
+-є8к8
+8є8к-
+-є8л8
+8є8л-
+-є8м8
+8є8м-
+-є8н8
+8є8н-
+-є8о8
+8є8о-
+-є8п8
+8є8п-
+-є8р8
+8є8р-
+-є8с8
+8є8с-
+-є8т8
+8є8т-
+-є8у8
+8є8у-
+-є8ф8
+8є8ф-
+-є8х8
+8є8х-
+-є8ц8
+8є8ц-
+-є8ч8
+8є8ч-
+-є8ш8
+8є8ш-
+-є8щ8
+8є8щ-
+-є8ь8
+8є8ь-
+-є8ю8
+8є8ю-
+-є8я8
+8є8я-
+-є8'8
+8є8'-
+-ж8а8
+8ж8а-
+-ж8б8
+8ж8б-
+-ж8в8
+8ж8в-
+-ж8г8
+8ж8г-
+-ж8ґ8
+8ж8ґ-
+-ж8д8
+8ж8д-
+-ж8е8
+8ж8е-
+-ж8є8
+8ж8є-
+-ж8ж8
+8ж8ж-
+-ж8з8
+8ж8з-
+-ж8и8
+8ж8и-
+-ж8і8
+8ж8і-
+-ж8ї8
+8ж8ї-
+-ж8й8
+8ж8й-
+-ж8к8
+8ж8к-
+-ж8л8
+8ж8л-
+-ж8м8
+8ж8м-
+-ж8н8
+8ж8н-
+-ж8о8
+8ж8о-
+-ж8п8
+8ж8п-
+-ж8р8
+8ж8р-
+-ж8с8
+8ж8с-
+-ж8т8
+8ж8т-
+-ж8у8
+8ж8у-
+-ж8ф8
+8ж8ф-
+-ж8х8
+8ж8х-
+-ж8ц8
+8ж8ц-
+-ж8ч8
+8ж8ч-
+-ж8ш8
+8ж8ш-
+-ж8щ8
+8ж8щ-
+-ж8ь8
+8ж8ь-
+-ж8ю8
+8ж8ю-
+-ж8я8
+8ж8я-
+-ж8'8
+8ж8'-
+-з8а8
+8з8а-
+-з8б8
+8з8б-
+-з8в8
+8з8в-
+-з8г8
+8з8г-
+-з8ґ8
+8з8ґ-
+-з8д8
+8з8д-
+-з8е8
+8з8е-
+-з8є8
+8з8є-
+-з8ж8
+8з8ж-
+-з8з8
+8з8з-
+-з8и8
+8з8и-
+-з8і8
+8з8і-
+-з8ї8
+8з8ї-
+-з8й8
+8з8й-
+-з8к8
+8з8к-
+-з8л8
+8з8л-
+-з8м8
+8з8м-
+-з8н8
+8з8н-
+-з8о8
+8з8о-
+-з8п8
+8з8п-
+-з8р8
+8з8р-
+-з8с8
+8з8с-
+-з8т8
+8з8т-
+-з8у8
+8з8у-
+-з8ф8
+8з8ф-
+-з8х8
+8з8х-
+-з8ц8
+8з8ц-
+-з8ч8
+8з8ч-
+-з8ш8
+8з8ш-
+-з8щ8
+8з8щ-
+-з8ь8
+8з8ь-
+-з8ю8
+8з8ю-
+-з8я8
+8з8я-
+-з8'8
+8з8'-
+-и8а8
+8и8а-
+-и8б8
+8и8б-
+-и8в8
+8и8в-
+-и8г8
+8и8г-
+-и8ґ8
+8и8ґ-
+-и8д8
+8и8д-
+-и8е8
+8и8е-
+-и8є8
+8и8є-
+-и8ж8
+8и8ж-
+-и8з8
+8и8з-
+-и8и8
+8и8и-
+-и8і8
+8и8і-
+-и8ї8
+8и8ї-
+-и8й8
+8и8й-
+-и8к8
+8и8к-
+-и8л8
+8и8л-
+-и8м8
+8и8м-
+-и8н8
+8и8н-
+-и8о8
+8и8о-
+-и8п8
+8и8п-
+-и8р8
+8и8р-
+-и8с8
+8и8с-
+-и8т8
+8и8т-
+-и8у8
+8и8у-
+-и8ф8
+8и8ф-
+-и8х8
+8и8х-
+-и8ц8
+8и8ц-
+-и8ч8
+8и8ч-
+-и8ш8
+8и8ш-
+-и8щ8
+8и8щ-
+-и8ь8
+8и8ь-
+-и8ю8
+8и8ю-
+-и8я8
+8и8я-
+-и8'8
+8и8'-
+-і8а8
+8і8а-
+-і8б8
+8і8б-
+-і8в8
+8і8в-
+-і8г8
+8і8г-
+-і8ґ8
+8і8ґ-
+-і8д8
+8і8д-
+-і8е8
+8і8е-
+-і8є8
+8і8є-
+-і8ж8
+8і8ж-
+-і8з8
+8і8з-
+-і8и8
+8і8и-
+-і8і8
+8і8і-
+-і8ї8
+8і8ї-
+-і8й8
+8і8й-
+-і8к8
+8і8к-
+-і8л8
+8і8л-
+-і8м8
+8і8м-
+-і8н8
+8і8н-
+-і8о8
+8і8о-
+-і8п8
+8і8п-
+-і8р8
+8і8р-
+-і8с8
+8і8с-
+-і8т8
+8і8т-
+-і8у8
+8і8у-
+-і8ф8
+8і8ф-
+-і8х8
+8і8х-
+-і8ц8
+8і8ц-
+-і8ч8
+8і8ч-
+-і8ш8
+8і8ш-
+-і8щ8
+8і8щ-
+-і8ь8
+8і8ь-
+-і8ю8
+8і8ю-
+-і8я8
+8і8я-
+-і8'8
+8і8'-
+-ї8а8
+8ї8а-
+-ї8б8
+8ї8б-
+-ї8в8
+8ї8в-
+-ї8г8
+8ї8г-
+-ї8ґ8
+8ї8ґ-
+-ї8д8
+8ї8д-
+-ї8е8
+8ї8е-
+-ї8є8
+8ї8є-
+-ї8ж8
+8ї8ж-
+-ї8з8
+8ї8з-
+-ї8и8
+8ї8и-
+-ї8і8
+8ї8і-
+-ї8ї8
+8ї8ї-
+-ї8й8
+8ї8й-
+-ї8к8
+8ї8к-
+-ї8л8
+8ї8л-
+-ї8м8
+8ї8м-
+-ї8н8
+8ї8н-
+-ї8о8
+8ї8о-
+-ї8п8
+8ї8п-
+-ї8р8
+8ї8р-
+-ї8с8
+8ї8с-
+-ї8т8
+8ї8т-
+-ї8у8
+8ї8у-
+-ї8ф8
+8ї8ф-
+-ї8х8
+8ї8х-
+-ї8ц8
+8ї8ц-
+-ї8ч8
+8ї8ч-
+-ї8ш8
+8ї8ш-
+-ї8щ8
+8ї8щ-
+-ї8ь8
+8ї8ь-
+-ї8ю8
+8ї8ю-
+-ї8я8
+8ї8я-
+-ї8'8
+8ї8'-
+-й8а8
+8й8а-
+-й8б8
+8й8б-
+-й8в8
+8й8в-
+-й8г8
+8й8г-
+-й8ґ8
+8й8ґ-
+-й8д8
+8й8д-
+-й8е8
+8й8е-
+-й8є8
+8й8є-
+-й8ж8
+8й8ж-
+-й8з8
+8й8з-
+-й8и8
+8й8и-
+-й8і8
+8й8і-
+-й8ї8
+8й8ї-
+-й8й8
+8й8й-
+-й8к8
+8й8к-
+-й8л8
+8й8л-
+-й8м8
+8й8м-
+-й8н8
+8й8н-
+-й8о8
+8й8о-
+-й8п8
+8й8п-
+-й8р8
+8й8р-
+-й8с8
+8й8с-
+-й8т8
+8й8т-
+-й8у8
+8й8у-
+-й8ф8
+8й8ф-
+-й8х8
+8й8х-
+-й8ц8
+8й8ц-
+-й8ч8
+8й8ч-
+-й8ш8
+8й8ш-
+-й8щ8
+8й8щ-
+-й8ь8
+8й8ь-
+-й8ю8
+8й8ю-
+-й8я8
+8й8я-
+-й8'8
+8й8'-
+-к8а8
+8к8а-
+-к8б8
+8к8б-
+-к8в8
+8к8в-
+-к8г8
+8к8г-
+-к8ґ8
+8к8ґ-
+-к8д8
+8к8д-
+-к8е8
+8к8е-
+-к8є8
+8к8є-
+-к8ж8
+8к8ж-
+-к8з8
+8к8з-
+-к8и8
+8к8и-
+-к8і8
+8к8і-
+-к8ї8
+8к8ї-
+-к8й8
+8к8й-
+-к8к8
+8к8к-
+-к8л8
+8к8л-
+-к8м8
+8к8м-
+-к8н8
+8к8н-
+-к8о8
+8к8о-
+-к8п8
+8к8п-
+-к8р8
+8к8р-
+-к8с8
+8к8с-
+-к8т8
+8к8т-
+-к8у8
+8к8у-
+-к8ф8
+8к8ф-
+-к8х8
+8к8х-
+-к8ц8
+8к8ц-
+-к8ч8
+8к8ч-
+-к8ш8
+8к8ш-
+-к8щ8
+8к8щ-
+-к8ь8
+8к8ь-
+-к8ю8
+8к8ю-
+-к8я8
+8к8я-
+-к8'8
+8к8'-
+-л8а8
+8л8а-
+-л8б8
+8л8б-
+-л8в8
+8л8в-
+-л8г8
+8л8г-
+-л8ґ8
+8л8ґ-
+-л8д8
+8л8д-
+-л8е8
+8л8е-
+-л8є8
+8л8є-
+-л8ж8
+8л8ж-
+-л8з8
+8л8з-
+-л8и8
+8л8и-
+-л8і8
+8л8і-
+-л8ї8
+8л8ї-
+-л8й8
+8л8й-
+-л8к8
+8л8к-
+-л8л8
+8л8л-
+-л8м8
+8л8м-
+-л8н8
+8л8н-
+-л8о8
+8л8о-
+-л8п8
+8л8п-
+-л8р8
+8л8р-
+-л8с8
+8л8с-
+-л8т8
+8л8т-
+-л8у8
+8л8у-
+-л8ф8
+8л8ф-
+-л8х8
+8л8х-
+-л8ц8
+8л8ц-
+-л8ч8
+8л8ч-
+-л8ш8
+8л8ш-
+-л8щ8
+8л8щ-
+-л8ь8
+8л8ь-
+-л8ю8
+8л8ю-
+-л8я8
+8л8я-
+-л8'8
+8л8'-
+-м8а8
+8м8а-
+-м8б8
+8м8б-
+-м8в8
+8м8в-
+-м8г8
+8м8г-
+-м8ґ8
+8м8ґ-
+-м8д8
+8м8д-
+-м8е8
+8м8е-
+-м8є8
+8м8є-
+-м8ж8
+8м8ж-
+-м8з8
+8м8з-
+-м8и8
+8м8и-
+-м8і8
+8м8і-
+-м8ї8
+8м8ї-
+-м8й8
+8м8й-
+-м8к8
+8м8к-
+-м8л8
+8м8л-
+-м8м8
+8м8м-
+-м8н8
+8м8н-
+-м8о8
+8м8о-
+-м8п8
+8м8п-
+-м8р8
+8м8р-
+-м8с8
+8м8с-
+-м8т8
+8м8т-
+-м8у8
+8м8у-
+-м8ф8
+8м8ф-
+-м8х8
+8м8х-
+-м8ц8
+8м8ц-
+-м8ч8
+8м8ч-
+-м8ш8
+8м8ш-
+-м8щ8
+8м8щ-
+-м8ь8
+8м8ь-
+-м8ю8
+8м8ю-
+-м8я8
+8м8я-
+-м8'8
+8м8'-
+-н8а8
+8н8а-
+-н8б8
+8н8б-
+-н8в8
+8н8в-
+-н8г8
+8н8г-
+-н8ґ8
+8н8ґ-
+-н8д8
+8н8д-
+-н8е8
+8н8е-
+-н8є8
+8н8є-
+-н8ж8
+8н8ж-
+-н8з8
+8н8з-
+-н8и8
+8н8и-
+-н8і8
+8н8і-
+-н8ї8
+8н8ї-
+-н8й8
+8н8й-
+-н8к8
+8н8к-
+-н8л8
+8н8л-
+-н8м8
+8н8м-
+-н8н8
+8н8н-
+-н8о8
+8н8о-
+-н8п8
+8н8п-
+-н8р8
+8н8р-
+-н8с8
+8н8с-
+-н8т8
+8н8т-
+-н8у8
+8н8у-
+-н8ф8
+8н8ф-
+-н8х8
+8н8х-
+-н8ц8
+8н8ц-
+-н8ч8
+8н8ч-
+-н8ш8
+8н8ш-
+-н8щ8
+8н8щ-
+-н8ь8
+8н8ь-
+-н8ю8
+8н8ю-
+-н8я8
+8н8я-
+-н8'8
+8н8'-
+-о8а8
+8о8а-
+-о8б8
+8о8б-
+-о8в8
+8о8в-
+-о8г8
+8о8г-
+-о8ґ8
+8о8ґ-
+-о8д8
+8о8д-
+-о8е8
+8о8е-
+-о8є8
+8о8є-
+-о8ж8
+8о8ж-
+-о8з8
+8о8з-
+-о8и8
+8о8и-
+-о8і8
+8о8і-
+-о8ї8
+8о8ї-
+-о8й8
+8о8й-
+-о8к8
+8о8к-
+-о8л8
+8о8л-
+-о8м8
+8о8м-
+-о8н8
+8о8н-
+-о8о8
+8о8о-
+-о8п8
+8о8п-
+-о8р8
+8о8р-
+-о8с8
+8о8с-
+-о8т8
+8о8т-
+-о8у8
+8о8у-
+-о8ф8
+8о8ф-
+-о8х8
+8о8х-
+-о8ц8
+8о8ц-
+-о8ч8
+8о8ч-
+-о8ш8
+8о8ш-
+-о8щ8
+8о8щ-
+-о8ь8
+8о8ь-
+-о8ю8
+8о8ю-
+-о8я8
+8о8я-
+-о8'8
+8о8'-
+-п8а8
+8п8а-
+-п8б8
+8п8б-
+-п8в8
+8п8в-
+-п8г8
+8п8г-
+-п8ґ8
+8п8ґ-
+-п8д8
+8п8д-
+-п8е8
+8п8е-
+-п8є8
+8п8є-
+-п8ж8
+8п8ж-
+-п8з8
+8п8з-
+-п8и8
+8п8и-
+-п8і8
+8п8і-
+-п8ї8
+8п8ї-
+-п8й8
+8п8й-
+-п8к8
+8п8к-
+-п8л8
+8п8л-
+-п8м8
+8п8м-
+-п8н8
+8п8н-
+-п8о8
+8п8о-
+-п8п8
+8п8п-
+-п8р8
+8п8р-
+-п8с8
+8п8с-
+-п8т8
+8п8т-
+-п8у8
+8п8у-
+-п8ф8
+8п8ф-
+-п8х8
+8п8х-
+-п8ц8
+8п8ц-
+-п8ч8
+8п8ч-
+-п8ш8
+8п8ш-
+-п8щ8
+8п8щ-
+-п8ь8
+8п8ь-
+-п8ю8
+8п8ю-
+-п8я8
+8п8я-
+-п8'8
+8п8'-
+-р8а8
+8р8а-
+-р8б8
+8р8б-
+-р8в8
+8р8в-
+-р8г8
+8р8г-
+-р8ґ8
+8р8ґ-
+-р8д8
+8р8д-
+-р8е8
+8р8е-
+-р8є8
+8р8є-
+-р8ж8
+8р8ж-
+-р8з8
+8р8з-
+-р8и8
+8р8и-
+-р8і8
+8р8і-
+-р8ї8
+8р8ї-
+-р8й8
+8р8й-
+-р8к8
+8р8к-
+-р8л8
+8р8л-
+-р8м8
+8р8м-
+-р8н8
+8р8н-
+-р8о8
+8р8о-
+-р8п8
+8р8п-
+-р8р8
+8р8р-
+-р8с8
+8р8с-
+-р8т8
+8р8т-
+-р8у8
+8р8у-
+-р8ф8
+8р8ф-
+-р8х8
+8р8х-
+-р8ц8
+8р8ц-
+-р8ч8
+8р8ч-
+-р8ш8
+8р8ш-
+-р8щ8
+8р8щ-
+-р8ь8
+8р8ь-
+-р8ю8
+8р8ю-
+-р8я8
+8р8я-
+-р8'8
+8р8'-
+-с8а8
+8с8а-
+-с8б8
+8с8б-
+-с8в8
+8с8в-
+-с8г8
+8с8г-
+-с8ґ8
+8с8ґ-
+-с8д8
+8с8д-
+-с8е8
+8с8е-
+-с8є8
+8с8є-
+-с8ж8
+8с8ж-
+-с8з8
+8с8з-
+-с8и8
+8с8и-
+-с8і8
+8с8і-
+-с8ї8
+8с8ї-
+-с8й8
+8с8й-
+-с8к8
+8с8к-
+-с8л8
+8с8л-
+-с8м8
+8с8м-
+-с8н8
+8с8н-
+-с8о8
+8с8о-
+-с8п8
+8с8п-
+-с8р8
+8с8р-
+-с8с8
+8с8с-
+-с8т8
+8с8т-
+-с8у8
+8с8у-
+-с8ф8
+8с8ф-
+-с8х8
+8с8х-
+-с8ц8
+8с8ц-
+-с8ч8
+8с8ч-
+-с8ш8
+8с8ш-
+-с8щ8
+8с8щ-
+-с8ь8
+8с8ь-
+-с8ю8
+8с8ю-
+-с8я8
+8с8я-
+-с8'8
+8с8'-
+-т8а8
+8т8а-
+-т8б8
+8т8б-
+-т8в8
+8т8в-
+-т8г8
+8т8г-
+-т8ґ8
+8т8ґ-
+-т8д8
+8т8д-
+-т8е8
+8т8е-
+-т8є8
+8т8є-
+-т8ж8
+8т8ж-
+-т8з8
+8т8з-
+-т8и8
+8т8и-
+-т8і8
+8т8і-
+-т8ї8
+8т8ї-
+-т8й8
+8т8й-
+-т8к8
+8т8к-
+-т8л8
+8т8л-
+-т8м8
+8т8м-
+-т8н8
+8т8н-
+-т8о8
+8т8о-
+-т8п8
+8т8п-
+-т8р8
+8т8р-
+-т8с8
+8т8с-
+-т8т8
+8т8т-
+-т8у8
+8т8у-
+-т8ф8
+8т8ф-
+-т8х8
+8т8х-
+-т8ц8
+8т8ц-
+-т8ч8
+8т8ч-
+-т8ш8
+8т8ш-
+-т8щ8
+8т8щ-
+-т8ь8
+8т8ь-
+-т8ю8
+8т8ю-
+-т8я8
+8т8я-
+-т8'8
+8т8'-
+-у8а8
+8у8а-
+-у8б8
+8у8б-
+-у8в8
+8у8в-
+-у8г8
+8у8г-
+-у8ґ8
+8у8ґ-
+-у8д8
+8у8д-
+-у8е8
+8у8е-
+-у8є8
+8у8є-
+-у8ж8
+8у8ж-
+-у8з8
+8у8з-
+-у8и8
+8у8и-
+-у8і8
+8у8і-
+-у8ї8
+8у8ї-
+-у8й8
+8у8й-
+-у8к8
+8у8к-
+-у8л8
+8у8л-
+-у8м8
+8у8м-
+-у8н8
+8у8н-
+-у8о8
+8у8о-
+-у8п8
+8у8п-
+-у8р8
+8у8р-
+-у8с8
+8у8с-
+-у8т8
+8у8т-
+-у8у8
+8у8у-
+-у8ф8
+8у8ф-
+-у8х8
+8у8х-
+-у8ц8
+8у8ц-
+-у8ч8
+8у8ч-
+-у8ш8
+8у8ш-
+-у8щ8
+8у8щ-
+-у8ь8
+8у8ь-
+-у8ю8
+8у8ю-
+-у8я8
+8у8я-
+-у8'8
+8у8'-
+-ф8а8
+8ф8а-
+-ф8б8
+8ф8б-
+-ф8в8
+8ф8в-
+-ф8г8
+8ф8г-
+-ф8ґ8
+8ф8ґ-
+-ф8д8
+8ф8д-
+-ф8е8
+8ф8е-
+-ф8є8
+8ф8є-
+-ф8ж8
+8ф8ж-
+-ф8з8
+8ф8з-
+-ф8и8
+8ф8и-
+-ф8і8
+8ф8і-
+-ф8ї8
+8ф8ї-
+-ф8й8
+8ф8й-
+-ф8к8
+8ф8к-
+-ф8л8
+8ф8л-
+-ф8м8
+8ф8м-
+-ф8н8
+8ф8н-
+-ф8о8
+8ф8о-
+-ф8п8
+8ф8п-
+-ф8р8
+8ф8р-
+-ф8с8
+8ф8с-
+-ф8т8
+8ф8т-
+-ф8у8
+8ф8у-
+-ф8ф8
+8ф8ф-
+-ф8х8
+8ф8х-
+-ф8ц8
+8ф8ц-
+-ф8ч8
+8ф8ч-
+-ф8ш8
+8ф8ш-
+-ф8щ8
+8ф8щ-
+-ф8ь8
+8ф8ь-
+-ф8ю8
+8ф8ю-
+-ф8я8
+8ф8я-
+-ф8'8
+8ф8'-
+-х8а8
+8х8а-
+-х8б8
+8х8б-
+-х8в8
+8х8в-
+-х8г8
+8х8г-
+-х8ґ8
+8х8ґ-
+-х8д8
+8х8д-
+-х8е8
+8х8е-
+-х8є8
+8х8є-
+-х8ж8
+8х8ж-
+-х8з8
+8х8з-
+-х8и8
+8х8и-
+-х8і8
+8х8і-
+-х8ї8
+8х8ї-
+-х8й8
+8х8й-
+-х8к8
+8х8к-
+-х8л8
+8х8л-
+-х8м8
+8х8м-
+-х8н8
+8х8н-
+-х8о8
+8х8о-
+-х8п8
+8х8п-
+-х8р8
+8х8р-
+-х8с8
+8х8с-
+-х8т8
+8х8т-
+-х8у8
+8х8у-
+-х8ф8
+8х8ф-
+-х8х8
+8х8х-
+-х8ц8
+8х8ц-
+-х8ч8
+8х8ч-
+-х8ш8
+8х8ш-
+-х8щ8
+8х8щ-
+-х8ь8
+8х8ь-
+-х8ю8
+8х8ю-
+-х8я8
+8х8я-
+-х8'8
+8х8'-
+-ц8а8
+8ц8а-
+-ц8б8
+8ц8б-
+-ц8в8
+8ц8в-
+-ц8г8
+8ц8г-
+-ц8ґ8
+8ц8ґ-
+-ц8д8
+8ц8д-
+-ц8е8
+8ц8е-
+-ц8є8
+8ц8є-
+-ц8ж8
+8ц8ж-
+-ц8з8
+8ц8з-
+-ц8и8
+8ц8и-
+-ц8і8
+8ц8і-
+-ц8ї8
+8ц8ї-
+-ц8й8
+8ц8й-
+-ц8к8
+8ц8к-
+-ц8л8
+8ц8л-
+-ц8м8
+8ц8м-
+-ц8н8
+8ц8н-
+-ц8о8
+8ц8о-
+-ц8п8
+8ц8п-
+-ц8р8
+8ц8р-
+-ц8с8
+8ц8с-
+-ц8т8
+8ц8т-
+-ц8у8
+8ц8у-
+-ц8ф8
+8ц8ф-
+-ц8х8
+8ц8х-
+-ц8ц8
+8ц8ц-
+-ц8ч8
+8ц8ч-
+-ц8ш8
+8ц8ш-
+-ц8щ8
+8ц8щ-
+-ц8ь8
+8ц8ь-
+-ц8ю8
+8ц8ю-
+-ц8я8
+8ц8я-
+-ц8'8
+8ц8'-
+-ч8а8
+8ч8а-
+-ч8б8
+8ч8б-
+-ч8в8
+8ч8в-
+-ч8г8
+8ч8г-
+-ч8ґ8
+8ч8ґ-
+-ч8д8
+8ч8д-
+-ч8е8
+8ч8е-
+-ч8є8
+8ч8є-
+-ч8ж8
+8ч8ж-
+-ч8з8
+8ч8з-
+-ч8и8
+8ч8и-
+-ч8і8
+8ч8і-
+-ч8ї8
+8ч8ї-
+-ч8й8
+8ч8й-
+-ч8к8
+8ч8к-
+-ч8л8
+8ч8л-
+-ч8м8
+8ч8м-
+-ч8н8
+8ч8н-
+-ч8о8
+8ч8о-
+-ч8п8
+8ч8п-
+-ч8р8
+8ч8р-
+-ч8с8
+8ч8с-
+-ч8т8
+8ч8т-
+-ч8у8
+8ч8у-
+-ч8ф8
+8ч8ф-
+-ч8х8
+8ч8х-
+-ч8ц8
+8ч8ц-
+-ч8ч8
+8ч8ч-
+-ч8ш8
+8ч8ш-
+-ч8щ8
+8ч8щ-
+-ч8ь8
+8ч8ь-
+-ч8ю8
+8ч8ю-
+-ч8я8
+8ч8я-
+-ч8'8
+8ч8'-
+-ш8а8
+8ш8а-
+-ш8б8
+8ш8б-
+-ш8в8
+8ш8в-
+-ш8г8
+8ш8г-
+-ш8ґ8
+8ш8ґ-
+-ш8д8
+8ш8д-
+-ш8е8
+8ш8е-
+-ш8є8
+8ш8є-
+-ш8ж8
+8ш8ж-
+-ш8з8
+8ш8з-
+-ш8и8
+8ш8и-
+-ш8і8
+8ш8і-
+-ш8ї8
+8ш8ї-
+-ш8й8
+8ш8й-
+-ш8к8
+8ш8к-
+-ш8л8
+8ш8л-
+-ш8м8
+8ш8м-
+-ш8н8
+8ш8н-
+-ш8о8
+8ш8о-
+-ш8п8
+8ш8п-
+-ш8р8
+8ш8р-
+-ш8с8
+8ш8с-
+-ш8т8
+8ш8т-
+-ш8у8
+8ш8у-
+-ш8ф8
+8ш8ф-
+-ш8х8
+8ш8х-
+-ш8ц8
+8ш8ц-
+-ш8ч8
+8ш8ч-
+-ш8ш8
+8ш8ш-
+-ш8щ8
+8ш8щ-
+-ш8ь8
+8ш8ь-
+-ш8ю8
+8ш8ю-
+-ш8я8
+8ш8я-
+-ш8'8
+8ш8'-
+-щ8а8
+8щ8а-
+-щ8б8
+8щ8б-
+-щ8в8
+8щ8в-
+-щ8г8
+8щ8г-
+-щ8ґ8
+8щ8ґ-
+-щ8д8
+8щ8д-
+-щ8е8
+8щ8е-
+-щ8є8
+8щ8є-
+-щ8ж8
+8щ8ж-
+-щ8з8
+8щ8з-
+-щ8и8
+8щ8и-
+-щ8і8
+8щ8і-
+-щ8ї8
+8щ8ї-
+-щ8й8
+8щ8й-
+-щ8к8
+8щ8к-
+-щ8л8
+8щ8л-
+-щ8м8
+8щ8м-
+-щ8н8
+8щ8н-
+-щ8о8
+8щ8о-
+-щ8п8
+8щ8п-
+-щ8р8
+8щ8р-
+-щ8с8
+8щ8с-
+-щ8т8
+8щ8т-
+-щ8у8
+8щ8у-
+-щ8ф8
+8щ8ф-
+-щ8х8
+8щ8х-
+-щ8ц8
+8щ8ц-
+-щ8ч8
+8щ8ч-
+-щ8ш8
+8щ8ш-
+-щ8щ8
+8щ8щ-
+-щ8ь8
+8щ8ь-
+-щ8ю8
+8щ8ю-
+-щ8я8
+8щ8я-
+-щ8'8
+8щ8'-
+-ь8а8
+8ь8а-
+-ь8б8
+8ь8б-
+-ь8в8
+8ь8в-
+-ь8г8
+8ь8г-
+-ь8ґ8
+8ь8ґ-
+-ь8д8
+8ь8д-
+-ь8е8
+8ь8е-
+-ь8є8
+8ь8є-
+-ь8ж8
+8ь8ж-
+-ь8з8
+8ь8з-
+-ь8и8
+8ь8и-
+-ь8і8
+8ь8і-
+-ь8ї8
+8ь8ї-
+-ь8й8
+8ь8й-
+-ь8к8
+8ь8к-
+-ь8л8
+8ь8л-
+-ь8м8
+8ь8м-
+-ь8н8
+8ь8н-
+-ь8о8
+8ь8о-
+-ь8п8
+8ь8п-
+-ь8р8
+8ь8р-
+-ь8с8
+8ь8с-
+-ь8т8
+8ь8т-
+-ь8у8
+8ь8у-
+-ь8ф8
+8ь8ф-
+-ь8х8
+8ь8х-
+-ь8ц8
+8ь8ц-
+-ь8ч8
+8ь8ч-
+-ь8ш8
+8ь8ш-
+-ь8щ8
+8ь8щ-
+-ь8ь8
+8ь8ь-
+-ь8ю8
+8ь8ю-
+-ь8я8
+8ь8я-
+-ь8'8
+8ь8'-
+-ю8а8
+8ю8а-
+-ю8б8
+8ю8б-
+-ю8в8
+8ю8в-
+-ю8г8
+8ю8г-
+-ю8ґ8
+8ю8ґ-
+-ю8д8
+8ю8д-
+-ю8е8
+8ю8е-
+-ю8є8
+8ю8є-
+-ю8ж8
+8ю8ж-
+-ю8з8
+8ю8з-
+-ю8и8
+8ю8и-
+-ю8і8
+8ю8і-
+-ю8ї8
+8ю8ї-
+-ю8й8
+8ю8й-
+-ю8к8
+8ю8к-
+-ю8л8
+8ю8л-
+-ю8м8
+8ю8м-
+-ю8н8
+8ю8н-
+-ю8о8
+8ю8о-
+-ю8п8
+8ю8п-
+-ю8р8
+8ю8р-
+-ю8с8
+8ю8с-
+-ю8т8
+8ю8т-
+-ю8у8
+8ю8у-
+-ю8ф8
+8ю8ф-
+-ю8х8
+8ю8х-
+-ю8ц8
+8ю8ц-
+-ю8ч8
+8ю8ч-
+-ю8ш8
+8ю8ш-
+-ю8щ8
+8ю8щ-
+-ю8ь8
+8ю8ь-
+-ю8ю8
+8ю8ю-
+-ю8я8
+8ю8я-
+-ю8'8
+8ю8'-
+-я8а8
+8я8а-
+-я8б8
+8я8б-
+-я8в8
+8я8в-
+-я8г8
+8я8г-
+-я8ґ8
+8я8ґ-
+-я8д8
+8я8д-
+-я8е8
+8я8е-
+-я8є8
+8я8є-
+-я8ж8
+8я8ж-
+-я8з8
+8я8з-
+-я8и8
+8я8и-
+-я8і8
+8я8і-
+-я8ї8
+8я8ї-
+-я8й8
+8я8й-
+-я8к8
+8я8к-
+-я8л8
+8я8л-
+-я8м8
+8я8м-
+-я8н8
+8я8н-
+-я8о8
+8я8о-
+-я8п8
+8я8п-
+-я8р8
+8я8р-
+-я8с8
+8я8с-
+-я8т8
+8я8т-
+-я8у8
+8я8у-
+-я8ф8
+8я8ф-
+-я8х8
+8я8х-
+-я8ц8
+8я8ц-
+-я8ч8
+8я8ч-
+-я8ш8
+8я8ш-
+-я8щ8
+8я8щ-
+-я8ь8
+8я8ь-
+-я8ю8
+8я8ю-
+-я8я8
+8я8я-
+-я8'8
+8я8'-
+-'8а8
+8'8а-
+-'8б8
+8'8б-
+-'8в8
+8'8в-
+-'8г8
+8'8г-
+-'8ґ8
+8'8ґ-
+-'8д8
+8'8д-
+-'8е8
+8'8е-
+-'8є8
+8'8є-
+-'8ж8
+8'8ж-
+-'8з8
+8'8з-
+-'8и8
+8'8и-
+-'8і8
+8'8і-
+-'8ї8
+8'8ї-
+-'8й8
+8'8й-
+-'8к8
+8'8к-
+-'8л8
+8'8л-
+-'8м8
+8'8м-
+-'8н8
+8'8н-
+-'8о8
+8'8о-
+-'8п8
+8'8п-
+-'8р8
+8'8р-
+-'8с8
+8'8с-
+-'8т8
+8'8т-
+-'8у8
+8'8у-
+-'8ф8
+8'8ф-
+-'8х8
+8'8х-
+-'8ц8
+8'8ц-
+-'8ч8
+8'8ч-
+-'8ш8
+8'8ш-
+-'8щ8
+8'8щ-
+-'8ь8
+8'8ь-
+-'8ю8
+8'8ю-
+-'8я8
+8'8я-
+-'8'8
+8'8'-} \ No newline at end of file
diff --git a/tex/context/patterns/lang-uk.rme b/tex/context/patterns/lang-uk.rme
index 9d6e5ee88..6905b2ae8 100644
--- a/tex/context/patterns/lang-uk.rme
+++ b/tex/context/patterns/lang-uk.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Ukrainian Hyphenation Patterns
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -67,4 +71,4 @@
% under the terms of the LaTeX Project Public License (lppl).
% Please, send bug reports via e-mail:
% polyama@auburn.edu
-% mpoliak@i.com.ua \ No newline at end of file
+% mpoliak@i.com.ua
diff --git a/tex/context/patterns/lang-us.lua b/tex/context/patterns/lang-us.lua
index 2576acb7e..457642212 100644
--- a/tex/context/patterns/lang-us.lua
+++ b/tex/context/patterns/lang-us.lua
@@ -7,8 +7,12 @@ return {
},
["metadata"]={
["mnemonic"]="us",
- ["source"]="hyph-en-us.tex",
- ["texcomment"]="% This file has been renamed from ushyphmax.tex to hyph-en-us.tex in June 2008\
+ ["source"]="hyph-en-us",
+ ["texcomment"]="% Hyphenation Patterns for American English\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file has been renamed from ushyphmax.tex to hyph-en-us.tex in June 2008\
% for consistency with other files with hyphenation patterns in hyph-utf8 package.\
% No other changes made. See http://www.tug.org/tex-hyphen for more details.\
% \
diff --git a/tex/context/patterns/lang-us.rme b/tex/context/patterns/lang-us.rme
index 31b289805..c9c58196b 100644
--- a/tex/context/patterns/lang-us.rme
+++ b/tex/context/patterns/lang-us.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Hyphenation Patterns for American English
+
+(more info about the licence to be added later)
+
% This file has been renamed from ushyphmax.tex to hyph-en-us.tex in June 2008
% for consistency with other files with hyphenation patterns in hyph-utf8 package.
% No other changes made. See http://www.tug.org/tex-hyphen for more details.
@@ -37,4 +41,4 @@
% Dr. Kuiken, and the original patterns and hyphenations from Knuth's
% hyphen.tex.
%
-% The Plain TeX hyphenation tables. \ No newline at end of file
+% The Plain TeX hyphenation tables.
diff --git a/tex/context/patterns/lang-zh.lua b/tex/context/patterns/lang-zh.lua
index aae23e8d5..6698fa9ed 100644
--- a/tex/context/patterns/lang-zh.lua
+++ b/tex/context/patterns/lang-zh.lua
@@ -5,8 +5,12 @@ return {
},
["metadata"]={
["mnemonic"]="zh",
- ["source"]="hyph-zh-latn.tex",
- ["texcomment"]="% This file is part of hyph-utf8 package and resulted from\
+ ["source"]="hyph-zh-latn",
+ ["texcomment"]="% Hyphenation patterns for unaccented pinyin syllables (CJK 4.8.0)\
+% \
+% (more info about the licence to be added later)\
+% \
+% This file is part of hyph-utf8 package and resulted from\
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.\
%\
% Source: pyhyph.tex (yyyy-mm-dd)\
@@ -94,11 +98,11 @@ return {
%",
},
["patterns"]={
- ["characters"]="abcdefghijklmnopqrstuwxyzü",
- ["data"]="a1b a1c a1d a1f a1g a1h a1j a1k a1l a1m a1p a1q a1r a1s a1t a1w a1x a1y a1z e1b e1c e1d e1f e1g e1h e1j e1k e1l e1m e1p e1q e1s e1t e1w e1x e1y e1z 1ga g1b g1c g1d 1ge g1f g1g g1h g1j g1k g1l g1m g1n 1go g1p g1q g1r g1s g1t 1gu g1w g1x g1y g1z i1b i1c i1d i1f i1g i1h i1j i1k i1l i1m i1p i1q i1r i1s i1t i1w i1x i1y i1z 1na n1b n1c n1d 1ne n1f n1h 1ni n1j n1k n1l n1m n1n 1no n1p n1q n1r n1s n1t 1nu 1nü n1w n1x n1y n1z o1b o1c o1d o1f o1g o1h o1j o1k o1l o1m o1p o1q o1r o1s o1t o1w o1x o1y o1z 1ra r1b r1c r1d 1re r1f r1g r1h 1ri r1j r1k r1l r1m r1n 1ro r1p r1q r1r r1s r1t 1ru r1w r1x r1y r1z u1b u1c u1d u1f u1g u1h u1j u1k u1l u1m u1p u1q u1r u1s u1t u1w u1x u1y u1z ü1b ü1c ü1d ü1f ü1g ü1h ü1j ü1k ü1l ü1m ü1n ü1p ü1q ü1r ü1s ü1t ü1w ü1x ü1y ü1z",
+ ["characters"]="abcdefghijklmnopqrstuwxyzü’",
+ ["data"]="a1b a1c a1d a1f a1g a1h a1j a1k a1l a1m a1p a1q a1r a1s a1t a1w a1x a1y a1z e1b e1c e1d e1f e1g e1h e1j e1k e1l e1m e1p e1q e1s e1t e1w e1x e1y e1z 1ga g1b g1c g1d 1ge g1f g1g g1h g1j g1k g1l g1m g1n 1go g1p g1q g1r g1s g1t 1gu g1w g1x g1y g1z i1b i1c i1d i1f i1g i1h i1j i1k i1l i1m i1p i1q i1r i1s i1t i1w i1x i1y i1z 1na n1b n1c n1d 1ne n1f n1h 1ni n1j n1k n1l n1m n1n 1no n1p n1q n1r n1s n1t 1nu 1nü n1w n1x n1y n1z o1b o1c o1d o1f o1g o1h o1j o1k o1l o1m o1p o1q o1r o1s o1t o1w o1x o1y o1z 1ra r1b r1c r1d 1re r1f r1g r1h 1ri r1j r1k r1l r1m r1n 1ro r1p r1q r1r r1s r1t 1ru r1w r1x r1y r1z u1b u1c u1d u1f u1g u1h u1j u1k u1l u1m u1p u1q u1r u1s u1t u1w u1x u1y u1z ü1b ü1c ü1d ü1f ü1g ü1h ü1j ü1k ü1l ü1m ü1n ü1p ü1q ü1r ü1s ü1t ü1w ü1x ü1y ü1z ’1a ’1e ’1o",
["minhyphenmax"]=1,
["minhyphenmin"]=1,
- ["n"]=188,
+ ["n"]=191,
},
["version"]="1.001",
} \ No newline at end of file
diff --git a/tex/context/patterns/lang-zh.pat b/tex/context/patterns/lang-zh.pat
index 264c84b9b..40d3a542c 100644
--- a/tex/context/patterns/lang-zh.pat
+++ b/tex/context/patterns/lang-zh.pat
@@ -2,7 +2,7 @@
% for comment and copyright, see e:/tmp/patterns/lang-zh.rme
-% used: a b c d e f g h i j k l m n o p q r s t u w x y z ü
+% used: a b c d e f g h i j k l m n o p q r s t u w x y z ü ’
\patterns{
a1b
@@ -192,4 +192,7 @@ u1z
ü1w
ü1x
ü1y
-ü1z} \ No newline at end of file
+ü1z
+'1a
+'1e
+'1o} \ No newline at end of file
diff --git a/tex/context/patterns/lang-zh.rme b/tex/context/patterns/lang-zh.rme
index f2dd9def7..daa234c75 100644
--- a/tex/context/patterns/lang-zh.rme
+++ b/tex/context/patterns/lang-zh.rme
@@ -1,5 +1,9 @@
% generated by mtxrun --script pattern --convert
+Hyphenation patterns for unaccented pinyin syllables (CJK 4.8.0)
+
+(more info about the licence to be added later)
+
% This file is part of hyph-utf8 package and resulted from
% semi-manual conversions of hyphenation patterns into UTF-8 in June 2008.
%
@@ -85,4 +89,4 @@
% MA 02110-1301 USA
%
% \message{Hyphenation patterns for unaccented pinyin syllables (CJK 4.7.0)}
-% \ No newline at end of file
+%
diff --git a/tex/context/test/pdf-x-common.mkiv b/tex/context/test/pdf-x-common.mkiv
new file mode 100644
index 000000000..dcea03a66
--- /dev/null
+++ b/tex/context/test/pdf-x-common.mkiv
@@ -0,0 +1,22 @@
+\showlayoutcomponents \nopdfcompression
+
+\setupinteraction
+ [title=TITLE,
+ subtitle=SUBTITLE,
+ author=AUTHOR,
+ keyword={{KEYWORD1, KEYWORD2}, KEYWORD3}]
+
+\definecolor[cmykcyan][c=1]
+\definecolor[cmykmagenta][m=1]
+\definecolor[cmykyellow][y=1]
+\definecolor[cmykblack][k=1]
+\definecolor[transtest][y=1,a=1,t=.5]
+
+\startTEXpage
+ \blackrule[width=1cm,height=1cm,color=cmykcyan]
+ \blackrule[width=1cm,height=1cm,color=cmykmagenta]
+ \blackrule[width=1cm,height=1cm,color=cmykyellow]
+ \blackrule[width=1cm,height=1cm,color=cmykblack]
+ \blackrule[width=1cm,height=1cm,color=transtest]\hskip-.5cm
+ \blackrule[width=1cm,height=1cm,color=transtest]
+\stopTEXpage
diff --git a/tex/context/test/pdf-x1a-2001.mkiv b/tex/context/test/pdf-x1a-2001.mkiv
new file mode 100644
index 000000000..a304c8963
--- /dev/null
+++ b/tex/context/test/pdf-x1a-2001.mkiv
@@ -0,0 +1,9 @@
+% PDF/X-1a:2001
+
+\enabletrackers[backend.pdfx]
+
+\setupbackend
+ [format=PDF/X-1a:2001,
+ intent=ISOcoated_v2_eci.icc]
+
+\input pdf-x-common.mkiv
diff --git a/tex/context/test/pdf-x1a-2003.mkiv b/tex/context/test/pdf-x1a-2003.mkiv
new file mode 100644
index 000000000..89a0f6066
--- /dev/null
+++ b/tex/context/test/pdf-x1a-2003.mkiv
@@ -0,0 +1,10 @@
+% PDF/X-1a:2003
+
+\enabletrackers[backend.pdfx]
+
+\setupbackend
+ [format=PDF/X-1a:2003,
+ intent=ISOcoated_v2_eci.icc,
+ option=always]
+
+\input pdf-x-common.mkiv
diff --git a/tex/context/test/pdf-x3-2002.mkiv b/tex/context/test/pdf-x3-2002.mkiv
new file mode 100644
index 000000000..1e2310135
--- /dev/null
+++ b/tex/context/test/pdf-x3-2002.mkiv
@@ -0,0 +1,10 @@
+% PDF/X-3:2002
+
+\enabletrackers[backend.pdfx]
+
+\setupbackend
+ [format=PDF/X-3:2002,
+ level=9, % maybe compresslevel
+ intent=ISOcoated_v2_eci.icc]
+
+\input pdf-x-common.mkiv
diff --git a/tex/context/test/pdf-x3-2003.mkiv b/tex/context/test/pdf-x3-2003.mkiv
new file mode 100644
index 000000000..bedcde527
--- /dev/null
+++ b/tex/context/test/pdf-x3-2003.mkiv
@@ -0,0 +1,9 @@
+% PDF/X-3:2003
+
+\enabletrackers[backend.pdfx]
+
+\setupbackend
+ [format=PDF/X-3:2003,
+ intent=ISOcoated_v2_eci.icc]
+
+\input pdf-x-common.mkiv
diff --git a/tex/context/test/pdf-x4.mkiv b/tex/context/test/pdf-x4.mkiv
new file mode 100644
index 000000000..0566475b5
--- /dev/null
+++ b/tex/context/test/pdf-x4.mkiv
@@ -0,0 +1,11 @@
+% PDF/X-4
+
+% \nopdfcompression
+
+\enabletrackers[backend.pdfx]
+
+\setupbackend
+ [format=PDF/X-4,
+ intent=ISOcoated_v2_eci.icc]
+
+\input pdf-x-common.mkiv
diff --git a/tex/context/test/pdf-x4p.mkiv b/tex/context/test/pdf-x4p.mkiv
new file mode 100644
index 000000000..422d0601a
--- /dev/null
+++ b/tex/context/test/pdf-x4p.mkiv
@@ -0,0 +1,28 @@
+% PDF/X-4p
+
+\enabletrackers[backend.pdfx]
+
+\setupbackend
+ [format=PDF/X-4p,
+ intent=ISOcoated_v2_eci.icc,
+ profile=sRGB.icc] % test for default colorspace
+
+\showlayoutcomponents \nopdfcompression
+
+\setupinteraction
+ [title=TITLE,
+ subtitle=SUBTITLE,
+ author=AUTHOR,
+ keyword={{KEYWORD1, KEYWORD2}, KEYWORD3}]
+
+\definecolor[cmykblack][k=1]
+\definecolor[transtest][r=1,g=1,a=1,t=.5]
+
+\startTEXpage
+ \blackrule[width=1cm,height=1cm,color=cyan]
+ \blackrule[width=1cm,height=1cm,color=magenta]
+ \blackrule[width=1cm,height=1cm,color=yellow]
+ \blackrule[width=1cm,height=1cm,color=cmykblack]
+ \blackrule[width=1cm,height=1cm,color=transtest]\hskip-.5cm
+ \blackrule[width=1cm,height=1cm,color=transtest]
+\stopTEXpage
diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua
index 3f96aa593..7b3efea0d 100644
--- a/tex/generic/context/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 07/30/10 11:35:46
+-- merge date : 08/10/10 17:14:16
do -- begin closure to overcome local limits and interference
@@ -337,7 +337,8 @@ patterns.hexadecimal = P("0x") * R("09","AF","af")^1
patterns.lowercase = R("az")
patterns.uppercase = R("AZ")
patterns.letter = patterns.lowercase + patterns.uppercase
-patterns.space = S(" ")
+patterns.space = P(" ")
+patterns.tab = P("\t")
patterns.eol = S("\n\r")
patterns.spacer = S(" \t\f\v") -- + string.char(0xc2, 0xa0) if we want utf (cf mail roberto)
patterns.newline = crlf + cr + lf
@@ -348,6 +349,9 @@ patterns.nonwhitespace = 1 - patterns.whitespace
patterns.utf8 = patterns.utf8one + patterns.utf8two + patterns.utf8three + patterns.utf8four
patterns.utfbom = P('\000\000\254\255') + P('\255\254\000\000') + P('\255\254') + P('\254\255') + P('\239\187\191')
patterns.validutf8 = patterns.utf8^0 * P(-1) * Cc(true) + Cc(false)
+patterns.comma = P(",")
+patterns.commaspacer = P(",") * patterns.spacer^0
+patterns.period = P(".")
patterns.undouble = P('"')/"" * (1-P('"'))^0 * P('"')/""
patterns.unsingle = P("'")/"" * (1-P("'"))^0 * P("'")/""
@@ -468,15 +472,41 @@ local function f4(s) local c1, c2, c3, c4 = f1(s,1,4) return ((c1 * 64 + c2) * 6
patterns.utf8byte = patterns.utf8one/f1 + patterns.utf8two/f2 + patterns.utf8three/f3 + patterns.utf8four/f4
+--~ local str = " a b c d "
+
+--~ local s = lpeg.stripper(lpeg.R("az")) print("["..lpeg.match(s,str).."]")
+--~ local s = lpeg.keeper(lpeg.R("az")) print("["..lpeg.match(s,str).."]")
+--~ local s = lpeg.stripper("ab") print("["..lpeg.match(s,str).."]")
+--~ local s = lpeg.keeper("ab") print("["..lpeg.match(s,str).."]")
+
local cache = { }
function lpeg.stripper(str)
- local s = cache[str]
- if not s then
- s = Cs(((S(str)^1)/"" + 1)^0)
- cache[str] = s
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs(((S(str)^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs(((str^1)/"" + 1)^0)
+ end
+end
+
+local cache = { }
+
+function lpeg.keeper(str)
+ if type(str) == "string" then
+ local s = cache[str]
+ if not s then
+ s = Cs((((1-S(str))^1)/"" + 1)^0)
+ cache[str] = s
+ end
+ return s
+ else
+ return Cs((((1-str)^1)/"" + 1)^0)
end
- return s
end
function lpeg.replacer(t)
@@ -764,7 +794,7 @@ end
table.sortedkeys = sortedkeys
table.sortedhashkeys = sortedhashkeys
-function table.sortedhash(t)
+local function sortedhash(t)
local s = sortedhashkeys(t) -- maybe just sortedkeys
local n = 0
local function kv(s)
@@ -775,7 +805,8 @@ function table.sortedhash(t)
return kv, s
end
-table.sortedpairs = table.sortedhash
+table.sortedhash = sortedhash
+table.sortedpairs = sortedhash
function table.append(t, list)
for _,v in next, list do
@@ -1470,12 +1501,26 @@ function table.count(t)
return n
end
-function table.swapped(t)
- local s = { }
+function table.swapped(t,s)
+ local n = { }
+ if s then
+--~ for i=1,#s do
+--~ n[i] = s[i]
+--~ end
+ for k, v in next, s do
+ n[k] = v
+ end
+ end
+--~ for i=1,#t do
+--~ local ti = t[i] -- don't ask but t[i] can be nil
+--~ if ti then
+--~ n[ti] = i
+--~ end
+--~ end
for k, v in next, t do
- s[v] = k
+ n[v] = k
end
- return s
+ return n
end
--~ function table.are_equal(a,b)
@@ -1498,7 +1543,7 @@ function table.hexed(t,seperator)
return concat(tt,seperator or " ")
end
-function table.reverse_hash(h)
+function table.reverse_hash(h) -- needs another name
local r = { }
for k,v in next, h do
r[v] = lower(gsub(k," ",""))
@@ -1546,10 +1591,18 @@ function table.insert_after_value(t,value,extra)
insert(t,#t+1,extra)
end
-function table.sequenced(t,sep)
+function table.sequenced(t,sep,simple) -- hash only
local s = { }
- for k, v in next, t do -- indexed?
- s[#s+1] = k .. "=" .. tostring(v)
+ for k, v in sortedhash(t) do
+ if simple then
+ if v == true then
+ s[#s+1] = k
+ elseif v and v~= "" then
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
+ else
+ s[#s+1] = k .. "=" .. tostring(v)
+ end
end
return concat(s, sep or " | ")
end
@@ -2175,6 +2228,39 @@ function io.ask(question,default,options)
end
end
+function io.readnumber(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ if n == 1 then
+ return byte(f:read(1))
+ elseif n == 2 then
+ local a, b = byte(f:read(2),1,2)
+ return 256*a + b
+ elseif n == 4 then
+ local a, b, c, d = byte(f:read(4),1,4)
+ return 256^3 * a + 256^2 * b + 256*c + d
+ elseif n == 8 then
+ local a, b = readnumber(f,4), readnumber(f,4)
+ return 256 * b + c
+ elseif n == 12 then
+ local a, b, c = readnumber(f,4), readnumber(f,4), readnumber(f,4)
+ return 256^2 * a + 256 * b + c
+ else
+ return 0
+ end
+end
+
+function io.readstring(f,n,m)
+ if m then
+ f:seek("set",n)
+ n = m
+ end
+ local str = gsub(f:read(n),"%z","")
+ return str
+end
+
end -- closure
do -- begin closure to overcome local limits and interference
@@ -3120,7 +3206,6 @@ fonts.qua = fonts.qua or { } fonts.quads = fonts.qua -- aka quaddata
fonts.tfm = fonts.tfm or { }
-fonts.mode = 'base'
fonts.private = 0xF0000 -- 0x10FFFF
fonts.verbose = false -- more verbose cache tables
@@ -3444,6 +3529,10 @@ function tfm.do_scale(tfmtable, scaledpoints, relativeid)
local hasitalic = tfmtable.has_italic
local descriptions = tfmtable.descriptions or { }
--
+ if hasmath then
+ t.has_math = true -- this will move to elsewhere
+ end
+ --
t.parameters = { }
t.characters = { }
t.MathConstants = { }
@@ -4785,38 +4874,40 @@ otf.meanings.checkers = {
local checkers = otf.meanings.checkers
function otf.meanings.normalize(features)
- local h = { }
- for k,v in next, features do
- k = lower(k)
- if k == "language" or k == "lang" then
- v = gsub(lower(v),"[^a-z0-9%-]","")
- if not languages[v] then
- h.language = to_languages[v] or "dflt"
- else
- h.language = v
- end
- elseif k == "script" then
- v = gsub(lower(v),"[^a-z0-9%-]","")
- if not scripts[v] then
- h.script = to_scripts[v] or "dflt"
- else
- h.script = v
- end
- else
- if type(v) == "string" then
- local b = v:is_boolean()
- if type(b) == "nil" then
- v = tonumber(v) or lower(v)
+ if features then
+ local h = { }
+ for k,v in next, features do
+ k = lower(k)
+ if k == "language" or k == "lang" then
+ v = gsub(lower(v),"[^a-z0-9%-]","")
+ if not languages[v] then
+ h.language = to_languages[v] or "dflt"
+ else
+ h.language = v
+ end
+ elseif k == "script" then
+ v = gsub(lower(v),"[^a-z0-9%-]","")
+ if not scripts[v] then
+ h.script = to_scripts[v] or "dflt"
else
- v = b
+ h.script = v
+ end
+ else
+ if type(v) == "string" then
+ local b = v:is_boolean()
+ if type(b) == "nil" then
+ v = tonumber(v) or lower(v)
+ else
+ v = b
+ end
end
+ k = to_features[k] or k
+ local c = checkers[k]
+ h[k] = c and c(v) or v
end
- k = to_features[k] or k
- local c = checkers[k]
- h[k] = c and c(v) or v
end
+ return h
end
- return h
end
-- When I feel the need ...
@@ -6819,22 +6910,23 @@ end
-- for context this will become a task handler
+local lists = { -- why local
+ fonts.triggers,
+ fonts.processors,
+ fonts.manipulators,
+}
+
function otf.set_features(tfmdata,features)
local processes = { }
if features and next(features) then
- local lists = { -- why local
- fonts.triggers,
- fonts.processors,
- fonts.manipulators,
- }
- local mode = tfmdata.mode or fonts.mode -- or features.mode
+ local mode = tfmdata.mode or features.mode or "base"
local initializers = fonts.initializers
local fi = initializers[mode]
if fi then
local fiotf = fi.otf
if fiotf then
local done = { }
- for l=1,4 do
+ for l=1,#lists do
local list = lists[l]
if list then
for i=1,#list do
@@ -6846,7 +6938,7 @@ function otf.set_features(tfmdata,features)
report_otf("initializing feature %s to %s for mode %s for font %s",f,tostring(value),mode or 'unknown', tfmdata.fullname or 'unknown')
end
fiotf[f](tfmdata,value) -- can set mode (no need to pass otf)
- mode = tfmdata.mode or fonts.mode -- keep this, mode can be set local !
+ mode = tfmdata.mode or features.mode or "base"
local im = initializers[mode]
if im then
fiotf = initializers[mode].otf
@@ -6859,11 +6951,12 @@ function otf.set_features(tfmdata,features)
end
end
end
+tfmdata.mode = mode
local fm = fonts.methods[mode] -- todo: zonder node/mode otf/...
if fm then
local fmotf = fm.otf
if fmotf then
- for l=1,4 do
+ for l=1,#lists do
local list = lists[l]
if list then
for i=1,#list do
@@ -6966,7 +7059,8 @@ function otf.copy_to_tfm(data,cache_id) -- we can save a copy when we reorder th
local glyphs, pfminfo, metadata = data.glyphs or { }, data.pfminfo or { }, data.metadata or { }
local luatex = data.luatex
local unicodes = luatex.unicodes -- names to unicodes
- local indices = luatex.indices
+ local indices = luatex.indices local mode = data.mode or "base"
+
local characters, parameters, math_parameters, descriptions = { }, { }, { }, { }
local designsize = metadata.designsize or metadata.design_size or 100
if designsize == 0 then
@@ -7108,6 +7202,7 @@ function otf.copy_to_tfm(data,cache_id) -- we can save a copy when we reorder th
designsize = (designsize/10)*65536,
spacer = "500 units",
encodingbytes = 2,
+ mode = mode,
filename = filename,
fontname = fontname,
fullname = fullname,
@@ -7279,6 +7374,7 @@ function otf.set_dynamics(font,dynamics,attribute)
features = tfmdata.shared.features
}
tfmdata.mode = "node"
+ tfmdata.dynamics = true -- handy for tracing
tfmdata.language = language
tfmdata.script = script
tfmdata.shared.features = { }
@@ -11528,7 +11624,7 @@ function define.register(fontdata,id)
end
fonts.identifiers[id] = fontdata
fonts.characters [id] = fontdata.characters
- fonts.quads [id] = fontdata.parameters.quad
+ fonts.quads [id] = fontdata.parameters and fontdata.parameters.quad
-- todo: extra functions, e.g. setdigitwidth etc in list
tfm.internalized[hash] = id
end
@@ -11606,7 +11702,6 @@ function define.read(specification,size,id) -- id can be optional, name can alre
fontdata.encodingname or "unicode",
fontdata.fullname or "?",
file.basename(fontdata.filename or "?"))
-
end
statistics.stoptiming(fonts)
return fontdata
diff --git a/web2c/context.cnf b/web2c/context.cnf
index be2fe4d5c..2c16dcf3d 100644
--- a/web2c/context.cnf
+++ b/web2c/context.cnf
@@ -56,7 +56,6 @@ TEXFONTMAPS.luatex = .;$TEXMF/fonts/{data,map}/{pdftex,dvips,}//
TEXFONTMAPS.xetex = .;$TEXMF/fonts/{data,map}/{xetex,pdftex,dvips,}//
TEXFONTMAPS.dvips = .;$TEXMF/fonts/{data,map}/{dvips,pdftex,}//
-# TEXFONTMAPS = .;$TEXMF/fonts/map/{$backend,pdftex,dvips,}//;$TEXMF/{$progname,pdftex,dvips}/{config,}//
TEXFONTMAPS = .;$TEXMF/fonts/{data,map}/{$progname,$engine,pdftex,dvips,}//;$TEXMF/{$progname,$engine,pdftex,dvips}/{config,}//
VFFONTS = $TEXMF/fonts/{data,vf}//