Giter Club home page Giter Club logo

khaledhosny / harftex Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tex-live/luatex-svn-git

30.0 30.0 0.0 213.48 MB

A TeX enginge with embedded HarfBuzz and Lua

License: GNU General Public License v2.0

Shell 1.57% Perl 0.27% Makefile 8.98% TeX 3.87% Lua 1.46% M4 0.80% Awk 0.10% CMake 0.22% C 68.85% Assembly 0.33% DIGITAL Command Language 0.08% Objective-C 0.12% Dockerfile 0.01% C++ 8.69% Batchfile 0.02% Roff 1.16% Module Management System 0.01% HTML 3.39% CSS 0.09% SAS 0.01%
harfbuzz luatex

harftex's People

Contributors

hartmut-h avatar kberry avatar khaledhosny avatar luigiscarso avatar oneiros-de avatar paweljackowski avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

harftex's Issues

No ligatures with Arabic

I'd like to see if the bidi algorithm in babel works with harftex, and which changes would be necessary.

So, I've downloaded the binaries for Windows from http://ctan.ijs.si/mirror/w32tex/current/harftex-w32.tar.xz, but the sample files doesn't show the text correctly - only isolated forms. I've added the following features, and there are a few ligatures, but not all: +fina;+init;+medi;+isol;+med2;+mset;+rtla;+curs;+falt. I've also installed the files available here, with no luck.

glyph overlap in Segoe UI Emoji

\documentclass{article}
\usepackage{harfload}
\usepackage{fontspec}

\begin{document}
\Huge
\noindent
\fontspec{Segoe UI Emoji}[RawFeature={mode=harf}]
πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦β°β°\\
\fontspec{Noto Color Emoji}[RawFeature={mode=harf}]
πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦β°β°
\end{document}

When I process the above file with harflatex 0.40 installed from TeXLive Contrib, I get
emoji4
We see that the glyphs in Segoe UI Emoji are overlapping. I doubt if this is an intended behavior. The generated PDF is attached below.
emoji4.pdf

Warning about missing script with unicode-math

\documentclass{article}
\usepackage{harfload}
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}

\begin{document}
abc
\end{document}

leads to lots of warnings with

Package fontspec Warning: OpenType feature 'Style=MathScriptScript' (ssty) not
(fontspec)                available for font 'LatinModernMath' with script
(fontspec)                'Math' and language 'Default'.

Without harfload there are no warnings. In case that there is something wrong in fontspec or the luaotfload-code: it is imho better if such issues are corrected at the source than trying to patch around. I will then move the issue to the right place.

Segoe UI Emoji font has strange color (title editted)

Segoe UI Emoji font is an emoji font in MS Windows and it contains
both black-and-white version and color version.

When I process

\documentclass{minimal}
\usepackage{harfload}
\font\testbw={name:Segoe UI Emoji:mode=node}
\font\testcolor={name:Segoe UI Emoji:mode=harf}
\begin{document}
\testcolor
πŸ˜„πŸ‘Œβ˜ƒβ›„
\testbw
πŸ˜„πŸ‘Œβ˜ƒβ›„
\end{document}

I get
test2.png
which is almost what I expect. The colors look strange.

But when I process

\documentclass{minimal}
\usepackage{harfload}
\font\testbw={name:Segoe UI Emoji:mode=node}
\font\testcolor={name:Segoe UI Emoji:mode=harf}
\begin{document}
\testbw
πŸ˜„πŸ‘Œβ˜ƒβ›„
\testcolor
πŸ˜„πŸ‘Œβ˜ƒβ›„
\end{document}

I get

test3.png

I do not have the color emojis. The latter behavior seems a bug.

Odd font embedding

There seems to be a regression in the font embedding. Wide (encodingbytes=2) Type 1 fonts are embedded correctly by LuaTeX, while HarfTeX does something odd with them. (They seem to be inserted as CID fonts, but still embedded as Type 1 instead of CFF fonts)
At least for PDF 1.7 (I don't know about PDF 2.0, but I would be very surprised if this was added) this is not allowed by the PDF specification and except by Acrobat also not supported by viewers.

removal of fontloader library breaks the luatexja package

\documentclass{article}
\usepackage{harfload}
\usepackage{luatexja}

\begin{document}
abc
\end{document}

fails with

texmf-dist/tex/luatex/luatexja/ltj-jfont.lua:811: attempt to index a nil value 
(global 'fontloader')
stack traceback:
	...exlive/2019/texmf-dist/tex/luatex/luatexja/ltj-jfont.lua:811: in main chunk
	[C]: in function 'require'
	c:/texlive/2019/texmf-dist/tex/luatex/luatexja/luatexja.lua:17: in local 'load_
module'
	c:/texlive/2019/texmf-dist/tex/luatex/luatexja/luatexja.lua:106: in main chunk
	[C]: in function 'dofile'
	[\directlua]:1: in main chunk.
l.181 }

If the library is really removed, it would be good to notify the authors so that they can check their options. (btw: the speedata publisher uses the library too).

Overhaul build system

Consider switching to meson and simplifying the build system instead of the stripped-down-TeX Live-source-tree approach we have in place now.

I have always wondered about doing this since working in XeTeX. May be it is time to bite the bullet and doi it.

does not load ttc fonts

When harflatex (This is HarfTeX, Version 0.3.0 (TeX Live 2020/dev)) processes the following file:

\documentclass{minimal}

\begin{document}
\font\test={name:Cambria:mode=node;}
\test aaa
\end{document}

harflatex produces the following error and does not give a PDF file:

</usr/local/share/fonts/ms/cambria.ttc
! error:  (file /usr/local/share/fonts/ms/cambria.ttc) (type 2): invalid TTC in
dex number -1 (0..1), using index 0 for font Cambria
!  ==> Fatal error occurred, no output PDF file produced!

Cambria is a ttc font bundled with MS Windows 10 (and earlier Windows). As far as I see, any ttc font produces the same error as above.

Both This is LuaTeX, Version 1.10.0 (TeX Live 2019) and This is LuaHBTeX, Version 1.11.1 (TeX Live 2020/dev) can correctly handle the above LaTeX file.

Update the manual

Need to figure out how to build it first, context from TeXΒ Live 2018 fails to process it. Waiting for TeXΒ Live 2019 to see if it does any better.

Add LuaJIT engine

I was under the impression that LuaJIT is dead, but it seems @pgundlach (and possibly others) needs it.

Need to check how feasible it is to build one and whether is supports the same Lua version as the main engine.

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.