- def __init__(self, size_cm):
- self.size = size_cm * POINTS_PER_CM
- self.zoom = (A4_WIDTH - 2 * self.size)/A4_WIDTH
+ def __init__(self, margin_cm):
+ self.margin = margin_cm * POINTS_PER_CM
+ self.shrink_for_margin = (A4_WIDTH - 2 * self.margin)/A4_WIDTH
+ # NB: We define spine size un-shrunk, but .shrink_for_spine is used with values shrunk for the margin, which we undo here.
+ spine_part_of_page = (INNER_SPINE_MARGIN_PER_PAGE / A4_HALF_WIDTH) / self.shrink_for_margin
+ self.shrink_for_spine = 1 - spine_part_of_page