Giter Site home page Giter Site logo

lohit2's Introduction

Lohit Fonts Project

prerequisite to building Lohit fonts
1a. Open font in Fontforge, import .fea file and generate fonts
1b. Using Makefile
	- python and fontforge
	- make ttf
2. sfntly for building web fonts.
	- Download "sfntly-read-only.zip" from http://code.google.com/p/sfntly/downloads/list 
	- Go to java folder and run $ant
	- Copy sfnttool.jar to /usr/share/java/

Scripts Usage:-
Lohit git is now included with required Makefiles. 
1)make all
  run this command from parent directory, it will generate all source, binary and web tarball.
  Once you checkout the .sfd files from lohit CVS, you just need to execute this script 
  and you will get all .ttf files in respective language directory. You can then install those font files
  by copying them to ~/.fonts directory. Then execute fc-cache command and then relogin to use that font.
  
2)makedist.sh
  Use this script to generate upstream tarball used by fonts-indic SPEC to build rpms.
  e.g. 
   To generate lohit-lang-$version.tar.gz follow steps as
   1) Anonymous CVS access
       $ svn co http://svn.fedorahosted.org/svn/lohit
   1) cd lohit
   2) sh makedist.sh
    You will get upstream tarball used to build lohit-fonts-$version-1 rpm.
  NOTE:- This script can be used only from 2.1.1 and above version of this package.

Installing font (.ttf) file:
   You can install .ttf font files by copying them to ~/.fonts directory.
   Then execute fc-cache command and then relogin to use that font.

Lohit Project Information :-
See https://fedorahosted.org/lohit/ for more details.

Mailing list:-
http://www.redhat.com/mailman/listinfo/lohit-devel-list

lohit2's People

Contributors

juhp avatar pnemade avatar pravins avatar rahulpb avatar snehakore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lohit2's Issues

"iisign anusvara" changes to "iisign ra virama anusvara" after ka and pha

when typing: kadeva iisign anusvara
displays incorrect glyph iisign_ra_virama_anusvara.alt1 instead of iisigndeva_anusvaradeva.alt1.

Examples of incorrect rendering:

कीं -> र्कीं
फीं -> र्फीं

Need to replace: iisign_ra_virama_anusvara.alt1 with iisigndeva_anusvaradeva.alt1 in line #443 in Lohit Devanagari.fea file as given below

lookup PstsSub_Chain_ExtdEMatra {
lookupflag 0;
sub [\rvocalicdeva \kadeva \phadeva \qadeva \fadeva \rrvocalicdeva
\phadeva_radeva_nuktadeva \phadeva_viramadeva_radeva
\kadeva_viramadeva_kadeva \kadeva_viramadeva_tadeva
\kadeva_viramadeva_ladeva \kadeva_viramadeva_vadeva
\phadeva_viramadeva_ladeva ] [\iisigndeva \iisigndeva_anusvaradeva \iisigndeva_ra_virama
\iisign_ra_virama_anusvara ]' by [\iisigndeva.alt1
\iisigndeva_anusvaradeva.alt1 \iisigndeva_ra_virama.alt1
\iisign_ra_virama_anusvara.alt1 ];
} PstsSub_Chain_ExtdEMatra;

[deva] OTM error

@LetterModeller says he tried to compile the features for Lohit-Devanagari.ttf and OTM returned the following message:

