200 likes | 296 Views
Kotus 29.3.07: Rakennepaja. Ongelmana luettavuus ja editointi, kun nimittäjänä ovat UTF-8 ja XSLT Jack Rueter rueter@ling.helsinki.fi. Heikki Paasosen mordvan murresanakirja. Ongelmana luettavuus ja editointi, kun nimittäjinä ovat UTF-8 ja XSLT. Sisältö. Koneet, ohjelmat ja kirjasimet
E N D
Kotus 29.3.07: Rakennepaja • Ongelmana luettavuus ja editointi, kun nimittäjänä ovat UTF-8 ja XSLT Jack Rueter rueter@ling.helsinki.fi
Heikki Paasosen mordvan murresanakirja Ongelmana luettavuus ja editointi, kun nimittäjinä ovat UTF-8 ja XSLT
Sisältö • Koneet, ohjelmat ja kirjasimet • Merkkiratkaisumalli • Emacs auki • XSLTPROC-konversio
Murresanakirjan kirjoitusvaihe • Macintosh 1987-1996 • Ohjelmat • WriteNow • QuarkExpress • Kirjasimet • Tilaustyö (J.Lehtiranta)
Merkkiratkaisumalli • UTF-8 • Perusmerkkejä + tarkkeita • Sekä yhdisteperusmerkkejä että perusmerkkejä + tarkkeita • Tarkkeet = • (Combining Diacritical Marks) • Spacing Modifier Letters <http://www.unicode.org/charts/>
Merkkiratkaisumalli • Merkkiyhdisteet • Perusmerkki + tarke/tarkkeet • Ensin perusmerkin alapuolella olevat tarkkeet • Sitten perusmerkin yläpuolella olevat • Tarkkeet järjestyksessä perusmerkistä poispäin • Tätä voi hahmottaa kuin planeettojen kulkuradat auringon suhteen: Merkurius, Venus, Maa … • Spacing Modifier Letters tulevat siten omina yksikköinä.
Unix-yhteys • Unix 2006-2007 • Editori: emacs • Windows: XSessions: Putty • Linux: emacs: (mule-ratkaisuja)
Putty • Sessions • Host Name or (IP address) • Window/Translation • Received data assumed to be in which character set • UTF-8 • SSH/X11 • X11 forwarding • Enable X11 forwarding
Putty/emacs • Komentoriviltä: • ]$ emacs -nw paasonen.xml • Työympäristö • Näppäimistöltä syötetään latinalaisia ja kyrillisiä kirjaimia • Alt + shift -näppäimistönvaihto
Putty/emacs/työympäristö Näppäimistöltä syötetään latinalaisia ja kyrillisiä kirjaimia, jotka ovat UNICODEa • Voi käyttää (C-s) hakemaan kaikkea, mitä tulee näppäimistöltä • Oikealla: haluttu merkkijono • (C-s C-y) • s´
Linux/emacs • Komentoriviltä: • ]$ emacs paasonen.xml • emacs auki graafisessa ympäristössä • Options/Mule (Multilingual Environment) • Set Font/Fontset • Font menu/ Fontset • Standard: 16-dot medium
Linux/emacs • Tiedosto auki • (C-x C-f) • .xml-loppuiset tiedostot automaattisesti oletusarvoltaan UNICODE-muotoisia • (M-x nxml-mode) • š => šˇ • š => šš
Puutteet • Mule-ratkaisun takia ei voi etsiä näppäimistöltä käsin sellaisia kyrillisiä kirjaimia, jotka on kirjoitettu muissa sessioissa.
XSLTPROC-konversio • Automaattinen konversio • xsl:copy-of • Tiedoston sisällä: š => š • Tiedoston nimeksi: 2- tai 3-tavuisia vastineita: š => s%CC%8C
Artikkelinkokoisia tiedostoja • <?xml version="1.0" encoding="utf-8"?> • <xsl:stylesheet version="1.0" • xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> • <xsl:template match="/"> • <xsl:for-each select="//entry"> • <xsl:variable name="fileName"> • <xsl:value-of select="subentry[1]/compositeSubentry[1]/b[1]" • /><xsl:text>_</xsl:text><xsl:value-of select="subentry[1]/co • mpositeSubentry[1]/index[1]"/><xsl:text>.xml</xsl:text> • </xsl:variable> • <xsl:document method="xml" encoding="utf-8" href="{$fileName}"> • <xsl:copy-of select="." /> • </xsl:document> • <xsl:value-of select="subentry[1]/compositeSubentry[1]/b[1]" /><xsl:text>_</ • xsl:text><xsl:value-of select="subentry[1]/compositeSubentry[1]/index[1]"/><xsl: • text>.xml • </xsl:text> • </xsl:for-each> • </xsl:template> • </xsl:stylesheet>
Artikkelinkokoisia tiedostoja • Tiedoston nimeksi: 2- tai 3-bittisiä vastineita • š => s%CC%8C • Luettavuuden takia käytetään perl- ja shell-skriptiä tiedostonimien muuntamiseksi
Tiedostonimien muunto • ls Versiot/*xml | perl -pe ‘s/x/<a>$1</a><b>$1</b>/g;’ | \... • mv us%CC%8Codoms_.xml usˇodoms_.xml
Tiedostojen avaaminen • $ emacs • C-x C-f TAB TAB • Näppäimistöltä mitä pystyy syöttämään TAB:illä täydennetään ja • C-x + o tiedostojen valintaan • Editoidut tiedostot eteenpäin näppäimistösyötön helpottamiseksi
Tiedostossa emacsilla • Käyttöympäristönä Windows • [^]* työkalun hyödyntämiseksi perlillä on muunnettu kaikki &#x????; muodot virtuaalisiksi merkeiksi. • Yhdistelmätarkkeet aiheuttavat ongelmia.
Yhdistetarkeongelmat • Ei ole löydetty/tehty näppäimistöä, jolla tarkkeita voisi syöttää oletusjärjestyksessä • Onko järjestys perusteltu • Näkyvät virtuaalisesti oikeassa paikassa, joten editoinnissa täytyy käyttää C-s –komentoa oikean paikan löytämiseksi.