1if not modules then modules = { } end modules ['mlib-int'] = {
2 version = 1.001,
3 comment = "companion to mlib-ctx.mkiv",
4 author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5 copyright = "PRAGMA ADE / ConTeXt Development Team",
6 license = "see context related readme files",
7}
8
9local factor = number.dimenfactors.bp
10
11local mpnumeric = mp.numeric
12local mpboolean = mp.boolean
13local mpstring = mp.string
14local mpquoted = mp.quoted
15local getdimen = tex.getdimen
16local getcount = tex.getcount
17local getmacro = tokens.getters.macro
18local get = tex.get
19local mpcolor = attributes.colors.mpcolor
20local emwidths = fonts.hashes.emwidths
21local exheights = fonts.hashes.exheights
22
23local registerscript = metapost.registerscript
24
25local on_right_page = structures.pages.on_right
26local is_odd_page = structures.pages.is_odd
27local in_body_page = structures.pages.in_body
28local page_fraction = structures.pages.fraction
29
30local function defaultcolormodel()
31 local colormethod = getcount("MPcolormethod")
32 return (colormethod == 0 or colormethod == 1) and 1 or 3
33end
34
35function mp.PaperHeight () mpnumeric(getdimen("paperheight") * factor) end
36function mp.PaperWidth () mpnumeric(getdimen("paperwidth") * factor) end
37function mp.PrintPaperHeight () mpnumeric(getdimen("printpaperheight") * factor) end
38function mp.PrintPaperWidth () mpnumeric(getdimen("printpaperwidth") * factor) end
39function mp.TopSpace () mpnumeric(getdimen("topspace") * factor) end
40function mp.BottomSpace () mpnumeric(getdimen("bottomspace") * factor) end
41function mp.BackSpace () mpnumeric(getdimen("backspace") * factor) end
42function mp.CutSpace () mpnumeric(getdimen("cutspace") * factor) end
43function mp.MakeupHeight () mpnumeric(getdimen("makeupheight") * factor) end
44function mp.MakeupWidth () mpnumeric(getdimen("makeupwidth") * factor) end
45function mp.TopHeight () mpnumeric(getdimen("topheight") * factor) end
46function mp.TopDistance () mpnumeric(getdimen("topdistance") * factor) end
47function mp.HeaderHeight () mpnumeric(getdimen("headerheight") * factor) end
48function mp.HeaderDistance () mpnumeric(getdimen("headerdistance") * factor) end
49function mp.TextHeight () mpnumeric(getdimen("textheight") * factor) end
50function mp.FooterDistance () mpnumeric(getdimen("footerdistance") * factor) end
51function mp.FooterHeight () mpnumeric(getdimen("footerheight") * factor) end
52function mp.BottomDistance () mpnumeric(getdimen("bottomdistance") * factor) end
53function mp.BottomHeight () mpnumeric(getdimen("bottomheight") * factor) end
54function mp.LeftEdgeWidth () mpnumeric(getdimen("leftedgewidth") * factor) end
55function mp.LeftEdgeDistance () mpnumeric(getdimen("leftedgedistance") * factor) end
56function mp.LeftMarginWidth () mpnumeric(getdimen("leftmarginwidth") * factor) end
57function mp.LeftMarginDistance () mpnumeric(getdimen("leftmargindistance") * factor) end
58function mp.TextWidth () mpnumeric(getdimen("textwidth") * factor) end
59function mp.RightMarginDistance () mpnumeric(getdimen("rightmargindistance") * factor) end
60function mp.RightMarginWidth () mpnumeric(getdimen("rightmarginwidth") * factor) end
61function mp.RightEdgeDistance () mpnumeric(getdimen("rightedgedistance") * factor) end
62function mp.RightEdgeWidth () mpnumeric(getdimen("rightedgewidth") * factor) end
63function mp.InnerMarginDistance () mpnumeric(getdimen("innermargindistance") * factor) end
64function mp.InnerMarginWidth () mpnumeric(getdimen("innermarginwidth") * factor) end
65function mp.OuterMarginDistance () mpnumeric(getdimen("outermargindistance") * factor) end
66function mp.OuterMarginWidth () mpnumeric(getdimen("outermarginwidth") * factor) end
67function mp.InnerEdgeDistance () mpnumeric(getdimen("inneredgedistance") * factor) end
68function mp.InnerEdgeWidth () mpnumeric(getdimen("inneredgewidth") * factor) end
69function mp.OuterEdgeDistance () mpnumeric(getdimen("outeredgedistance") * factor) end
70function mp.OuterEdgeWidth () mpnumeric(getdimen("outeredgewidth") * factor) end
71function mp.PageOffset () mpnumeric(getdimen("pagebackgroundoffset") * factor) end
72function mp.PageDepth () mpnumeric(getdimen("pagebackgrounddepth") * factor) end
73function mp.LayoutColumns () mpnumeric(getcount("layoutcolumns")) end
74function mp.LayoutColumnDistance() mpnumeric(getdimen("layoutcolumndistance") * factor) end
75function mp.LayoutColumnWidth () mpnumeric(getdimen("layoutcolumnwidth") * factor) end
76function mp.SpineWidth () mpnumeric(getdimen("spinewidth") * factor) end
77function mp.PaperBleed () mpnumeric(getdimen("paperbleed") * factor) end
78
79function mp.RealPageNumber () mpnumeric(getcount("realpageno") ) end
80function mp.LastPageNumber () mpnumeric(getcount("lastpageno") ) end
81
82function mp.PageNumber () mpnumeric(getcount("pageno") ) end
83function mp.NOfPages () mpnumeric(getcount("lastpageno") ) end
84
85function mp.SubPageNumber () mpnumeric(getcount("subpageno") ) end
86function mp.NOfSubPages () mpnumeric(getcount("lastsubpageno") ) end
87
88function mp.CurrentColumn () mpnumeric(getcount("mofcolumns") ) end
89function mp.NOfColumns () mpnumeric(getcount("nofcolumns") ) end
90
91function mp.BaseLineSkip () mpnumeric(get ("baselineskip",true) * factor) end
92function mp.LineHeight () mpnumeric(getdimen("lineheight") * factor) end
93function mp.BodyFontSize () mpnumeric(getdimen("bodyfontsize") * factor) end
94
95function mp.TopSkip () mpnumeric(get ("topskip",true) * factor) end
96function mp.StrutHeight () mpnumeric(getdimen("strutht") * factor) end
97function mp.StrutDepth () mpnumeric(getdimen("strutdp") * factor) end
98
99function mp.PageNumber () mpnumeric(getcount("pageno") ) end
100function mp.RealPageNumber () mpnumeric(getcount("realpageno") ) end
101function mp.NOfPages () mpnumeric(getcount("lastpageno") ) end
102
103function mp.CurrentWidth () mpnumeric(get ("hsize") * factor) end
104function mp.CurrentHeight () mpnumeric(get ("vsize") * factor) end
105
106function mp.EmWidth () mpnumeric(emwidths [false] * factor) end
107function mp.ExHeight () mpnumeric(exheights[false] * factor) end
108
109function mp.OverlayWidth () mpnumeric(getdimen("d_overlay_width") * factor) end
110function mp.OverlayHeight () mpnumeric(getdimen("d_overlay_height") * factor) end
111function mp.OverlayDepth () mpnumeric(getdimen("d_overlay_depth") * factor) end
112function mp.OverlayLineWidth () mpnumeric(getdimen("d_overlay_linewidth") * factor) end
113function mp.OverlayOffset () mpnumeric(getdimen("d_overlay_offset") * factor) end
114function mp.OverlayRegion () mpstring (getmacro("m_overlay_region") ) end
115
116function mp.PageFraction () mpnumeric(page_fraction() ) end
117function mp.OnRightPage () mpboolean(on_right_page() ) end
118function mp.OnOddPage () mpboolean(is_odd_page () ) end
119function mp.InPageBody () mpboolean(in_body_page () ) end
120
121function mp.OverlayWidth () mpnumeric(getdimen("d_overlay_width") * factor) end
122function mp.OverlayHeight () mpnumeric(getdimen("d_overlay_height") * factor) end
123function mp.OverlayDepth () mpnumeric(getdimen("d_overlay_depth") * factor) end
124function mp.OverlayLineWidth () mpnumeric(getdimen("d_overlay_linewidth") * factor) end
125function mp.OverlayOffset () mpnumeric(getdimen("d_overlay_offset") * factor) end
126function mp.OverlayRegion () mpstring (getmacro("m_overlay_region") ) end
127
128
129function mp.defaultcolormodel () mpnumeric(defaultcolormodel()) end
130
131mp.HSize = mp.CurrentWidth
132mp.VSize = mp.CurrentHeight
133mp.LastPageNumber = mp.NOfPages
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155 |