Code Monkey home page Code Monkey logo

Comments (7)

RuixiZhang42 avatar RuixiZhang42 commented on September 23, 2024 1

I just found out about the excellent papers by Bogusław Jackowski and Ulrik Vieth, where the authors illustrated Appendix G with drawings and discussed how to set various math font dimensions.

The resources include papers and slides, so I will provide a link that already has them gathered. They can be found at
http://www.gust.org.pl/projects/e-foundry/math/index_html
starting from “In the preparation for providing math typesetting support with the TeX Gyre fonts”

from firamath.

RuixiZhang42 avatar RuixiZhang42 commented on September 23, 2024

table

Perhaps the two “rule thickness” entries should be changed to 50 from the current 66.

from firamath.

stone-zeng avatar stone-zeng commented on September 23, 2024

According to Microsoft's OpenType specification, these constants are defined as:

  • overbarVerticalGap
    Distance between the overbar and the (ink) top of he base. Suggested: 3 × default rule thickness.
  • overbarRuleThickness
    Thickness of overbar. Suggested: default rule thickness.
  • overbarExtraAscender
    Extra white space reserved above the overbar. Suggested: default rule thickness.

The default rule thickness of fira math regular is 66. But I'm not sure whether the other constants should be changed. Still, I need to investigate it thoroughly.

from firamath.

RuixiZhang42 avatar RuixiZhang42 commented on September 23, 2024

There are definitely something not quite right in the math table. I managed to find two three more:

Axis heights do not match?

q1

TeX sees an unusual rule thickness

q3

Many rule thicknesses

FractionRuleThickness and RadicalRuleThickness are set to 76, while OverbarRuleThickness and UnderbarRuleThickness are 66, although all of them are recommended to be set as the default rule thickness.

from firamath.

stone-zeng avatar stone-zeng commented on September 23, 2024

As FontForge's documentation says,

These values are stored in tfm files (should you generate a tfm file with your font).

So I think these TeX info has nothing to do with the OpenType MATH table, and hence simply leave them as the default values.

from firamath.

ppw0 avatar ppw0 commented on September 23, 2024

@RuixiZhang42 Even after going through that, I'm still at a loss as to how to have a thinner \overline that's a bit closer to the top of a number in Fira Math + XeTeX.

from firamath.

RuixiZhang42 avatar RuixiZhang42 commented on September 23, 2024

@ppw0 You can try something like this (no recommended unless you know what you are doing):

% only works with XeLaTeX + unicode-math (actually fontspec)
\setmathfont{Fira Math}[
  FontAdjustment = { % <- a secret option (undocumented)
    \fontdimen 53 \font = 0.75 \fontdimen 53 \font % <- reduce OverbarVerticalGap   to 75% of its original
    \fontdimen 54 \font = 0.5  \fontdimen 54 \font % <- reduce OverbarRuleThickness to 50% of its original
    \fontdimen 55 \font = ...
    % you will probably want to change underbar as well:
    \fontdimen 56 \font = ...
    \fontdimen 57 \font = ...
    \fontdimen 58 \font = ...
  }
]

from firamath.

Related Issues (20)

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.