lib/prawn/measurements.rb in prawn-2.4.0 vs lib/prawn/measurements.rb in prawn-2.5.0
- old
+ new
@@ -1,72 +1,127 @@
# frozen_string_literal: true
-# measurements.rb: Conversions from other measurements to PDF points
-#
-# Copyright December 2008, Florian Witteler. All Rights Reserved.
-#
-
# rubocop: disable Naming/MethodParameterName
module Prawn
# @group Stable API
+ # Distance unit conversions between metric, imperial, and PDF.
module Measurements
# metric conversions
+
+ # Convert centimeter to millimeters.
+ #
+ # @param cm [Number]
+ # @return [Number]
def cm2mm(cm)
cm * 10
end
+ # Convert decimeters to millimeters.
+ #
+ # @param dm [Number]
+ # @return [Number]
def dm2mm(dm)
dm * 100
end
+ # Convert meters to millimeters.
+ #
+ # @param m [Number]
+ # @return [Number]
def m2mm(m)
m * 1000
end
# imperial conversions
# from http://en.wikipedia.org/wiki/Imperial_units
+
+ # Convert feet to inches.
+ #
+ # @param ft [Number]
+ # @return [Number]
def ft2in(ft)
ft * 12
end
+ # Convert yards to inches.
+ #
+ # @param yd [Number]
+ # @return [Number]
def yd2in(yd)
yd * 36
end
# PostscriptPoint-converisons
+
+ # Convert points to points. For completeness.
+ #
+ # @param pt [Number]
+ # @return [Number]
def pt2pt(pt)
pt
end
+ # Convert inches to points.
+ #
+ # @param inch [Number]
+ # @return [Number]
def in2pt(inch)
inch * 72
end
+ # Convert feet to points.
+ #
+ # @param ft [Number]
+ # @return [Number]
def ft2pt(ft)
in2pt(ft2in(ft))
end
+ # Convert yards to points.
+ #
+ # @param yd [Number]
+ # @return [Number]
def yd2pt(yd)
in2pt(yd2in(yd))
end
+ # Convert millimeters to points.
+ #
+ # @param mm [Number]
+ # @return [Number]
def mm2pt(mm)
mm * (72 / 25.4)
end
+ # Convert centimeters to points.
+ #
+ # @param cm [Number]
+ # @return [Number]
def cm2pt(cm)
mm2pt(cm2mm(cm))
end
+ # Convert decimeters to points.
+ #
+ # @param dm [Number]
+ # @return [Number]
def dm2pt(dm)
mm2pt(dm2mm(dm))
end
+ # Convert meters to points.
+ #
+ # @param m [Number]
+ # @return [Number]
def m2pt(m)
mm2pt(m2mm(m))
end
+ # Convert points to millimeters.
+ #
+ # @param pt [Number]
+ # @return [Number]
def pt2mm(pt)
pt * 1 / mm2pt(1) # (25.4 / 72)
end
end
end