[NOTE] Open log for OTM 3.70 on Fri Jul 18 17:14:16 2014.
[NOTE] Extern to intern conversion of 'maxp' table successfully done.
[NOTE] Extern to intern conversion of 'post' table successfully done.
[NOTE] Extern to intern conversion of 'cmap' table successfully done.
[NOTE] Extern to intern conversion of 'FFTM' table successfully done.
[NOTE] Extern to intern conversion of 'OS2' table successfully done.
[NOTE] Extern to intern conversion of 'cvt ' table successfully done.
[NOTE] Extern to intern conversion of 'fpgm' table successfully done.
[NOTE] Extern to intern conversion of 'gasp' table successfully done.
[NOTE] Extern to intern conversion of 'head' table successfully done.
[NOTE] Extern to intern conversion of 'glyf' and 'loca' tables successfully done.
[NOTE] Extern to intern conversion of 'hhea' table successfully done.
[NOTE] Extern to intern conversion of 'hmtx' table successfully done.
[NOTE] Extern to intern conversion of 'name' table successfully done.
[NOTE] Extern to intern conversion of 'prep' table successfully done.
[NOTE] Import feature file "/Volumes/Macintosh HD/Users/blokland/Desktop/Devnagari/Lohit.fea".
HOT [WARNING] [internal] Feature block seen before any language system statement.  You should place languagesystem statements before any feature definition [/Volumes/Macintosh HD/Users/blokland/Desktop/Devnagari/Lohit.fea 5]
HOT [NOTE] Glyph "shadeva_viramadeva_alt" not in font [/Volumes/Macintosh HD/Users/blokland/Desktop/Devnagari/Lohit.fea 171]
HOT [NOTE] Skipping useless ligature substitution [/Volumes/Macintosh HD/Users/blokland/Desktop/Devnagari/Lohit.fea 171]
HOT [NOTE] Glyph "shadeva_viramadeva_alt" not in font [/Volumes/Macintosh HD/Users/blokland/Desktop/Devnagari/Lohit.fea 312]
HOT [NOTE] Skipping useless part of chaining contextual substitution [/Volumes/Macintosh HD/Users/blokland/Desktop/Devnagari/Lohit.fea 317]
syntax error at "," missing ";" [/Volumes/Macintosh HD/Users/blokland/Desktop/Devnagari/Lohit.fea 355]
HOT [FATAL] aborting because of errors
[ERROR] Hatch Features, feature file "/Volumes/Macintosh HD/Users/blokland/Desktop/Devnagari/Lohit.fea" failed with error code 1.

The scripts folder has lots of pep8 warnings.

How to reproduce:
➜ scripts git:(test) pep8 auto_test.py
auto_test.py:3:80: E501 line too long (92 > 79 characters)
auto_test.py:19:10: E231 missing whitespace after ','
auto_test.py:19:10: E401 multiple imports on one line
auto_test.py:19:14: E231 missing whitespace after ','
auto_test.py:21:1: E302 expected 2 blank lines, found 1
auto_test.py:21:23: E231 missing whitespace after ','
auto_test.py:22:1: W191 indentation contains tabs
auto_test.py:22:11: E225 missing whitespace around operator
auto_test.py:23:1: W191 indentation contains tabs
auto_test.py:23:12: E225 missing whitespace around operator
auto_test.py:23:40: E231 missing whitespace after ','
auto_test.py:25:1: W191 indentation contains tabs
auto_test.py:25:2: E265 block comment should start with '# '
auto_test.py:25:27: W291 trailing whitespace
auto_test.py:26:1: W191 indentation contains tabs
auto_test.py:26:8: E225 missing whitespace around operator
auto_test.py:27:1: W191 indentation contains tabs
auto_test.py:27:7: E225 missing whitespace around operator
auto_test.py:29:1: W191 indentation contains tabs
auto_test.py:29:2: E265 block comment should start with '# '
auto_test.py:30:1: W191 indentation contains tabs
auto_test.py:31:1: W191 indentation contains tabs
auto_test.py:31:8: E225 missing whitespace around operator
auto_test.py:31:23: W291 trailing whitespace
auto_test.py:32:1: W191 indentation contains tabs
auto_test.py:32:61: E228 missing whitespace around modulo operator
auto_test.py:32:71: E231 missing whitespace after ','
auto_test.py:32:80: E501 line too long (81 > 79 characters)
auto_test.py:33:1: W191 indentation contains tabs
auto_test.py:33:80: E501 line too long (81 > 79 characters)
auto_test.py:33:82: W291 trailing whitespace
auto_test.py:34:1: W191 indentation contains tabs
auto_test.py:35:1: W191 indentation contains tabs
auto_test.py:35:18: E225 missing whitespace around operator
auto_test.py:35:34: W291 trailing whitespace
auto_test.py:36:1: W191 indentation contains tabs
auto_test.py:37:1: W191 indentation contains tabs
auto_test.py:37:9: E225 missing whitespace around operator
auto_test.py:39:1: W191 indentation contains tabs
auto_test.py:39:2: E265 block comment should start with '# '
auto_test.py:39:30: W291 trailing whitespace
auto_test.py:40:1: W191 indentation contains tabs
auto_test.py:40:40: E228 missing whitespace around modulo operator
auto_test.py:40:47: E231 missing whitespace after ','
auto_test.py:41:1: W191 indentation contains tabs
auto_test.py:42:1: W191 indentation contains tabs
auto_test.py:43:1: W191 indentation contains tabs
auto_test.py:47:1: W191 indentation contains tabs
auto_test.py:48:1: W191 indentation contains tabs
auto_test.py:48:2: E101 indentation contains mixed spaces and tabs
auto_test.py:48:9: E271 multiple spaces after keyword
auto_test.py:49:1: W191 indentation contains tabs
auto_test.py:50:1: W191 indentation contains tabs
auto_test.py:51:1: W191 indentation contains tabs
auto_test.py:52:1: W191 indentation contains tabs
auto_test.py:52:21: E231 missing whitespace after ','

it needs to be fixed.

Bug is Lohit Devanagari in special cases

Typing below sentence is Libreoffice 7.2.1.2:

बुद्धिवाद का उग्र अथवा आदर्श

the virama-radeva sign moves to isigndeva over dadeva_virama_dhadeva. Resulting incorrect redendering as given below:

बुर्द्धिवाद का उग्र अथवा आदश

This could not be Libreoffice issue as other fonts as Noto displays correct glyphs.

Reph not working as expected in Lohit2 Oriya

ର୍କ ର୍ଖ ର୍ଗ ର୍ଘ ର୍ଚ ର୍ଚ୍ଚ ର୍ଚ୍ଛ ର୍ଛ ର୍ଜ ର୍ଝ ର୍ଟ ର୍ଠ ର୍ଡ ର୍ଢ ର୍ଣ ର୍ତ ର୍ତ୍ତ ର୍ତ ର୍ଥ ର୍ଦ ର୍ଦ୍ଦ ର୍ଦ୍ଧ ର୍ଧ ର୍ନ ର୍ପ ର୍ଫ ର୍ବ ର୍ଭ ର୍ମ ର୍ଯ ର୍ଯ୍ଯ ର୍ଶ ର୍ଷ ର୍ସ ର୍ହ ର୍ଡ଼ ର୍ଢ଼

Uploading lohit2-oriya.png . . .

Anchor-0 is missing in Lohit Tamil2

In fontforge.

View->Combination->Anchored Pairs ->
Anchor-0 is missing.

How to resolve:
We need to define anchor and add Anchor points in all places.

In fontforge
Point-> Add Anchor
tamil-3

Are Lohit Fonts available in bold and italic ?

Ref: http://tug.org/pipermail/xetex/2015-July/026073.html

[XeTeX] Tamil Unicode fonts (bold, italic) for XeLaTeX

P. P. Narayanaswami swami at mun.ca
Sat Jul 18 17:13:42 CEST 2015

I want to type Tamil text in Ubuntu 14.04, with TeXLive 2014.
The Lohit Tamil font that comes with the Ubuntu is good normal font.
But since I cannot use font shape commands like \textbf, \slshape, etc
with this font in XeLaTeX, I need good bold and italic Tamil fonts to match
Lohit Tamil fonts. Also some fonts do not have the proper glyphs for "shrI",
"kSha" and "sha" in Tamil.

Can anyone, who is using XeLaTeX in Tamil, suggest three good matching Tamil
fonts, normal, bold, and italic shapes that also contain the glyphs "shrI",
"kSha, and "sha" to be used in the same document along with English (also bold,
italic and normal)? Thanks in advance.

Lohit Tamil issues in lohit2 trunch

