Comments (7)
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.
Perhaps the two “rule thickness” entries should be changed to 50
from the current 66
.
from firamath.
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.
There are definitely something not quite right in the math table. I managed to find two three more:
Axis heights do not match?
TeX sees an unusual rule thickness
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.
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.
@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.
@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)
- 'right tack' and 'true'
- Sync master branch with v0.3.x? HOT 1
- List of supported glyphs? HOT 1
- Can't build on `glyphs3` branch HOT 1
- How to get firamath used with \boldsymbol and/or \bm HOT 3
- Other weights of Fira Math(like Light or Bold) are lack of some characters HOT 1
- Add support for \mathcal and \mathscr fonts? HOT 1
- Could not build wheels for openstep-plist which use PEP 517 and cannot be installed directly HOT 2
- Fix combining lines
- The thin/regular/medium/bold/extrabold etc. are marked as thin HOT 6
- Incorrect integrals on the master version. HOT 4
- All build artifacts are expired HOT 4
- Sync with glyphsLib v6.0.0
- encoding of phi and varphi HOT 1
- U+2218 Ring operator (\circ) is very small HOT 1
- Document use with LibreOffice Math
- \wideoverbar not working fine
- 'Build from source' instructions not working HOT 1
- \overrightarrow as same as \vec, and can not adjust length.
- \vdots and \ddots are missing HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from firamath.