From 907cb70400c5c2b7672cc28d73350d5b91e77ba9 Mon Sep 17 00:00:00 2001 From: gferg <> Date: Tue, 18 Feb 2003 21:41:57 +0000 Subject: [PATCH] new --- LDP/howto/docbook/Secure-CVS-Pserver.xml | 783 +++++++++++++++ LDP/howto/docbook/Tamil-Linux-HOWTO.xml | 1159 ++++++++++++++++++++++ 2 files changed, 1942 insertions(+) create mode 100644 LDP/howto/docbook/Secure-CVS-Pserver.xml create mode 100644 LDP/howto/docbook/Tamil-Linux-HOWTO.xml diff --git a/LDP/howto/docbook/Secure-CVS-Pserver.xml b/LDP/howto/docbook/Secure-CVS-Pserver.xml new file mode 100644 index 00000000..092630bb --- /dev/null +++ b/LDP/howto/docbook/Secure-CVS-Pserver.xml @@ -0,0 +1,783 @@ + + + +
+ + + Secure CVS Pserver Mini-HOWTO + + + Morgon + Kanter + +
+morgon AT surgo DOT net +
+
+
+ + + 2003 + Morgon Kanter + + + + + Permission is granted to copy, distribute, and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in , entitled "GNU + Free Documentation License". + + + + February 2003 + + + + 1.0 + 2003-02-01 + mk + Initial Release, reviewed by LDP. + + + + + This document will help you set up a more secure CVS + Pserver for anonymous CVS access. + + +
+ + + Introduction + + CVS Pserver is, by definition, an insecure protocol. Among + other things, passwords are transmitted in plain text, making it + undesirable for much use. However, CVS Pserver is very good for + providing anonymous CVS access to a repository. + + + In this document we will introduce you to setting up a CVS + repository (although not intruding on the CVS HOWTO's space), + and how to set up a chroot jail for the Pserver. + We will also talk about using SSH for developer access to a repository. + + + + + Getting the tools + + + What you need + + You'll need the following things in order to set up a secure Pserver: + + + + CVS + + Of course, you will need to have CVS in order to be running it. + You can get it here. + + + + + cvsd + + cvsd is a program that will run the CVS Pserver in a chroot jail. You can get it here. + + + + + SSHd + + If you want your developers to have secure access to the repository, + you'll have to be running an SSH server. However, setting up that + access is beyond the scope of this Mini-HOWTO. More information can be found at . + + + + + + + Compiling the tools + + If you are compiling from the sources, follow these instructions. + If you downloaded binaries, skip ahead to . + + + + Compiling CVS + + After you have downloaded the CVS sources, unpack them into a directory and cd into it. The default prefix is /usr/local; we've changed it to /usr for this example. You might want to change mandir to wherever your man pages reside (the default is PREFIX/man). + + +$ ./configure --prefix=/usr +$ make +# make install + + + + + Compiling cvsd + + There are a few configure switches you should be aware of here. The default prefix is /usr/local, which in this document we are changing to /usr. You should also change sysconfdir to /etc, where the system config files usually reside. You might want to change mandir to wherever your manual pages reside as well. + + +$ ./configure --prefix=/usr --sysconfdir=/etc +$ make +# make install + + + Now lets go on to setting up these wonderful tools. + + + + + + + Setting up the tools + + Now that CVS and cvsd are built, let's set them up. + + + + Creating the CVS Repository + + Before we begin, I strongly recommend you read the CVS manual that + was installed with the rest of CVS. If the stand-alone info browser + or the texinfo package is installed on your system, you can see + this manual by typing the command info cvs at your shell. + + + First, plan out where you want your repository. Debian defaults to /var/lib/cvs. My repository is under the directory /cvs/root, and is on its own small partition. What you do depends on your needs and can vary widely. + + + Make sure that the repository is a subdirectory of an empty directory! For example, if you are installing it into /var/lib/cvs, put the repository in /var/lib/cvs/root (or whatever you want for the last directory). This is because we create a chroot jail for the Pserver! + + + + + After you have planned where you want to put your repository, + made the necessary partitions, if desired, and run the following command + (we assume that it will be at /cvs/root): + + +$ cvs -d /cvs/root init + + + That will initialize your repository and set up the necessary + CVSROOT files. + + + + + Setting up the jail + + Now that we have the CVSROOT set up, we need to copy the + appropriate libraries and files for cvsd, which runs the + Pserver in the chroot jail. + + + + Copying the necessary files + + + If you installed cvsd from a package management system like + RPM, this may already be done for you. If that is the case, + skip ahead to the next step. + + Change your directory to /cvs (or whatever the directory before your root is) and enter the following commands: + + +$ cvsd-buildroot /cvs +$ mkdir -p var/lock +$ adduser cvsd +$ addgroup cvsd + + + Thankfully, cvsd comes with the script cvsd-buildroot, so we don't have to do all the necessary copying by hand. However, you should edit the /cvs/etc/passwd file, and remove the entry for root, as it's unneeded. + + + + + Configuring cvsd + + The defaults in /etc/cvsd/cvsd.conf are okay, but can be less than desirable. Make sure that RootJail is set to wherever the chroot jail you built is, and the repository is the directory where the repository is relative to the chroot jail. Set maxconnections to whatever you desire, and make sure that Uid and Gid are set to cvsd. If you are lacking an already-built cvsd.conf file, here is mine: + + + My <filename>cvsd.conf</filename> + +Uid cvsd +Gid cvsd +PidFile /var/run/cvsd.pid +RootJail /cvs +MaxConnections 10 +Nice 1 +Listen * 2401 +Repos /root +Limit coredumpsize 0 + + + + + + + Adding anonymous access + + It's back to configuring CVS, but don't worry, we are almost + there! We have to edit a couple of necessary files to allow for + anonymous access. First, making sure you aren't in the CVS directory, + check out the CVSROOT module: + + +# cvs -d /cvs/root checkout CVSROOT +# cd CVSROOT + + + Now edit the file READERS. Create it if it isn't there, and add a line that reads anonymous. + + You NEED to have an extra line at the end of the file! + + The file READERS is a list of users who have read-only access to + the CVS repository. People with write access are listed in the + file WRITERS. Read the cvs manual for more information on these + files. + + + Now commit the repository with the command below. We assume + that your current working directory is CVSROOT. If it + isn't, forget the cd step. + + +# cd ../ +# cvs -d /cvs/root commit + + + You should now get a message that says something like Re-building administrative files, which means that it was successful. + + + One last step and we're all done! Run the following command, + and when prompted for a password, just press ENTER: + + +# cvsd-passwd /cvs/root anonymous + + + Congratulations! You now have secure, anonymous CVS Pserver access + to the repository! + + + + + Not quite done yet! Changing lock file locations + + There is one small feature here that is really beyond the scope + of this Mini-HOWTO but is worth noting nonetheless. It is the + ability to change the directory where the Pserver will place lock files. + + + Normally the Pserver will place lock files in the same directory + as the files that you are trying to check out, but this can cause + permissions mayhem. Step back to when we built the chroot + jail for cvsd; we also created the directory var/lock. This is where we will place the lockfiles instead. + + + So use the following example, replacing /cvs with wherever your chroot environment is, and var with wherever the locks are going to be placed. Mine are placed in var/lock, and there is nothing else under var, so a chown -R is safe. Also, replace the cvsd user and group ids with the user and group ids that cvsd runs as. + + +# cd /cvs +# chown -R cvsd:cvsd var +# chmod -R 775 var +# cd +# cvs -d /cvs/root checkout CVSROOT +# cd CVSROOT + + + Now we want to edit the file config. Change lock dir to the directory you want the locks to be placed, in our case /var/lock. + + Note that this applies to the Pserver + AS WELL AS THE NON-CHROOT SSH LOGIN METHOD! + Ensure that this directory is not only in existence, but that you can + write to it as well, relative to your root directory. This is why I have + chosen /var/lock, because it satisfies those conditions. + + Now commit the changes: + + +# cd ../ +# cvs -d /cvs/root commit + + + And that's it! + + + + + + Alternatives to the Pserver + + + Access for developers + + Pserver is not a very good method to implement for your fellow developers + to access the repository. You can use CVS's SSH and ext method. + Simply add the user to the server's list of users, add the user + to the file WRITERS, and then they can do the following: + + +$ export CVS_RSH='/usr/bin/ssh' +$ cvs -d :ext:username@server.hostname:/cvs/root login + + + This is a much more secure way for developers to access the + repository. + + + + + Anonymous CVS access by http + + There is another way to allow anonymous access to CVS. If there + is an http server and Python installed on the server, you can use + a set of Python CGI scripts called + viewcvs, which allow people to + view the CVS repository over the web, and can generate tarballs for + users to download. + + + There is also a set of Perl CGI scripts that do the same thing + called + cvsweb, but Viewcvs is more mature and is preferred (at + least by me). + + + + + + Acknowledgements + + This Mini-HOWTO was written by Morgon Kanter, who is reachable + at morgon AT surgo DOT net, public key available from + http://www.surgo.net/pubkey.asc. + Email all problems with this document to him, and they will be fixed + ASAP. + + + My thanks goes out to all the people who contributed to CVS over the + years, as well as the creators of Viewcvs, and in turn the creators + of cvsweb who inspired it. + + + I would also like to thank Tabatha Persad for reviewing and helping me edit + this monster, as well as putting up with me. Thanks! + + + + + GNU Free Documentation License + +GNU Free Documentation License +Version 1.2, November 2002 + + +Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. +59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (Thus, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions +(which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version +if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified +Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), +unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + D. Preserve all the copyright notices of the Document. + E. Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the +terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. + H. Include an unaltered copy of this License. + I. Preserve the section Entitled "History", Preserve its Title, and add +to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If +there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as +given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. + J. Preserve the network location, if any, given in the Document for +public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions +it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at +least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. + K. For any section Entitled "Acknowledgements" or "Dedications", +Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements +and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers +or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. + N. Do not retitle any existing section to be Entitled "Endorsements" +or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warrany Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + +Copyright (c) YEAR YOUR NAME. +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.2 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled "GNU +Free Documentation License". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + +with the Invariant Sections being LIST THEIR TITLES, with the +Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. + + + +
diff --git a/LDP/howto/docbook/Tamil-Linux-HOWTO.xml b/LDP/howto/docbook/Tamil-Linux-HOWTO.xml new file mode 100644 index 00000000..6d37ee1d --- /dev/null +++ b/LDP/howto/docbook/Tamil-Linux-HOWTO.xml @@ -0,0 +1,1159 @@ + + +
+ + + Tamil Linux HOWTO + + + V. + Venkataramanan + +
+venkat@tamillinux.org +
+
+
+ + + Jan 2003 + + + 2002, 2003 + V. Venkataramanan + + + + + 1.0 + 2003-02-14 + venkat + Initial release, reviewed by LDP + + + + 0.9 + 2003-1-21 + venkat + Changes made to comply to TDLP specs. + + + + 0.8 + 2002-10-24 + venkat + First draft + + + + + D + Sivaraj + Initial conversion from LaTeX to Docbook XML + + + + + This document will help set up a working Tamil Linux environment. This describes setting up fonts, keyboard drivers, editing and printing Tamil/bilingual documents, and working with the X Window system. The information is kept as generic as possible. When it pertains to a specific distribution (say RedHat or Debian), it is explicitly noted. + + + +
+ + + + About this HOWTO + + Purpose/Scope of this HOWTO + + This document will help set up a working Tamil Linux environment. + Step-by-step instructions are provided for setting up fonts, editors, + etc. This document also describes the essential instructions need to + use web browsers, edit documents and print them. + + + The base URL of this document is: + + + + + + Feedback + + Comments and suggestions about this document may be directed to the author + (venkat@tamillinux.org) + + + + Copyright and License + © 2002, 2003 V.Venkataramanan. + Permission is granted to copy, distribute and/or + modify this document under the terms of the GNU Free + Documentation License, Version 1.2 or any later version + published by the Free Software Foundation; with no invariant + Front-Cover text, no Back-Cover text and no invarient sections. + + + A verbatim copy of the license can be obtained from the Free Software + Foundation Website at + + + + + Acknowledgements + Several postings by the following people were useful in + writing this document. The following people are thanked for all + their help: + + Thuraiappah Vaseeharan, D. Sivaraj, Sivakumar + Shanmugasundaram, Dinesh Nadarajah, Anbumani Subramanian, + Ganesan Rajagopal, M.K. Saravanan,... + + + + + + + + + Introduction + + Tamil is a member of the Dravidian languages. Its + origin is in southern India and the language is written with non-Roman + alphabets. So there is a need for special fonts, encoding, + keyboard layout and drivers, besides localization, including + currency, date format, etc. This document will give a complete + overview of setting up and working in the Tamil Linux + environment. There are several pieces of information and tools + available for Linux in Tamil; this how-to will serve as a + meta-index to all the scattered resources. + + A word before you enter - most of the fonts, tools, RPMs + and documents are being gathered under one site. So try the + resources at + + before you embark on treasure-hunting. + + + + + Fonts + + It can seem like anarchy. There are an unknown number of fonts, each + encoded with their own tables, driven by arbitrary keyboard + layouts and outputs. In my opinion, Tamil can seriously compete + with any other language for maximum number of font tables. + Added to this commotion are the dynamic fonts for the web + pages, that enable anyone to get away with a non-standard font + as long as his pages are viewable. + + Adding to all these is the official Indian Standard Code + for Information Interchange (ISCII), the Government of India + sponsored unifying + scheme to bring all Indian fonts under the Devanagari umbrella. + Anyone familiar with the way the characters are written in + Tamil and in Devanagari script will understand the lack of any + rationale in this approach. + + Needless to say, this is serving to only add to the + confusion. A good analysis of this and the unicode for Tamil is + once again written by Sivaraj and can be found at + + . For those not familiar with the Tamil script, a good + introduction written by Sivaraj is at + + . + + Let us ignore the anarchy for a moment and get a picture + of the frequently used font encodings. There are two main + contenders and luckily they will converge soon. The first and + most popular one is the Tamil Standard Code for Information + Interchange (TSCII), developed by volunteers throughout the world, + and the other, TAmil Monolingual (TAM), and TAmil Bilingual + (TAB) encodings, were proposed by the Tamil Nadu Government. Once + again, TAM is of limited use in an OS environment and we can + safely ignore that. Almost all Linux efforts are in TSCII + (Console, KDE, GNOME localizations). + + + + TSCII + + TSCII is a glyph-based, 8-bit bilingual encoding. It + uses a unique set of glyphs; the usual lower ASCII set. + Roman letters with standard punctuation marks occupy the + first 128 slots and the Tamil glyphs occupy the + upper ASCII + segment (slots 128-256). A good overview of the early font + encoding schemes and a the rationale behind the TSCII + approach can be found at + . + + + The home URL for TSCII volunteers is + . + This site discusses the TSCII + encoding and provides tools including fonts, keyboard + drivers, editors and inter-conversion tools for various + platforms. The font encoding table according to TSCII-1.6 can be + found at . + + + The current version of TSCII is 1.6, and a revision is + expected anytime now that will fix some anomalies in using + various slots for encoding. This version 1.7 will be fully + backward compatible with 1.6 and is expected to gain + popularity. The + TSCII discussion group currently brainstorms on + modifications to TSCII-1.6. You may be able to participate in + the discussions by becoming a member. You may also be + able to download various beta tools from there. The font encoding + table according to TSCII-1.7 (draft) can be found at + + . + + + + + TAB + + TAB is a character based bilingual standard proposed by + the government of Tamil Nadu. The TAB bilingual encoding table can be + found at . + Tools for TAB encoding (mostly restricted to the Windows + platform) can also be downloaded in the vicinity of this page. + + + + + + Miscellaneous fonts and encodings + +There are too many types, and unfortunately they are not documented well. +It is beyond the scope of this document to discuss them. + + + + + + + Console Tamil + + This so far has been a one man effort - once again by + Sivaraj. He has written a set of console tools for Tamil that + include a monospace font, keyboard driver and locale setup. In + his words: +
+ Sivaraj + You can use it with Lynx to read any TSCII-based + web sites or Pico to email in TSCII. Some characters may be disoriented, + since I try to fit all the characters in an + 8x16 cell. But it is still readable. +
+ + The tools can be downloaded here. Follow the instructions in the REAME file to install and use. +
+ + + + X Window + + Welcome! This is where you will find the most useful + tools for Tamil. Even for basic users, it is now possible to + have close to a total Tamil-localized office suite. + Tamil GUI is achieved in KDE or GNOME environment with localization + settings (more about this later in this document), and Tamil character + input is achieved using keymanager programs. But first you need to get + some fonts to do all this. + + + + Installing fonts + + Linux, by default, uses pcf fonts and one can also + use bsd fonts; these are bitmapped fonts that display + under X and can be printed. But, as is common with all bitmapped + fonts, these are not always WYSIWYG in print. For + high-quality printing you need Type-I fonts (Adobe), with + Ghostscript you need PS fonts and for afm fonts (American + Font metrics) are used. But most of the Tamil fonts + that are freely available are TrueType (ttf). We will see next + how to get all these fonts working. + + + + + Bitmapped fonts + + A bitmapped font is a matrix of dots; because of this, + these fonts are device-independent. A 75 dpi font, which is + good enough for displaying, is still a 75 dpi font in your + 1200 dpi printer. So usually bitmapped fonts are created for + a specific purpose, such as for displaying on a monitor or for + printing. Linux usually uses bdf or + pcf font for console or X + display. Fonts like those created by dvips + or dvi are + printer-related bitmapped fonts. These fonts occupy large sizes, but + programs circumvent this by dynamically creating them as + and when they are needed, and at a specific resolution. + + You can get bitmapped Tamil fonts for various + applications from: + + + + When an application makes a font request to the X Server, + XFree86 looks for fonts in specific directories. This means + that when you add fonts to your system and you want them to + be recognized by X Server, you need to tell X about the + location of these fonts. Simply add a directory to + your font path with the commands: + + + mkfontdir + xset fp+ <directory> + + + where the family directory is the name of the directory + where you have fonts. Once you have done this you have to ask + the server to get this registered for the session, with the + command + + xset fp rehash + + Since you will want these commands to run automatically, you should put them in your .xinitrc file ( or possibly your .Xclients or .xsession file -- this depends on how you start X. Another way to have the commands set automatically is edit XF86Config. For example, to add /usr/share/fonts/myfonts to the font path when X is started, edit XF86Config like this: + + + ... + Section "Files" + ... + FontPath /usr/share/fonts/myfonts + ... + EndSection + ... + + +The advantage of editing XF86Config is that the resulting changes are system wide. + + + + + TrueType fonts + + You may get TrueType fonts for TSCII, TAB and + TSCII1.7 encoding from the download section of + . + Alternate sources for these fonts are + + TSCII - + + + TAB - and + + + TSCII-1.7 (experimental) - + + + + Installing these fonts are either too easy or too + difficult. Too easy if you have one of the latest + distributions, like RedHat7.x or Mandrake7.x. This is because + RedHat (and Mandrake, maybe SuSE) come with + xfs pre-packaged. It is also easy to find + xfs for Debian, but as far as I know, + Debian does not come with xfs + packaged. + + Debian users are now redirected to this mini-howto on + TrueType fonts in Debian - + + + + There is also another utility, xfstt, + which is easier to install and use, but xfs + is becoming popular as it can handle Adobe Type1 in addition to + TrueType fonts. + + + If you do not have either of these, consider getting + either xfs (not to be confused with + Silicon Graphics (SGI) sponsored XFS journaling file system) from + . + + or xfstt from + . + You may also get xfstt binaries from + , + or reading an article about xfstt in the + Linux Gazette at + + + + + Installing TrueType Fonts + + You need to run these commands as root. If you are currently + logged in as a normal user, you can use su to + do this now. + + You should now have xfs availability, + otherwise use the steps in the previous section to obtain it. + + In some distributions like Mandrake, installing + TrueType fonts is a cakewalk. Just go to DrakConf + and use the font install utility - follow a few easy steps there and + you'll have them all. + + Put your TrueType fonts in whatever directory you want. For + example, /usr/share/tamiltt. + + + From within the directory containing your + new fonts, type: + + ttmkfdir -m 50 -o fonts.scale + + This makes a file that will contain the necessary + information about the fonts for the xfs server. The option + specifies the magnification for the fonts; + I have seen some Tamil fonts working well only with + . + + Then type: + + mkfontdir + + Now you can add the new directory to your + xfs search + path. Red Hat (and Red Hat-like) distributions come with a + neat utility to do this called chkfontpath. + Run chkfontpath like this: + + chkfontpath --add /usr/share/tamiltt + + This will add the new font directory to your font + path. + + (Other users, who have an xfs font + server, without ttf support, can do this by + editing their xfs configuration + file. + + If xfs is already installed on + your system, you should see which port it is running on. You can + do this with the following command: + + ps ax grep xfs + + Then check your XFree86 font path with this + command: + + xset -q + + If your font path includes something like unix:/port + number, where port number is the port on which the server + is running, then you already have xfs + set up properly. Otherwise, you should add it to your XFree86 + font path with these commands: + + xset fp+ <unix/:port number> + + xset fp rehash + + + The port number is a numerical value, something like + 7100. + + + You can add the fontpath permanently by editing your + .xinitrc. To add it system-wide, + edit your XF86Config file (either under + /etc/X11/XF86Config, + /etc/X11/XF86Config-4, + /etc/XF86Config, or + /usr/X11R6/lib/X11/XF86Config), by + adding the following line to the Files section: + + + FontPath "unix/:port number" + + + Here is an example of how it should look: + + + ... + Section Files + ... + + FontPath "unix/:-1" + ... + EndSection + ... + + + If xfs is already properly installed, + then you can restart it like this as root: + + service xfs restart + + After restarting xfs, it is a good + idea to restart your X session. + + As most of the users in Tamil will be doing this, let + me summarize the essential steps. + + + + Become root. + + + + Download and copy some ttf fonts into a + directory (say /usr/share/fonts/tamiltt + ). + + + + Go to that directory and do a + ttmkfdir -m 50 -o fonts.scale (use the + option if your fonts do not budge). + + + + Do a mkfontdir . + (Notice that you need to specify the + directory either absolutely or with a dot). + + + + Do a chkfontpath --add /usr/share/fonts/tamiltt + . + (Remember this command is available only in Red Hat-like + distributions. If you can run this successfully, skip the + remaining steps and restart the X server). + + + + Do ps ax | grep xfs and get + the xfs port known. + + + + Check your font path: xset -q + + If your font path includes something like unix:/port + number, (something like unix: 7100), add this + to your xfont path: + + xset fp+ unix: port number + + xset fp rehash + + + + It is a good idea to restart the X Server. + + + + If everything works fine, update your + .xinitrc file, wherever it is. + + + + Have fun! + + + + + + + + + Other Font Servers + + There is another project, X-TrueType Server, worth + looking into, at . + + Another interesting project with broader scope is + FreeType; check . + + I personally feel xfs is a great + utility; it can handle Type1 fonts (very useful if you use programs + like GIMP). Besides, a stand alone xfs + server is not attached to X server. + This means that you can deliver these fonts for remote X + displays. I use this feature extensively with VNC Server + running in my host and VNC Viewer running locally in Windows. + It's something of a luxury having a Tamil Linux desktop + while working for my employer. + + + + + + Keyboard Drivers + + Once again, lack of standards shows up here. There are + quite a few Tamil keyboard layouts, the traditional typewriter + keyboard; then with the surge of internet arrived the romanized + transliteration keyboards; later the TAmil-Nadu government played + its part by prescribing a tamilnet99 keyboard. These are only a + few to talk about; we have a few others which do not fall into any + of these standards. + + There are two Tamil keyboard drivers for the X Window System, + both of them set to tamilnet99 standards (see + tamilnet99 website + for the details on the keymap). You will be able to download + both the keydrivers from the + + Yahoo! tamilinix group files section + . + + + + tamil_kmap + + The first driver is tamil_kmap, + created by Vasee. It is based on the original version of + Siva. It is operable under both TSCII 1.6 and TAB encodings. + The detailed installation instructions are given in the + README file in the package. It is very + simple to install. First, untar the package into a temporary directory. + Then type: + + + cp ta /usr/X11R6/lib/X11/xkb/symbols/ + + + + then: cp Compose /usr/X11R6/lib/X11/locale/iso8859-1 + + + and put the shell script setkb + into a directory on your system PATH . + You may need to become root + to copy these files into these directories. + + To use the Tamil keyboard, type + setkb tscii or setkb tab. + From inside the keyboard driver you will be able to switch + between the two standards, and also between Roman and Tamil + fonts. + + + + + tamilvp + + The other keyboard driver, tamilvp + (vp for Visaip Palakai) is written and maintained by + Dinesh. As indicated above, you may download that from the + Yahoo! tamilinix group file section. + It is available as rpm (I have not tried it out yet). Just install + the rpm and files will be in appropriate locations. To run the + program type tamilvp and you will get the GUI + cell to choose between Tamil (TSCII 1.6 or TAB) and English. + + + + + + KDE + + Historically, the K Desktop Environment (KDE) was the first + full Tamil user interface. Though far from complete, KDE was + there for Tamil, and Tamil among the Indic languages, for the first time. + Under KDE, with your localization properly set to Tamil, you may be + able to do almost everything (from editing files, to browsing the web + and e-mail, to administrative tasks such as user management and task + scheduling) with a Tamil user interface. + + + Getting Localization Files + + For the newbie, it is very easy to search the web for + Tamil KDE localizations RPMs. They are usually labelled + something like kde-i18n-Tamil-2.0-1mdk.i586.rpm. + i18n is just that: i(nternationalizatio)n, + 18(18letters). Tamil is the + localization setting corresponding to the Tamil language. + mdk signifies the package for Mandrake distribution. + Then comes the most important part; 2.0-1, + the KDE version number. Your base KDE version and this should be + the same, so when downloading, make sure that you get the proper + localized menus for the proper KDE version. i586 + signifies the precompiled binaries for the intel 586 platforms. Make sure + that you get the proper binary (there are usually source rpms + and rpms for other platforms such as alpha). If you are a + newbie you are better off using GUI based rpm installer such + as GNORPM or KPackage. First do a test install and check if + your system has all the needed packages. If not go to the + same source from where you downloaded the Tamil localization + and get them. After making sure that you installed all + dependencies, install the kde-i18n-tamil package as + well. + + If you are not a newbie, you know it. Get KDE Tamil + i18n files, and if you have time, get the sources and compile + them! + + KDE localization uses TSCII 1.6 encoding. This means + that you will need at least one TSCII font. Read the section + on fonts as to how to get it. + + + + + Choosing a Tamil locale + + This section assumes that have installed at least one + TSCII font (preferably several, to jazz up your GUI) and the KDE + Tamil localization package. + + From Start, go to + configuration > + KDE > + Personalization and choose + default (c) location. + + + Tamil/India is yet to be made available under + countries/languages. + + + Choose language >other + >Tamil. Accept this. All + changes will be activated, and will work on all windows opened + subsequently. + + Your user interface is now set in Tamil. If you see + some garbage on the window header etc., pat yourself on the back. You + are ready to see Tamil; move on! + + + + + Choosing Tamil fonts for GUI + + Again, from Start go to + configuration >KDE + >LooknFeel. You will see a set of + fonts for most (these are the ones used in display). Choose a Tamil + font instead for all these. Accept. + + Well done, you now see Tamil everywhere on your + desktop. You are ready, with a fully operational Tamil + system. + + + + + KDE Miscellaneous + + As with every other project, KDE-Tamil also needs a lot of + volunteers. Contact either Sivakumar or Vaseeharan (both of + them can be reached through the egroup + + Visit + before you try KDE Tamil. If you want to convince yourself (and + be bowled over), view the screenshots from tamillinux.org site. + + KDE's i18n process is unicode-based. As a work around, + Trolltech's QTsciiCodec class provides conversion to and from + the Tamil TSCII encoding. This codec uses the mapping table + found at + . Unfortunately Tamil uses composed Unicode. As such, Unicode + fonts cannot be used under KDE-TSCII; you need to have TSCII + fonts. The TSCII codec was contributed to Qt by Hans Petter + Bieker bieker@kde.org. + + + + + + GNOME + + GNOME Tamil localization works have just begun. There are + few applications for which Tamil menus are translated, and are + available. But it is yet to become the official member of GNOME + i18n distribution. + + In order to use them, download the currently available files + from: + + + + + and put them into the directory + /usr/share/locale/ta/LCMESSAGES/. + + + Under GNOME Control Panel you have set the fonts (both in + Themes and the Window Manger applet) to a TSCII font. + + You need to create binary messages from the po + files. This is done as follows: + + + msgfmt xxx.po -o /usr/share/locale/ta/LCMESSAGES/xxx.mo. + + + Note that the binary messages files contain an extension .mo +as opposed to .po for the text file. + + In order for you see Tamil, you have to set the locale to + Tamil. + + If you are using bash as your shell, then enter the + following line in your home directory. + + + export LANG=ta + export LANGUAGE=ta + export LC ALL=ta + + + Restart the X server. You should see Tamil menus and + dialogs in many of the GNOME enabled applications. Once again, + please consider contributing to the Tamil GNOME Project; we need a + lot of volunteers. Contact Dinesh (n_dinesh@yahoo.com) or through tamilinix yahoogroups. + + + + + + + + Printing + + This section is all about getting high-quality Tamil + output in printing. While it is one issue to load a binary font + and start using Tamil in Linux, if your work is + to destroy the forests, you need high-quality printing too! + + + + L<superscript>A</superscript>T<subscript>E</subscript>X + + LATEX + is perhaps the mother of all typographic systems. It frees the + author from the trivia of typesetting and concentrate on + the content. It does not use the WYSWYG input, + but the end result is great. Recent developments are centered + toward internationalization. Unfortunately lack of unicode + standard does not permit Tamil to be tried under the more + ambitious Omega Project. Once again, workaround is the only + way. A first step in Tamil has been attempted by Thuraiappah + Vaseeharan. You may get the the package from the tamillinux.org + site. The tar ball contains a great readme file that + describes the installation and usage. The tamiltex package + does a short work by keeping all related stuff under one + directory (which means that you need to keep your work under + the same directory to compile your source files). But the great + thing about this package is that it is compatible with both + TSCII and TAB encodings and the results are just what you + would expect from a + LATEX + package - great! + + + + + Postscript + + Many Linux applications use Ghostscript to print, which + means that you must have Ghostscript configured if you want + to use Tamil in printed documents. If + LATEX + is there, can PostScript be far away? Not thanks to Vasee. + Set the environment variable GS_FONTPATH to point + to your TrueType font directory. For example, I have: + + + GS_FONTPATH=/usr/local/share/fonts/tamiltt + export GS FONTPATH + + + You should be able to view Tamil PostScript files. + + + + + PDF + + As of now, the only source to create PDF files is the + PDF package. If you are able to successfully compile your + source with the tamiltex package, use + + pdflatex source.tex + + to generate the PDF file. You should be able to view it, using + xdvi or Adobe's Acroread for Linux. + + + + + + Word Processors, Office Packages + + Once TrueType fonts are installed properly, there is no + problem using them in Abiword, GNumeric or KOffice. However, + StarOffice needs Type 1 fonts. (I hear the latest StarOffice + supports TrueType fonts?). You can expect Type 1 Tamil fonts to + be available shortly:-). + + For receiving and sending email, KMail works well with + TrueType fonts. You should also be able to use PINE with + Sivaraj's console fonts and utils. + + + + + Viewing Web pages + + Konquerer supports Tamil fonts neatly, once made at the + proper scale under your font directory and served to X. Widely + used Netscape, however, is a problem. Netscape uses only 75 dpi + fonts for display. You might have noticed this even while + viewing Roman fonts, and got annoyed seeing small fonts. That + being the case with Roman, Tamil is impossible to comprehend + under 75 dpi. This can, however, be fixed by specifying the + appropriate resources in your .Xdefaults file: + + + Netscape*documentFonts.sizeIncrement: 20 + Netscape*documentFonts.xResolution*iso-8859-1: 150 + Netscape*documentFonts.yResolution.iso-8859-1: 150 + + + Remember that TSCII fonts are used as ISO-8859-1 fonts. + The parameter 150 is arbitrary; I have seen + some fonts scaling neatly under 100 itself + (TSCparanar, for one) which is good enough for viewing. If you are + still not satisfied with what you see, try using anti-aliasing under + X. + + + + + Pango + + + Pango + provides an open-source framework for the layout and rendering + of internationalized text and uses Unicode for all of its + encoding. It aims to eventually support output in all the major + languages. When GNOME 2.0 comes out, the text rendering is + expected to be by Pango. Pango is expected to be the panacea + for complex font schemes like kanji, arabic/hebrew + (bidirectional), so Tamil is no problem. Tamil is one of the + early languages in Pango - right there in the first public + version. Sivaraj provided TSCII support, which was later + extended to TAB by Vikram. + + + + + Miscellaneous + + For the latest news, views and tools in Tamil Linux: + + + Issues related to Tamil localization are mostly discussed + at: + + + + + Under the files section there you may get some tools, few HOWTOs + (most of those issues are unified in this document already) and some + tutorials. + + If you want to read about Open Source (Free Software) history in + Tamil, see: + + + + + Ganesan Rajagopal is checking in CVS for Tamil locales + under the Sourceforge project on Tamil Linux, you may be get + them from: + + + + + + There is a simple guide to setting up a working Tamil + Linux environment, addressed to newbies, available at: + + + + + + + Appendix of Tamil Font Encodings + + There are several non-standard font encoding schemes for + Tamil. Then there are a whole lot of fonts (used mostly by + publishing houses in Tamil Nadu, such as Vikatan, Kumutham, + thinamaNi, etc.) which do not comply with any of these. The + three major font encoding schemes are; + + TSCII (Tamil Standard Code of Information Interchange - + currently running in beta version 1.7); the first efforts by + volunteers throughout world. + + TAB (TAmil Bilingual); proposed and approved by the Tamil + Nadu government + + + +TSCII 1.6 Encoding Table + +vowels: a, aa/A, i, ii/I, u, uu/U, e, ee/E, ai, o, oo/O, au, aq + +consonants: k, ng, c, ny, t, N, th, n^, p, m, y, r, l, v, zh, L, R, n + +--------------------------------------------------------- +Position | character name | TSCII glyph +---------|------------------------|---------------------- +Characters 0-127 are as in the standard lower ASCII set +---------|------------------------|---------------------- +128 80 | c128 | tamil numeral 0 +129 81 | c129 | tamil numeral 1 +130 82 | baseline single quote | tamil numeral 2 +131 83 | florin | tamil numeral 3 +132 84 | baseline double quote | tamil numeral 4 +133 85 | ellipsis | tamil numeral 5 +134 86 | dagger (single) | tamil numeral 6 +135 87 | dagger (double) | tamil numeral 7 +136 88 | circumflex | tamil numeral 8 +137 89 | per mil (thousand) | tamil numeral 9 +138 8A | S caron | modifier for aa/A +139 8B | left single guillemet | modifier for I +140 8C | OE ligature | modifier for Ii/I +141 8D | c141 | modifier for u +142 8E | c142 | modifier for uu/U +143 8F | c143 | modifier for e +144 90 | c144 | modifier for ee/E +145 91 | open single quote | (left single guillemet) +146 92 | close single quote | (right single guillemet ) +147 93 | open double quote | (left double guillemet) +148 94 | close double quote | (right double guillemet ) +149 95 | bullet (large) | tamil numeral 10 +150 96 | en dash | tamil numeral 100 +151 97 | em dash | tamil numeral 1000 +152 98 | tilde | modifier for ai +153 99 | unregistered trademark | tamil vowel a +154 9A | s caron | tamil vowel aa/A +155 9B | right single guillemet | tamil vowel i +156 9C | oe ligature | tamil vowel ii/Ai +157 9D | c157 | tamil vowel u +158 9E | c158 | tamil vowel uu/U +159 9F | Y diaeresis | tamil vowel e +160 A0 | non-breaking space | (vacant) +161 A1 | Spanish inverted ! | tamil vowel ee/E +162 A2 | cents | tamil vowel ai +163 A3 | pounds | tamil vowel o +164 A4 | intl. monetary symbol | tamil vowel oo/O +165 A5 | yen | tamil vowel au +166 A6 | broken bar | tamil vowel aq +167 A7 | section symbol | tamil uyirmei ka +168 A8 | diaeresis | tamil uyirmei nga +169 A9 | copyright | copyright +170 AA | feminine ordinal | tamil uyirmei ca +171 AB | left double guillemet | tamil uyirmei nya +172 AC | logicalnot | tamil uyirmei ta +173 AD | soft hyphen (minus) | tamil uyirmei Na +174 AE | registered trademark | registered trademark +175 AF | macron | tamil uyirmei tha +176 B0 | ring (also degrees) | tamil uyirmei n^a +177 B1 | plus/minus | tamil uyirmei pa +178 B2 | superscript 2 | tamil uyirmei ma +179 B3 | superscript 3 | tamil uyirmei ya +180 B4 | acute | tamil uyirmei ra +181 B5 | micro symbol (or mu) | tamil uyirmei la +182 B6 | pilcrow (paragraph) | tamil uyirmei va +183 B7 | bullet (small) | bullet (small) +184 B8 | cedilla | tamil uyirmei zha +185 B9 | superscript 1 | tamil uyirmei La +186 BA | masculine ordinal | tamil uyirmei Ra +187 BB | right double guillemet | tamil uyirmei na +188 BC | one-fourth | grantha letter ja +189 BD | one-half | grantha letter sha +190 BE | three-fourths | grantha letter sa +191 BF | Spanish inverted ? | grantha letter ha +192 C0 | A grave | grantha letter ksha +193 C1 | A acute| | grantha letter sri +194 C2 | A circumflex | tamil uyirmei ti/di +195 C3 | A tilde | tamil uyirmei tii/dii +196 C4 | A diaeresis | tamil uyirmei ku +197 C5 | A ring | tamil uyirmei ngu +198 C6 | AE ligature | tamil uyirmei cu +199 C7 | C cedilla | tamil uyirmei nyu +200 C8 | E grave | tamil uyirmei tu +201 C9 | E acute | tamil uyirmei Nu +202 CA | E circumflex | tamil uyirmei thu +203 CB | E diaeresis | tamil uyirmei n^u +204 CC | I grave | tamil uyirmei pu +205 CD | I acute | tamil uyirmei mu +206 CE | I circumflex | tamil uyirmei yu +207 CF | I diaeresis | tamil uyirmei ru +208 D0 | Icelandic Eth | tamil uyirmei lu +209 D1 | N tilde | tamil uyirmei vu +210 D2 | O grave | tamil uyirmei zhu +211 D3 | O acute | tamil uyirmei Lu +212 D4 | O circumflex | tamil uyirmei Ru +213 D5 | O tilde | tamil uyirmei nu +214 D6 | O diaeresis | tamil uyirmei kU +215 D7 | multiply symbol | tamil uyirmei ngU +216 D8 | O with oblique stroke | tamil uyirmei cU +217 D9 | U grave | tamil uyirmei nyU +218 DA | U acute | tamil uyirmei tU +219 DB | U circumflex | tamil uyirmei NU +220 DC | U diaeresis | tamil uyirmei thU +221 DD | Y acute | tamil uyirmei n^U +222 DE | Icelandic Thorn | tamil uyirmei pU +223 DF | German sharp s | tamil uyirmei mU +224 E0 | a grave | tamil uyirmei yU +225 E1 | a acute | tamil uyirmei rU +226 E2 | a circumflex | tamil uyirmei lU +227 E3 | a tilde | tamil uyirmei vU +228 E4 | a diaeresis | tamil uyirmei zhU +229 E5 | a ring | tamil uyirmei LU +230 E6 | ae ligature | tamil uyirmei RU +231 E7 | c cedilla | tamil uyirmei nU +232 E8 | e grave | tamil vowel k (ik) +233 E9 | e acute | tamil vowel ng (ing) +234 EA | e circumflex | tamil vowel c (ikc) +235 EB | e diaeresis | tamil vowel ny (iny) +236 EC | i grave | tamil vowel t (it) +237 ED | i acute | tamil vowel N (iN) +238 EE | i circumflex | tamil vowel th (ith) +239 EF | i diaeresis | tamil vowel n (in^) +240 F0 | Icelandic eth | tamil vowel p (ip) +241 F1 | n tilde | tamil vowel m (im) +242 F2 | o grave | tamil vowel y (i<) +243 F3 | o acute | tamil vowel r (ir) +244 F4 | o circumflex | tamil vowel l (il) +245 F5 | o tilde | tamil vowel v (iv) +246 F6 | o diaeresis | tamil vowel zh (izh) +247 F7 | divide symbol | tamil vowel L (iL) +248 F8 | o with oblique stroke | tamil vowel R (iR) +249 F9 | u grave | tamil vowel n (in) +250 FA | u acute | grantha vowel j (ij) +251 FB | u circumflex | grantha vowel sh (ish) +252 FC | u diaeresis | grantha vowel s (is) +253 FD | y acute | grantha vowel h (ih) +254 FE | Icelandic thorn | grantha vowel ksh (iksh) +255 FF | y diaeresis | (vacant) +---------|------------------------|------------------------ + + + + +