Hi, while trying to do next release of Tamil with autotest i found following issues.

  • ஔ [autaml=0+307]
  • க [kataml=0+307]
  • ச [cataml=0+307]
  • ஜ [jataml=0+307]
  • ஞ [nyataml=0+307]
  • ண [nnataml=0+307]
  • ன [nnnataml=0+307]
  • ம [mataml=0+307]
  • ல [lataml=0+307]
  • ள [llataml=0+307]
  • ழ [lllataml=0+307]
  • வ [vataml=0+307]
  • ஷ [ssataml=0+307]
  • ஸ [sataml=0+307]
  • ஹ [hataml=0+307]
  • ூ [quotedcircle=0+781|uusigntaml=0+307]
  • ெ [esigntaml=0+307|quotedcircle=0+781]
  • ை [aisigntaml=0+307|quotedcircle=0+781]
  • ொ [esigntaml=0+307|quotedcircle=0+781|aasigntaml=0+535]
  • ௌ [esigntaml=0+307|quotedcircle=0+781|aulengthtaml=0+307]
  • ௗ [quotedcircle=0+781|aulengthtaml=0+307]
  • ௲ [onethousandtaml=0+307]
  • ௳ [daysigntaml=0+307]
  • ௴ [monthsigntaml=0+307]
  • ௵ [yearsigntaml=0+307]
  • ௷ [creditsigntaml=0+307]
  • ௺ [numbersigntaml=0+307]
  • கீ [kataml_iisigntaml=0+307]
  • க் [kataml_viramataml=0+307]
  • சீ [cataml_iisigntaml=0+307]
  • ச் [cataml_viramataml=0+307]
  • ஜூ [jataml=0+307|uusigntaml=0+307]
  • ஜ் [jataml_viramataml=0+307]
  • ஞ் [nyataml_viramataml=0+307]
  • ண் [nnataml_viramataml=0+307]
  • ன் [nnnataml_viramataml=0+307]
  • ம் [mataml_viramataml=0+307]
  • ல் [lataml_viramataml=0+307]
  • ள் [llataml_viramataml=0+307]
  • ழ் [lllataml_viramataml=0+307]
  • வ் [vataml_viramataml=0+307]
  • ஷூ [ssataml=0+307|uusigntaml=0+307]
  • ஷ் [ssataml_viramataml=0+307]
  • ஸூ [sataml=0+307|uusigntaml=0+307]
  • ஸ் [sataml_viramataml=0+307]
  • ஹூ [hataml=0+307|uusigntaml=0+307]
  • ஹ் [hataml_viramataml=0+307]

Need to update Right bearing for these shapes. Shortcut in fontforge is Control+R for same.

[deva] edic accent placement collissions

Lohit2 has some issues with Vedic accent placement:

अ॒ग्निमी॑ळे पु॒रोहि॑तं य॒ज्ञस्य॑ दे॒वमृ॒त्विज॑म् ।
मू॒ मॄ॒ मॢ॒ मॣ॒। ई॑ ऐ॑ ओ॑ औ॑ अं॑ अ॑ः। मि॑ मी॑ मे॑ मै॑ मो॑ मौ॑ मं॑
म॑ं म॑ः
ᳵ ᳶ

Here is the rendering in Firefox v30 on Mac OS X:

screen shot 2014-07-09 at 14 52 47

lohitize script?

In http://pravin-s.blogspot.in/2013/11/how-to-lohit-ise-open-type-fonts-not.html @pravins writes that to 'lohitize' a font you can follow 6 steps:

  1. git clone https://github.com/pravins/lohit2
  2. cd lohit2/devanagari (or the appropriate orthography)
  3. cp "yourfont.ttf" .
  4. open yourfont.ttf in fontforge and save as a yourfont.sfd
  5. open yourfont.sfd and update glyphs names as per lohit fonts.
  6. python ../scripts/apply_featurefile.py yourfont.sfd Lohit-.fea - this only import gsub of lohit project, it will keep gpos tables intact.

Step 4 could be easily automated with a 3 line script.

Step 5 could also be automated, perhaps by using github.com/davelab6/pyfontaine when it is extended to check glyphnames as well as unicode points (this month I expect)

Step 6, what is the purpose of keeping gpos tables in tact? And what if they are missing? :)

I suggest making a lohitize.py scrip that does this automatically :)

Review comments Lohit Oriya2

clean-

  1. square box glyphs
  2. keep consistency in name which is over 31 (kaodia_vir_ssaodia_vir_nnaodia)
  3. .null character not required.
  4. Exclaimation mark is blank
    • nonmarkingreturn is also not required.
  5. Does devenagari 951, 952 and 953 required? is Oriya
  6. uni0b64 and uni0b65 are blank.
  7. zerowidthjoiner and nonjoiner are not odia script character, no need to append odua there.
  8. no name for glyph114. glyph129, glyph168, glyph174, glyph183, glyph185, glyph226
  9. glyph236, glyph239, glyph242, glyph334
  10. glyph360 should be named by end .alt1 (same as viramasignodia_wodia), same for glyph362, 363 (.alt2, alt3), same applies for other below base half consonants.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.