• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sile-typesetter / sile / 6612213071

23 Oct 2023 10:50AM UTC coverage: 74.132% (-0.2%) from 74.293%
6612213071

push

github

web-flow
feat(classes): Add landscape option to base class (#1892)

Co-authored-by: Caleb Maclennan <caleb@alerque.com>

17 of 17 new or added lines in 3 files covered. (100.0%)

11704 of 15788 relevant lines covered (74.13%)

6963.4 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

97.3
/core/papersize.lua
1
local papersize = {
172✔
2
  letter = { 612, 792 },
172✔
3
  note = { 612, 792 },
172✔
4
  legal = { 612, 1008 },
172✔
5
  executive = { 522, 756 },
172✔
6
  halfletter = { 396, 612 },
172✔
7
  halfexecutive = { 378, 522 },
172✔
8
  statement = { 396, 612 },
172✔
9
  folio = { 612, 936 },
172✔
10
  quarto = { 610, 780 },
172✔
11
  ledger = { 1224, 792 },
172✔
12
  tabloid = { 792, 1224 },
172✔
13
  a0 = { 2383.9370337, 3370.3937373 },
172✔
14
  a1 = { 1683.7795457999998, 2383.9370337 },
172✔
15
  a2 = { 1190.551194, 1683.7795457999998 },
172✔
16
  a3 = { 841.8897728999999, 1190.551194 },
172✔
17
  a4 = { 595.275597, 841.8897728999999 },
172✔
18
  a5 = { 419.52756359999995, 595.275597 },
172✔
19
  a6 = { 297.6377985, 419.52756359999995 },
172✔
20
  a7 = { 209.76378179999998, 297.6377985 },
172✔
21
  a8 = { 147.40157639999998, 209.76378179999998 },
172✔
22
  a9 = { 104.88189089999999, 147.40157639999998 },
172✔
23
  a10 = { 73.70078819999999, 104.88189089999999 },
172✔
24
  b0 = { 2834.6457, 4008.1890197999996 },
172✔
25
  b1 = { 2004.0945098999998, 2834.6457 },
172✔
26
  b2 = { 1417.32285, 2004.0945098999998 },
172✔
27
  b3 = { 1000.6299320999999, 1417.32285 },
172✔
28
  b4 = { 708.661425, 1000.6299320999999 },
172✔
29
  b5 = { 498.89764319999995, 708.661425 },
172✔
30
  b6 = { 354.3307125, 498.89764319999995 },
172✔
31
  b7 = { 249.44882159999997, 354.3307125 },
172✔
32
  b8 = { 175.7480334, 249.44882159999997 },
172✔
33
  b9 = { 124.72441079999999, 175.7480334 },
172✔
34
  b10 = { 87.8740167, 124.72441079999999 },
172✔
35
  c2 = { 1298.2677305999998, 1836.8504136 },
172✔
36
  c3 = { 918.4252068, 1298.2677305999998 },
172✔
37
  c4 = { 649.1338652999999, 1003.4645777999999 },
172✔
38
  c5 = { 459.2126034, 649.1338652999999 },
172✔
39
  c6 = { 323.1496098, 459.2126034 },
172✔
40
  c7 = { 229.6063017, 323.1496098 },
172✔
41
  c8 = { 161.5748049, 229.6063017 },
172✔
42
  dl = { 311.81102699999997, 623.6220539999999 },
172✔
43
  comm10 = { 297, 684 },
172✔
44
  monarch = { 279, 540 },
172✔
45
  ansia = { 612, 792 },
172✔
46
  ansib = { 792, 1224 },
172✔
47
  ansic = { 1224, 1584 },
172✔
48
  ansid = { 1584, 2448 },
172✔
49
  ansie = { 2448, 3168 },
172✔
50
  arche = { 2592, 3456 },
172✔
51
  arche2 = { 1872, 2736 },
172✔
52
  arche3 = { 1944, 2808 },
172✔
53
  arche1 = { 2160, 3024 },
172✔
54
  archd = { 1728, 2592 },
172✔
55
  archc = { 1296, 1728 },
172✔
56
  archb = { 864, 1296 },
172✔
57
  archa = { 648, 864 },
172✔
58
  flsa = { 612, 936 },
172✔
59
  flse = { 612, 936 },
172✔
60
  csheet = { 1224, 1584 },
172✔
61
  dsheet = { 1584, 2448 },
172✔
62
  esheet = { 2448, 3168 }
172✔
63
}
64

65
setmetatable(papersize, {
344✔
66
    __call = function (self, size, landscape)
67
      local geometry
68
      local _, _, x, y = string.find(size, "(.+)%s+x%s+(.+)")
173✔
69
      if x and y then
173✔
70
        geometry = { SILE.measurement(x):tonumber(), SILE.measurement(y):tonumber() }
30✔
71
      else
72
        local preset_name = string.lower(size:gsub("[-%s]+", ""))
167✔
73
        geometry = self[preset_name]
167✔
74
      end
75
      if SU.boolean(landscape) then
346✔
76
        geometry[1], geometry[2] = geometry[2], geometry[1]
1✔
77
      end
78
      if geometry then return geometry end
173✔
79
      SU.error(string.format([[Unable to parse papersize '%s'.
×
80
  Custom sizes may be entered with 'papersize=<measurement> x <measurement>'.
81
  Predefined paper sizes include: %s]],
82
  size, table.concat(pl.tablex.keys(papersize), ", ")))
×
83
    end
84
  })
85

86
return papersize
172✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc