1 /* Copyright (C) 2007,2008 by George Williams */
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are met:
6 * Redistributions of source code must retain the above copyright notice, this
7 * list of conditions and the following disclaimer.
9 * Redistributions in binary form must reproduce the above copyright notice,
10 * this list of conditions and the following disclaimer in the documentation
11 * and/or other materials provided with the distribution.
13 * The name of the author may not be used to endorse or promote products
14 * derived from this software without specific prior written permission.
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
19 * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 #include "fontforgevw.h"
30 /* This is a bug on the mac, someone defines this and leaves it defined */
31 /* that means when I load stddef.h it only defines size_t and doesn't */
32 /* do offset_of, which is what I need */
37 #define MCD(ui_name,name,msg,np) { ui_name, #name, offsetof(struct MATH,name), -1,msg,np }
38 #define MCDD(ui_name,name,devtab_name,msg,np) { ui_name, #name, offsetof(struct MATH,name), -2,msg,np }
40 struct math_constants_descriptor math_constants_descriptor
[] = {
41 MCD(N_("ScriptPercentScaleDown:"),ScriptPercentScaleDown
,N_("Percentage scale down for script level 1"),0),
42 MCD(N_("ScriptScriptPercentScaleDown:"),ScriptScriptPercentScaleDown
,N_("Percentage scale down for script level 2"),0),
43 MCD(N_("DelimitedSubFormulaMinHeight:"),DelimitedSubFormulaMinHeight
,N_("Minimum height at which to treat a delimited\nexpression as a subformula"),0),
44 MCD(N_("DisplayOperatorMinHeight:"),DisplayOperatorMinHeight
,N_("Minimum height of n-ary operators (integration, summation, etc.)"),0),
45 MCDD(N_("MathLeading:"),MathLeading
,MathLeading_adjust
,N_("White space to be left between math formulae\nto ensure proper line spacing."),0),
46 MCDD(N_("AxisHeight:"),AxisHeight
,AxisHeight_adjust
,N_("Axis height of the font"),0),
47 MCDD(N_("AccentBaseHeight:"),AccentBaseHeight
,AccentBaseHeight_adjust
,N_("Maximum (ink) height of accent base that\ndoes not require raising the accents."),0),
48 MCDD(N_("FlattenedAccentBaseHeight:"),FlattenedAccentBaseHeight
,FlattenedAccentBaseHeight_adjust
,N_("Maximum (ink) height of accent base that\ndoes not require flattening the accents."),0),
49 MCDD(N_("SubscriptShiftDown:"),SubscriptShiftDown
,SubscriptShiftDown_adjust
,N_("The standard shift down applied to subscript elements.\nPositive for moving downward."),1),
50 MCDD(N_("SubscriptTopMax:"),SubscriptTopMax
,SubscriptTopMax_adjust
,N_("Maximum height of the (ink) top of subscripts\nthat does not require moving\nubscripts further down."),0),
51 MCDD(N_("SubscriptBaselineDropMin:"),SubscriptBaselineDropMin
,SubscriptBaselineDropMin_adjust
,N_("Maximum allowed drop of the baseline of\nsubscripts realtive to the bottom of the base.\nUsed for bases that are treated as a box\nor extended shape. Positive for subscript\nbaseline dropped below base bottom."),0),
52 MCDD(N_("SuperscriptShiftUp:"),SuperscriptShiftUp
,SuperscriptShiftUp_adjust
,N_("Standard shift up applied to superscript elements."),0),
53 MCDD(N_("SuperscriptShiftUpCramped:"),SuperscriptShiftUpCramped
,SuperscriptShiftUpCramped_adjust
,N_("Standard shift of superscript relative\nto base in cramped mode."),0),
54 MCDD(N_("SuperscriptBottomMin:"),SuperscriptBottomMin
,SuperscriptBottomMin_adjust
,N_("Minimum allowed hieght of the bottom\nof superscripts that does not require moving\nthem further up."),0),
55 MCDD(N_("SuperscriptBaselineDropMax:"),SuperscriptBaselineDropMax
,SuperscriptBaselineDropMax_adjust
,N_("Maximum allowed drop of the baseline of\nsuperscripts realtive to the top of the base.\nUsed for bases that are treated as a box\nor extended shape. Positive for superscript\nbaseline below base top."),0),
56 MCDD(N_("SubSuperscriptGapMin:"),SubSuperscriptGapMin
,SubSuperscriptGapMin_adjust
,N_("Minimum gap between the supersecript and subscript ink."),0),
57 MCDD(N_("SuperscriptBottomMaxWithSubscript:"),SuperscriptBottomMaxWithSubscript
,SuperscriptBottomMaxWithSubscript_adjust
,N_("The maximum level to which the (ink) bottom\nof superscript can be pushed to increase the\ngap between superscript and subscript, before\nsubscript starts being moved down."),0),
58 MCDD(N_("SpaceAfterScript:"),SpaceAfterScript
,SpaceAfterScript_adjust
,N_("Extra white space to be added after each\nub/superscript."),0),
59 MCDD(N_("UpperLimitGapMin:"),UpperLimitGapMin
,UpperLimitGapMin_adjust
,N_("Minimum gap between the bottom of the\nupper limit, and the top of the base operator."),1),
60 MCDD(N_("UpperLimitBaselineRiseMin:"),UpperLimitBaselineRiseMin
,UpperLimitBaselineRiseMin_adjust
,N_("Minimum distance between the baseline of an upper\nlimit and the bottom of the base operator."),0),
61 MCDD(N_("LowerLimitGapMin:"),LowerLimitGapMin
,LowerLimitGapMin_adjust
,N_("Minimum gap between (ink) top of the lower limit,\nand (ink) bottom of the base operator."),0),
62 MCDD(N_("LowerLimitBaselineDropMin:"),LowerLimitBaselineDropMin
,LowerLimitBaselineDropMin_adjust
,N_("Minimum distance between the baseline of the\nlower limit and bottom of the base operator."),0),
63 MCDD(N_("StackTopShiftUp:"),StackTopShiftUp
,StackTopShiftUp_adjust
,N_("Standard shift up applied to the top element of a stack."),1),
64 MCDD(N_("StackTopDisplayStyleShiftUp:"),StackTopDisplayStyleShiftUp
,StackTopDisplayStyleShiftUp_adjust
,N_("Standard shift up applied to the top element of\na stack in display style."),0),
65 MCDD(N_("StackBottomShiftDown:"),StackBottomShiftDown
,StackBottomShiftDown_adjust
,N_("Standard shift down applied to the bottom element of a stack.\nPositive values indicate downward motion."),0),
66 MCDD(N_("StackBottomDisplayStyleShiftDown:"),StackBottomDisplayStyleShiftDown
,StackBottomDisplayStyleShiftDown_adjust
,N_("Standard shift down applied to the bottom\nelement of a stack in display style.\nPositive values indicate downward motion."),0),
67 MCDD(N_("StackGapMin:"),StackGapMin
,StackGapMin_adjust
,N_("Minimum gap between bottom of the top\nelement of a stack, and the top of the bottom element."),0),
68 MCDD(N_("StackDisplayStyleGapMin:"),StackDisplayStyleGapMin
,StackDisplayStyleGapMin_adjust
,N_("Minimum gap between bottom of the top\nelement of a stack and the top of the bottom\nelement in display style."),0),
69 MCDD(N_("StretchStackTopShiftUp:"),StretchStackTopShiftUp
,StretchStackTopShiftUp_adjust
,N_("Standard shift up applied to the top element of the stretch stack."),0),
70 MCDD(N_("StretchStackBottomShiftDown:"),StretchStackBottomShiftDown
,StretchStackBottomShiftDown_adjust
,N_("Standard shift down applied to the bottom\nelement of the stretch stack.\nPositive values indicate downward motion."),0),
71 MCDD(N_("StretchStackGapAboveMin:"),StretchStackGapAboveMin
,StretchStackGapAboveMin_adjust
,N_("Minimum gap between the ink of the stretched\nelement and the ink bottom of the element\nabove.."),0),
72 MCDD(N_("StretchStackGapBelowMin:"),StretchStackGapBelowMin
,StretchStackGapBelowMin_adjust
,N_("Minimum gap between the ink of the stretched\nelement and the ink top of the element below."),0),
73 MCDD(N_("FractionNumeratorShiftUp:"),FractionNumeratorShiftUp
,FractionNumeratorShiftUp_adjust
,N_("Standard shift up applied to the numerator."),1),
74 MCDD(N_("FractionNumeratorDisplayStyleShiftUp:"),FractionNumeratorDisplayStyleShiftUp
,FractionNumeratorDisplayStyleShiftUp_adjust
,N_("Standard shift up applied to the\nnumerator in display style."),0),
75 MCDD(N_("FractionDenominatorShiftDown:"),FractionDenominatorShiftDown
,FractionDenominatorShiftDown_adjust
,N_("Standard shift down applied to the denominator.\nPostive values indicate downward motion."),0),
76 MCDD(N_("FractionDenominatorDisplayStyleShiftDown:"),FractionDenominatorDisplayStyleShiftDown
,FractionDenominatorDisplayStyleShiftDown_adjust
,N_("Standard shift down applied to the\ndenominator in display style.\nPostive values indicate downward motion."),0),
77 MCDD(N_("FractionNumeratorGapMin:"),FractionNumeratorGapMin
,FractionNumeratorGapMin_adjust
,N_("Minimum tolerated gap between the ink\nbottom of the numerator and the ink of the fraction bar."),0),
78 MCDD(N_("FractionNumeratorDisplayStyleGapMin:"),FractionNumeratorDisplayStyleGapMin
,FractionNumeratorDisplayStyleGapMin_adjust
,N_("Minimum tolerated gap between the ink\nbottom of the numerator and the ink of the fraction\nbar in display style."),0),
79 MCDD(N_("FractionRuleThickness:"),FractionRuleThickness
,FractionRuleThickness_adjust
,N_("Thickness of the fraction bar."),0),
80 MCDD(N_("FractionDenominatorGapMin:"),FractionDenominatorGapMin
,FractionDenominatorGapMin_adjust
,N_("Minimum tolerated gap between the ink top of the denominator\nand the ink of the fraction bar.."),0),
81 MCDD(N_("FractionDenominatorDisplayStyleGapMin:"),FractionDenominatorDisplayStyleGapMin
,FractionDenominatorDisplayStyleGapMin_adjust
,N_("Minimum tolerated gap between the ink top of the denominator\nand the ink of the fraction bar in display style."),0),
82 MCDD(N_("SkewedFractionHorizontalGap:"),SkewedFractionHorizontalGap
,SkewedFractionHorizontalGap_adjust
,N_("Horizontal distance between the top\nand bottom elemnts of a skewed fraction."),0),
83 MCDD(N_("SkewedFractionVerticalGap:"),SkewedFractionVerticalGap
,SkewedFractionVerticalGap_adjust
,N_("Vertical distance between the ink of the top and\nbottom elements of a skewed fraction."),0),
84 MCDD(N_("OverbarVerticalGap:"),OverbarVerticalGap
,OverbarVerticalGap_adjust
,N_("Distance between the overbar and\nthe ink top of the base."),1),
85 MCDD(N_("OverbarRuleThickness:"),OverbarRuleThickness
,OverbarRuleThickness_adjust
,N_("Thickness of the overbar."),0),
86 MCDD(N_("OverbarExtraAscender:"),OverbarExtraAscender
,OverbarExtraAscender_adjust
,N_("Extra white space reserved above the overbar."),0),
87 MCDD(N_("UnderbarVerticalGap:"),UnderbarVerticalGap
,UnderbarVerticalGap_adjust
,N_("Distance between underbar and\nthe (ink) bottom of the base."),0),
88 MCDD(N_("UnderbarRuleThickness:"),UnderbarRuleThickness
,UnderbarRuleThickness_adjust
,N_("Thickness of the underbar."),0),
89 MCDD(N_("UnderbarExtraDescender:"),UnderbarExtraDescender
,UnderbarExtraDescender_adjust
,N_("Extra white space resevered below the underbar."),0),
90 MCDD(N_("RadicalVerticalGap:"),RadicalVerticalGap
,RadicalVerticalGap_adjust
,N_("Space between the ink to of the\nexpression and the bar over it."),1),
91 MCDD(N_("RadicalDisplayStyleVerticalGap:"),RadicalDisplayStyleVerticalGap
,RadicalDisplayStyleVerticalGap_adjust
,N_("Space between the ink top of the\nexpression and the bar over it in display\nstyle."),0),
92 MCDD(N_("RadicalRuleThickness:"),RadicalRuleThickness
,RadicalRuleThickness_adjust
,N_("Thickness of the radical rule in\ndesigned or constructed radical\nsigns."),0),
93 MCDD(N_("RadicalExtraAscender:"),RadicalExtraAscender
,RadicalExtraAscender_adjust
,N_("Extra white space reserved above the radical."),0),
94 MCDD(N_("RadicalKernBeforeDegree:"),RadicalKernBeforeDegree
,RadicalKernBeforeDegree_adjust
,N_("Extra horizontal kern before the degree of a\nradical if such be present."),0),
95 MCDD(N_("RadicalKernAfterDegree:"),RadicalKernAfterDegree
,RadicalKernAfterDegree_adjust
,N_("Negative horizontal kern after the degree of a\nradical if such be present."),0),
96 MCD(N_("RadicalDegreeBottomRaisePercent:"),RadicalDegreeBottomRaisePercent
,N_("Height of the bottom of the radical degree, if\nsuch be present, in proportion to the ascender\nof the radical sign."),0),
97 MCD(N_("MinConnectorOverlap:"),MinConnectorOverlap
,N_("Minimum overlap of connecting glyphs during\nglyph construction."),1),
98 { NULL
, NULL
, 0, 0, NULL
, 0 }