diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:44:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:44:40 +0000 |
commit | b4fc5f639874db951177ec539299d20908adb654 (patch) | |
tree | 52f08823ca58fffe3db6a9b075635038c567626c /Master/texmf-dist/doc/latex/ibycus-babel | |
parent | dec3d98ebe442d7ea93efbaa8dd2e2be8149a467 (diff) |
doc 4
git-svn-id: svn://tug.org/texlive/trunk@80 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/ibycus-babel')
-rw-r--r-- | Master/texmf-dist/doc/latex/ibycus-babel/README | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ibycus-babel/ibycus-babel-test.tex | 110 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ibycus-babel/ibycus-babel.pdf | bin | 0 -> 85898 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/ibycus-babel/ibyhyph.pl | 87 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/ibycus-babel/install.txt | 91 |
5 files changed, 299 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/ibycus-babel/README b/Master/texmf-dist/doc/latex/ibycus-babel/README new file mode 100644 index 00000000000..47c6a189cdb --- /dev/null +++ b/Master/texmf-dist/doc/latex/ibycus-babel/README @@ -0,0 +1,11 @@ +This package provides a way of integrating the Ibycus font +for polytonic Greek into the standard Babel language +framework for LaTeX. It provides for automatic hyphenation +of Greek in the Ibycus encoding. + +You must obtain and install the Ibycus font separately. See +the file install.txt for further details on installing this +package. + +Peter Heslin +Walter Schmidt diff --git a/Master/texmf-dist/doc/latex/ibycus-babel/ibycus-babel-test.tex b/Master/texmf-dist/doc/latex/ibycus-babel/ibycus-babel-test.tex new file mode 100644 index 00000000000..f52c1c83e07 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ibycus-babel/ibycus-babel-test.tex @@ -0,0 +1,110 @@ +% test file for the Ibycus-Babel interface, version 2 +% Peter Heslin, Walter Schmidt, Nov.2004 + +\documentclass[12pt]{article} +\usepackage[ibycus,english]{babel} +\usepackage[textwidth=7cm]{geometry} +\begin{document} + +\def\mytext{% + (Hrodo'tou Qouri'ou i(stori'hs a)po'decis h('de, w(s mh'te ta` + geno'mena e)c a)nqrw'pwn tw=| xro'nw| e)ci'thla ge'nhtai, mh'te + e)'rga mega'la te kai` qwmasta', ta` me`n ('Ellhsi, ta` de` + barba'roisi a)podexqe'nta, a)kle'a ge'nhtai, ta' te a)'lla kai` di' + h(`n ai)ti'hn e)pole'mhsan a)llh'loisi. + Perse'wn me'n nun oi( lo'gioi Foi'nikas ai)ti'ous fasi` gene'sqai + th=s diaforh=s; tou'tous ga'r, a)po` th=s )Eruqrh=s kaleome'nhs + qala'sshs a)pikome'nous e)pi` th'nde th`n qa'lassan kai` + oi)kh'santas tou=ton to`n xw=ron to`n kai` nu=n oi)ke'ousi, au)ti'ka + nautili'h|si makrh=|si e)piqe'sqai, a)pagine'ontas de` forti'a + Ai)gu'ptia' te kai` )Assu'ria th=| te a)'llh| [xw'rh|] + e)sapikne'esqai kai` dh` kai` e)s )'Argos; to` de` )'Argos tou=ton + to`n xro'non proei=xe a('pasi tw=n e)n th=| nu=n (Ella'di + kaleome'nh| xw'rh|. )Apikome'nous de` tou`s Foi'nikas e)s dh` to` + )'Argos tou=to diati'qesqai to`n fo'rton. Pe'mpth| de` h)` e('kth| + h(me'rh| a)p' h(=s a)pi'konto, e)cempolhme'nwn sfi sxedo`n pa'ntwn, + e)lqei=n e)pi` th`n qa'lassan gunai=kas a)'llas te polla`s kai` dh` + kai` tou= basile'os qugate'ra; to` de' oi( ou)'noma ei)=nai, kata` + tw)uto` to` kai` ('Ellhnes le'gousi, )Iou=n th`n )Ina'xou. Tau'tas + sta'sas kata` pru'mnhn th=s neo`s w)ne'esqai tw=n forti'wn tw=n sfi + h)=n qumo`s ma'lista, kai` tou`s Foi'nikas diakeleusame'nous + o(rmh=sai e)p' au)ta's. Ta`s me`n dh` ple'onas tw=n gunaikw=n + a)pofugei=n, th`n de` )Iou=n su`n a)'llh|si a(rpasqh=nai; + e)sbalome'nous de` e)s th`n ne'a oi)'xesqai a)pople'ontas e)p' + Ai)gu'ptou. Ou('tw me`n )Iou=n e)s Ai)'gupton a)pike'sqai le'gousi + Pe'rsai, ou)k w(s ('Ellhnes, kai` tw=n a)dikhma'twn prw=ton tou=to + a)'rcai; meta` de` tau=ta (Ellh'nwn tina's (ou) ga`r e)'xousi + tou)'noma a)phgh'sasqai) fasi` th=s Foini'khs e)s Tu'ron + prossxo'ntas a(rpa'sai tou= basile'os th`n qugate'ra Eu)rw'phn; +} + +\begin{otherlanguage}{ibycus} + \mytext + \showhyphens{\mytext} +\end{otherlanguage} + +\end{document} + +Dimitrios Filippou's improved hyphenation patterns discover far more +hyphenation points than the default Latex patterns, and are more +accurate, especially for compound words. Here is an example of the +default patterns at work on the start of Herodotus: + +(H-ro-do'-tou Qou-ri'-ou i(sto-ri'hs a)po'-de-cis h('de, w(s mh'-te + ta` ge-no'-me-na e)c a)n-qrw'-pwn tw=| xro'-nw| e)ci'-th-la + ge'-nh-tai, mh'-te e)'r-ga me-ga'-la te kai` qw-ma-sta', ta` me`n + ('El-lh-si, ta` de` bar- ba'-roi-si a)po-de-xqe'n-ta, a)kle'a + ge'-nh-tai, ta' te a)'l-la kai` di' h(`n a i)-ti'hn e)po-le'-mh-san + a)l-lh'-loi-si. Per-se'wn me'n nun oi( lo'-gioi Foi'-n i-kas + ai)-ti'-ous fa-si` ge-ne'-sqai th=s dia-fo-rh=s; tou'-tous ga'r, + a)po` th =s )E-ru-qrh=s ka-leo-me'-nhs qa-la's-shs a)pi-ko-me'-nous + e)pi` th'n-de th`n q a'-las-san kai` oi)-kh'-san-tas tou=-ton to`n + xw=-ron to`n kai` nu=n oi)-ke'ou- si, au)-ti'-ka nau-ti-li'h|-si + ma-krh=|-si e)pi-qe'-sqai, a)pa-gi-ne'on-tas de` for-ti'-a + Ai)-gu'-ptia' te kai` )As-su'-ria th=| te a)'l-lh| [xw'-rh|] e)sa-pi + k-ne'e-sqai kai` dh` kai` e)s )'Ar-gos; to` de` )'Ar-gos tou=-ton + to`n xro'-non proei=-xe a('pa-si tw=n e)n th=| nu=n (El-la'-di + ka-leo-me'-nh| xw'-rh|. )A-pi -ko-me'-nous de` tou`s Foi'-ni-kas e)s + dh` to` )'Ar-gos tou=-to dia-ti'-qe-sqai to`n fo'r-ton. Pe'm-pth| de` + h)` e('kth| h(me'-rh| a)p' h(=s a)pi'-kon-to, e)c em-po-lh-me'-nwn + sfi sxe-do`n pa'n-twn, e)l-qei=n e)pi` th`n qa'-las-san gu-nai =-kas + a)'l-las te pol-la`s kai` dh` kai` tou= ba-si-le'os qu-ga-te'-ra; to` + de' oi( ou)'-no-ma ei)=-nai, ka-ta` tw)u-to` to` kai` ('El-lh-nes + le'-gou-si, )Iou =n th`n )I-na'-xou. + +And here is what Filippou's finds in the same passage: (You should +obtain the same result when compiling the present file, except for the +hyphenation points before the last letter of a word, which the +Ibycus-Babel interface suppresses by default.) + +(H-ro-do'-tou Qou-ri'-ou i(-sto-ri'-hs a)-po'-de-cis h('-de, w(s + mh'-te ta` ge-no'-me-na e)c a)n-qrw'-pwn tw=| xro'-nw| e)c-i'-th-la + ge'-nh -tai, mh'-te e)'r-ga me-ga'-la te kai` qw-ma-sta', ta` me`n + ('El-lh-si, ta` de` bar-ba'-roi-si a)-po-de-xqe'n-ta, a)-kle'-a + ge'-nh-tai, ta' te a)'l-la kai` di ' h(`n ai)-ti'-hn e)-po-le'-mh-san + a)l-lh'-loi-si. Per-se'-wn me'n nun oi( lo'- gi-oi Foi'-ni-kas + ai)-ti'-ous fa-si` ge-ne'-sqai th=s di-a-fo-rh=s; tou'-tous g a'r, + a)-po` th=s )E-ru-qrh=s ka-le-o-me'-nhs qa-la's-shs a)-pi-ko-me'-nous + e)-p i` th'n-de th`n qa'-las-san kai` oi)-kh'-san-tas tou=-ton to`n + xw=-ron to`n kai ` nu=n oi)-ke'-ou-si, au)-ti'-ka nau-ti-li'-h|-si + ma-krh=|-si e)-pi-qe'-sqai, a )-pa-gi-ne'-on-tas de` for-ti'-a + Ai)-gu'-pti-a' te kai` )As-su'-ri-a th=| te a) 'l-lh| [xw'-rh|] + e)s-a-pi-kne'-e-sqai kai` dh` kai` e)s )'Ar-gos; to` de` )'Ar- gos + tou=-ton to`n xro'-non pro-ei=-xe a('-pa-si tw=n e)n th=| nu=n + (El-la'-di k a-le-o-me'-nh| xw'-rh|. )A-pi-ko-me'-nous de` tou`s + Foi'-ni-kas e)s dh` to` )'A r-gos tou=-to di-a-ti'-qe-sqai to`n + fo'r-ton. Pe'm-pth| de` h)` e('-kth| h(-me' -rh| a)p' h(=s + a)-pi'-kon-to, e)c-em-po-lh-me'-nwn sfi sxe-do`n pa'n-twn, e)l-q ei=n + e)-pi` th`n qa'-las-san gu-nai=-kas a)'l-las te pol-la`s kai` dh` + kai` tou = ba-si-le'-os qu-ga-te'-ra; to` de' oi( ou)'-no-ma + ei)=-nai, ka-ta` tw)-u-to` to` kai` ('El-lh-nes le'-gou-si, )I-ou=n + th`n )I-na'-xou. + +Notice that the hyphenation points right after the first letter of +words beginning with a vowel+consonant+vowel are legal, according to +the rules for hyphenation of Greek, ancient and modern. See the +account by Yannis Haralambous "From Unicode to Typography, a Case +Study: the Greek Script", +<http://omega.enstb.org/yannis/pdf/boston99.pdf>, pp~18f. + +% finis diff --git a/Master/texmf-dist/doc/latex/ibycus-babel/ibycus-babel.pdf b/Master/texmf-dist/doc/latex/ibycus-babel/ibycus-babel.pdf Binary files differnew file mode 100644 index 00000000000..0399d4cfe29 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ibycus-babel/ibycus-babel.pdf diff --git a/Master/texmf-dist/doc/latex/ibycus-babel/ibyhyph.pl b/Master/texmf-dist/doc/latex/ibycus-babel/ibyhyph.pl new file mode 100644 index 00000000000..fe6a6734877 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ibycus-babel/ibyhyph.pl @@ -0,0 +1,87 @@ +#!/usr/bin/perl +# +# This perl script converts the Greek hyphenation patterns for the +# cbgreek encodings to the encoding used by the Ibycus greek font. +# +# Copyright Peter Heslin 2003. +# +# Usage: perl ibyhyph.pl < grhyph.tex > ibyhyph.tex +# +use strict; +my %seen; +my ($f, $p); + +my $preamble = << 'END'; +\message{Greek hyphenation patterns for Ibycus 4} +% This file was mechanically translated from a set of patterns +% for the standard greek encoding using the perl script ibyhyph.pl +\begingroup +\ifx\eTeXversion\undefined\message{not using eTeX}\else\savinghyphcodes=1\fi +\lccode`(=`( \lccode`)=`) \lccode``=`` +\lccode `'=`' \lccode`==`= \lccode`+=`+ +\lccode `|=`| +END + +print $preamble; + +my $v = '[aeiouhwr]'; # vowels plus rho +my $a = '[<>\'`~"|]'; # accents + +# Will break if patterns begin on the same line +while(<>) {last if m/\\patterns{%/} +print "\\patterns{%\n"; + +LINE: +while (<>) +{ + last if m/^}/; + if (m/^%/) + { + print $_; + next; + } + + for $p (split) + { + next LINE if $p =~ m/%/; + #print STDERR "$p\n"; + $p =~ s/''(\s|$)/'.$1/g; # apostrophe (at end of word) + $p =~ s/(\s|^)''/.'/g; # apostrophe (at start) + + $p =~ s/\b\w*v\w*\b//g; # get rid of patterns with v + $p =~ s/<($a*)($v)/$2($1/g; # move and change breathings + $p =~ s/>($a*)($v)/$2)$1/g; # move and change breathings + $p =~ s/($a+)($v)/$2$1/g; # move accents + + $p =~ s/~/=/g; # change circumflex + $p =~ s/"/+/g; # change diaresis + + $p =~ tr/jxqc/qcxj/; # change theta, xi, chi, final sigma + + # odd bits + $p =~ s/<(\d)($v)/$2$1(/g; + $p =~ s/>(\d)($v)/$2$1)/g; + + # This is a trick Ibycus can't use: breaking right after the vowel + $p =~ s/^($v+)1$/${1}1 ${1}2'1 ${1}2`1 ${1}2=1 ${1}2)1 ${1}2)2'1 ${1}2)2`1 ${1}2)2=1 ${1}2(1 ${1}2(2'1 ${1}2(2`1 ${1}2(2=1 ${1}2+1 ${1}2+2'1 ${1}2+2`1/g; + + # iota subscript follows accents as well as vowels + $p =~ s/$v(\d)\|(\d)/$1|$2/g; + + $p =~ s/r\d$a//g; + $p =~ s/\w*\^\^\w*//g; + + # If we fold c and s, it causes duplicates + next if $seen{$p}; + $seen{$p}++; + + #print STDERR "$p\n\n"; + + print "$p\n" unless $p =~ m/^\s*$/; + } + +} + +print "}\n\\endgroup\n\\endinput\n"; + +# end diff --git a/Master/texmf-dist/doc/latex/ibycus-babel/install.txt b/Master/texmf-dist/doc/latex/ibycus-babel/install.txt new file mode 100644 index 00000000000..72296562c88 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ibycus-babel/install.txt @@ -0,0 +1,91 @@ +============================================================ + Installing the Ibycus-Babel interface + version 2.4 as of 2004-11-19 +============================================================ + Peter Heslin p.j.heslin(at)dur.ac.uk + Walter Schmidt w-a-schmidt(at)gmx.net + + + +Requirements +------------ +1) You must have installed the Ibycus fonts, (The related +macros are, however, not needed.) + +2) LaTeX must be based upon an eTeX program, rather than on +`ordinary' TeX. + + +Hyphenation patterns +-------------------- +The file ibyhyph.tex provides the hyphenation patterns for +the Greek language with the particular encoding of the +Ibycus fonts. + +Store the file in a directory where LaTeX will find it. To +make LaTeX actually use it, edit the configuration file for +the hyphenation patterns. Most likely, the file has the +name "language.dat" in your TeX system. Add the following +line to this file: + +ibycus ibyhyph + +Thus, you establish a relation between the language name +"ibycus" and the file name "ibyhyph.tex". Update the +filename database (if applicable) and create a new LaTeX +format file, which will use the additional hyphenation +patterns. If you do not know how to do this, check the +documentation of your TeX distribution, or consult the FAQ +at http://www.tex.ac.uk/cgi-bin/texfaq2html?label=formatstymy + +ibyhyph.tex was generated from a set of Greek hyphenation +patterns for LGR encoding through the Perl script +ibyhyph.pl, which is also part of the distribution. + +| We recommend to update the hyphenation file and re-make +| the LaTeX format, even if you have installed release 1.5 +| of the Ibycus-Babel interface already. Rationale: The +| pattern file has been improved so as to auto-detect eTeX. + + +Macro files +----------- +Store the documented source file ibycus-latex.dtx, the +related installation script ibycus-latex.ins and the Perl +script ibyhyph.pl in an appropriate directory of your TeX +system, e.g., in texmf/source/latex/ibycus-babel. + +In this directory, run the installation script +ibycus-latex.ins through LaTeX: + + latex ibycus-babel.ins + +Doing so will create the files ibycus.ldf and ufib.fd. + +Move the files ibycus.ldf and ufib.fd to a directory, where +LaTeX can find them, e.g., texmf/tex/latex/ibycus-babel. + +| If you have installed the previous version 1.5, remove the +| ibycus.ldf from the directory texmf/tex/generic/babel, +| where it used to be installed automatically. + +Finally, update the filename database (if applicable). + + +Documentation +------------- +Use of the Ibycus-babel interface is described in the +document ibycus-babel.pdf. Store it in an appropriate +directory of your TeX system. + + +Testing +------- +Compile the file ibycus-babel-test.tex. Examine the printed +result, and check the list of possible hyphenation points in +the log file. You can see if these match those given in the +comments in the source of ibycus-babel-test.tex, near the +end of the file. + + +-- finis |