Feat/font autoscale (#288)
* PoC font autosize feature * Take enumerables or 'auto' keyword for autoscaling * Allo enumerables of font_size per card, where the largest font size that does not ellipsize is chosen * Use ellipsize: :autoscale keyword to determine font autosizing * Use binary search to find the correct font size * Consider new ellipsize option in testcase * Document ellipsize: :autoscale option * Add ellipsize: :autoscale sample to text sample * Fix double multiplication with Pango::SCALE * Scale embedded images with text when autoscaling * Remove stray semicolon * Return dummy value for FontDescription.size in mock_cairo * Update regression test data for autoscale feature. * Add ellipsize: :autoscale example to existing font_autoscale sample * Add missing :autoscale to list of options in documentation
This commit is contained in:
@@ -304,6 +304,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -323,6 +324,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -342,6 +344,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -361,6 +364,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -380,6 +384,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -399,6 +404,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -418,6 +424,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -437,6 +444,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: translate([2193.75, 2193.75])
|
||||
cairo: rotate([-0.7853981633974483])
|
||||
|
||||
@@ -20,6 +20,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: rounded_rectangle([0, 0, 805, 1105, 15, 15])
|
||||
cairo: clip([])
|
||||
@@ -49,6 +50,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: translate([387.5, 537.5])
|
||||
cairo: rotate([1.5707963267948966])
|
||||
|
||||
@@ -350,6 +350,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -367,6 +368,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -384,6 +386,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -401,6 +404,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -418,6 +422,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -435,6 +440,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -452,6 +458,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -469,6 +476,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -486,6 +494,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -503,6 +512,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -520,6 +530,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -537,6 +548,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -554,6 +566,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -571,6 +584,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -588,6 +602,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -605,6 +620,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
surface: write_to_png(["_output/save_png_00.png"])
|
||||
cairo: rounded_rectangle([0, 0, 765, 1065, 38, 38])
|
||||
|
||||
@@ -99,6 +99,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -117,6 +118,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -135,6 +137,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
@@ -153,6 +156,7 @@ cairo: move_to([0, 0])
|
||||
cairo: move_to([0, 0])
|
||||
cairo: show_pango_layout([MockDouble])
|
||||
pango: ellipsized?([])
|
||||
pango: ellipsized?([])
|
||||
cairo: restore([])
|
||||
cairo: save([])
|
||||
cairo: new_path([])
|
||||
|
||||
Reference in New Issue
Block a user