Re: [XeTeX] strande behavior of Linux Libertine fonts with optio Fractions=On

2011-01-16 Thread mskala
On Thu, 13 Jan 2011, Fr. Michael Gilmary wrote:
I couldn't find the source code for the OpenType features
  in Latin Modern Roman;

 Voilà!

otfinfo -f lmroman10-regular.otf

I'd been hoping for the source code as such - i.e. the *.fea files.
Looking at the substitution tables after they're compiled into the *.otf
files can be difficult with a complicated feature like arbitrary-length
fractions; the table format isn't designed to be human-readable.

Nonetheless, I did take a look at the tables for Latin Modern Roman in
FontForge, and it appears to me that it's just substituting precomposed
glyphs - so that one fraction two will become onehalf and so on, but
it won't work on arbitrary fractions with a large number of digits.  I
haven't dug into Junicode myself, but Alexey Kryukov's posting suggests
that that's how Junicode does it as well.  The problem is in the
interaction between arbitrary-length fractions and digit sequences that
are not fractions:  I don't think it's possible to support
arbitrary-length fractions and also leave non-fraction digit sequences
untouched.
-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/

--
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex


Re: [XeTeX] strande behavior of Linux Libertine fonts with optio Fractions=On

2011-01-16 Thread Khaled Hosny
On Mon, Jan 17, 2011 at 12:04:33AM +0300, Alexey Kryukov wrote:
 On Sun, 16 Jan 2011 11:09:40 -0600 (CST)
 msk...@ansuz.sooke.bc.ca wrote:
 
  I'd been hoping for the source code as such - i.e. the *.fea files.
  Looking at the substitution tables after they're compiled into the
  *.otf files can be difficult with a complicated feature like
  arbitrary-length fractions; the table format isn't designed to be
  human-readable.
 
 Note that OT layouts aren't always generated from Adobe's feature
 files: *.fea is just one of possible human-readable formats. FontForge
 and MS Volt don't use this format, but instead provide a visual
 GUI for designing OT features, while Rogier van Dalen's OTComp
 utility uses an alternate feature description format.

However, LM fonts were done using feature files a AFDKO, but they don't
usually publish the feature files (for whatever the reason), but IIRC
they offer them upon request.

Regards,
 Khaled

-- 
 Khaled Hosny
 Arabic localiser and member of Arabeyes.org team
 Free font developer


--
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex


Re: [XeTeX] strande behavior of Linux Libertine fonts with optio Fractions=On

2011-01-13 Thread Fr. Michael Gilmary

� wrote:


Bonjour



Bonjour François




Who can explain (and correct if possible) this strange behaviour of the
Linux Libertine fonts if you add the option Fractions=On
  



AFAICT, this is a font issue. Curiously, other fonts render all the 
numbers as superscripts and when you add ``/'' between them, you get the 
fraction. This works with Minion Pro, Myriad Pro, Garamond Premier Pro 
--- but with fonts like Junicode and Latin Modern Roman (the otf font), 
you'll get *none* of the numbers superscript, but after adding the ``/'' 
you'll get the fraction. Different types of defaults, I guess ...?


HTH.




--
United in adoration of Jesus, 




fr. michael gilmary, mma

Most Holy Trinity Monastery
67 Dugway Road
Petersham, MA 01366-9725

www.MaroniteMonks.org






--
Subscriptions, Archive, and List information, etc.:
 http://tug.org/mailman/listinfo/xetex


Re: [XeTeX] strande behavior of Linux Libertine fonts with optio Fractions=On

2011-01-13 Thread mskala
On Thu, 13 Jan 2011, François Patte wrote:
 Who can explain (and correct if possible) this strange behaviour of the
 Linux Libertine fonts if you add the option Fractions=On

 If you put a number with more than one digit,  only the last number has
 the normal size, the preceding digits are written like exponants before it.

You should only turn the fractions option on where you actually want
a fraction; it assumes that all sequences of digits will be parts of
fractions and attempts to translate them appropriately.  Leaving it on for
general text will result in non-fraction digit sequences being messed up,
as you've discovered.

