Commit Graph

14 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
66fa801e74 Improve support for on screen length calculation
The computation of length on screen depend in particular of the computation of the size of an em. Many places of the code used to rely on the width of the M character, which is not really correct:
http://en.wikipedia.org/wiki/Em_%28typography%29

In digital typography, the best value to use is the point size of the font.

* Implement FontMetrics::em(), which returns the value in pixels of the EM unit.
 Convert code to use it.

* Introduce Length::inPixel(MetricsBase const &), which takes the textwidth and em information from the MetricsBase object. Convert code to use it.

* Fix several places where Length::inPixel is used without a proper em value.

* add mathed_font_em() helper function. It should eventually be removed like some other functions in MathSupport.

* Add dummy implementation of FontMetrics to tex2lyx for linking purposes.
2015-03-26 17:10:15 +01:00
Georg Baum
2c39859575 Remove unneeded swap() (thanks Jean-Marc)
std::swap() does exactly the same thing, and avoiding code duplication is
always good.
2014-07-07 21:16:10 +02:00
Uwe Stöhr
b1a1b4c92f Length.h: revert unintended change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30641 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-17 01:01:37 +00:00
Uwe Stöhr
357af8a211 Length.h: partly revert r30595 , for an unknown reason the percent lengths are hardcoded
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30640 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-17 00:59:41 +00:00
Uwe Stöhr
a00c355fb1 Length.h, lengthcommon.cpp: sort the units, the current sorting had no rule and therefore consumed a lot time until one found the desired unit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30595 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-14 22:38:47 +00:00
Richard Heck
bd5cccbb34 Lengths for HTML. Use them for InsetBox.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30074 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-12 14:42:33 +00:00
Jean-Marc Lasgouttes
26751d83ee Move the half baked code that guesses whether to default on metric or
imperial units in only one place (instead of thousands of slightly different
copies). Functionally equivalent.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28380 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-06 21:24:13 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Jean-Marc Lasgouttes
b23bdfa00b use Length::inPixel and not Length::inBP to get screen lengths
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26441 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-18 13:59:35 +00:00
André Pönitz
beed264f23 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23980 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-26 18:53:57 +00:00
André Pönitz
a5263e0f92 introduce a header to forward declare std::string.
hope there are only conforming implementaions out there ;-}


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21312 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-31 22:40:34 +00:00
André Pönitz
e7aa8ce683 cosmetics... less than intented
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21190 a592a061-630c-0410-9148-cb99ea01b6c8
2007-10-24 22:55:02 +00:00
Lars Gullik Bjønnes
897436efbb Whitespace cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18550 a592a061-630c-0410-9148-cb99ea01b6c8
2007-05-28 22:27:45 +00:00
André Pönitz
8c622e4ff0 rename/merge LyXLength related stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18067 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-28 12:58:49 +00:00