The reason it can't detect the presence of a slash, and only translate
digits when the slash is present, is because glyph substitution rules
can't do arbitrary-length look-ahead.  When it sees the first digits of
the numerator it has to make a decision on whether to raise them, even
before it sees the slash.  This posting on my Web log gives some technical
details of how such features are implemented, which may be illuminating:

   http://ansuz.sooke.bc.ca/entry/131

 Suppress the option Fractions=On and everything is OK...

That's what you have to do, unfortunately: you can't both have automatic
translation of arbitrary-length fractions, and leave digit sequences
without a slash intact.
-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca People before principles.
http://ansuz.sooke.bc.ca/

--
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex


Re: [XeTeX] strande behavior of Linux Libertine fonts with optio Fractions=On

2011-01-13 Thread François Patte
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Le 13/01/2011 15:30, msk...@ansuz.sooke.bc.ca a écrit :
 On Thu, 13 Jan 2011, François Patte wrote:
 Who can explain (and correct if possible) this strange behaviour of the
 Linux Libertine fonts if you add the option Fractions=On

 If you put a number with more than one digit,  only the last number has
 the normal size, the preceding digits are written like exponants before it.
 
 You should only turn the fractions option on where you actually want
 a fraction; 

So no other solution that:
{\addfontfeature{Fractions=On} 1/2}

Or a macro doing the same job?

Thanks for the answer.

- --
François Patte
UFR de mathématiques et informatique
Université Paris Descartes
Tél. +33 (0)1 8394 5849
http://www.math-info.univ-paris5.fr/~patte
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk0vKVUACgkQdE6C2dhV2JUxAACgre4GSZqpujJyU4nZVXkRIK3x
5QYAoIve689WVV9aoYu3CuCqJj2xRJac
=J4KK
-END PGP SIGNATURE-


--
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex


Re: [XeTeX] strande behavior of Linux Libertine fonts with optio Fractions=On

2011-01-13 Thread Fr. Michael Gilmary

msk...@ansuz.sooke.bc.ca wrote:



Fr. Michael said that Latin Modern Roman and Junicode don't have this
effect, and that's very interesting because I thought (for the reasons
described) that it was impossible to avoid at the level of OpenType
substitution.




Matthew, might it have something to do also with the lack of a sups 
feature in LMR? Junicode, however, /does/ have the sups feature as well 
as fractions.




  I couldn't find the source code for the OpenType features
in Latin Modern Roman;




Voilà!


otfinfo -f lmroman10-regular.otf


aaltAccess All Alternates

cpspCapital Spacing

dligDiscretionary Ligatures

fracFractions

kernKerning

ligaStandard Ligatures

lnumLining Figures

onumOldstyle Figures

pnumProportional Figures

sizeOptical Size

tnumTabular Figures

zeroSlashed Zero








--
United in adoration of Jesus, 




fr. michael gilmary, mma

Most Holy Trinity Monastery
67 Dugway Road
Petersham, MA 01366-9725

www.MaroniteMonks.org






--
Subscriptions, Archive, and List information, etc.:
 http://tug.org/mailman/listinfo/xetex


Re: [XeTeX] strande behavior of Linux Libertine fonts with optio Fractions=On

2011-01-13 Thread Alexey Kryukov
On Thu, 13 Jan 2011 10:44:31 -0600 (CST)
msk...@ansuz.sooke.bc.ca wrote:

 Fr. Michael said that Latin Modern Roman and Junicode don't have this
 effect, and that's very interesting because I thought (for the reasons
 described) that it was impossible to avoid at the level of OpenType
 substitution.

As far as I can see, Junicode just substitutes precomposed vulgar 
fractions instead of corresponding 3-character sequences. Naturally,
this method doesn't have side effects like turning arbitrary numbers
into superscripts, but, of course, it allows to support only a limited
number of combinations. For this reason this is not the recommended
way of implementing the 'frac' feature: the preferred one is exactly
what Linux Libertine does.

-- 
Regards,
Alexey Kryukov anagnost at yandex dot ru

Moscow State University
Historical Faculty


--
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex