ea 0.6.46 → 0.6.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c75b8ba9d59e1d04e015a9daacbc50ee2494e41f6a92d3338e204842df32198
4
- data.tar.gz: 30d44ea4fbac3e6f7566dd9e1a4b353f306faca1190690a8756da6f828f5bb6b
3
+ metadata.gz: 883c961d3fd0e63b7d48117b76db47d79e90a62ed1027ad2cf4aa55082ee5132
4
+ data.tar.gz: d499d2e8b9376a7b79004f7da6c82ed8558cbebaca22fe7b9b83f4e3f534df87
5
5
  SHA512:
6
- metadata.gz: 86964ae657e21e80eede2a3579ebd0c07070bb4f4d16a7d388e267a4ab883c81969ef08c936c373606b3cc76ee3bce2dcb15b9678306936eefbcd9e822f94330
7
- data.tar.gz: 0aac4dde65b4fe80813fb8ef1d813b5487159bf0a77160e9ff00e49a70f2490bee5f1c224dae9ccf7ba99337288ecbec3fd7c13bd70d283d6b5f2b78119e5bb5
6
+ metadata.gz: f056a65fa2b30039c1602d38e90b775f0fd712be85f36774ddbb068c74649bd47f756eb7aa67c45124fbe698c64119849d468d3b29f527ceb113ce4707ea1b96
7
+ data.tar.gz: 8dc93dcf117c9ba1cfaff73a4f521f6c1e9ca8189173f992dbd3e7b15cd43712c843f3b9a80b8d668b3d9ca79043a462cffd2404936d441e09202d1c6f9a5c04
@@ -26,27 +26,35 @@ module Ea
26
26
  # cumulative integer textLength fits bounds.width - 15.
27
27
  # Verified against EA-published reference SVGs.
28
28
  def wrapped_lines(context, body)
29
- usable = context.bounds.width - 15
29
+ # EA's note wrap padding is 4: lines fit bounds.width - 4
30
+ # (9BA1CE54: width 214, longest line tl 210). Pitch and
31
+ # first-line offset scale with the note font (9pt: pitch
32
+ # 16 = size+7, first line at bounds.y + 18 = size+9), and
33
+ # each paragraph break adds one blank pitch row
34
+ # (paragraph 2 starts 32 after the last line of
35
+ # paragraph 1).
36
+ usable = context.bounds.width - 4
30
37
  size = context.size
31
38
  family = context.family
32
- # EA's note body pitch and first-line offset scale with
33
- # the note font (9pt notes: pitch 16 = size+7, first line
34
- # at bounds.y + 18 = size+9 - 9BA1CE54).
35
- pitch = context.size + 7
36
- first_offset = context.size + 9
37
- body.to_s.split(/\n/).flat_map do |para|
38
- wrap_paragraph(para, usable, size, context.family)
39
- end.each_with_index.map do |line, idx|
40
- y = context.bounds.y + first_offset + (idx * pitch)
41
- TextRenderer.new(
42
- content: line,
43
- x: context.bounds.x + context.theme.note.text_x_offset,
44
- y: y,
45
- family: context.family, size: context.size, size_unit: context.size_unit,
46
- fill: context.theme.text_color,
47
- stroke_in_text: context.theme.stroke_in_text_color,
48
- width_factor: context.theme.text_width_factor
49
- ).to_svg
39
+ pitch = size + 7
40
+ first_offset = size + 9
41
+ y_index = 0
42
+ paragraphs = body.to_s.split(/\n/).reject { |p| p.strip.empty? }
43
+ paragraphs.flat_map do |para|
44
+ lines = wrap_paragraph(para, usable, size, context.family)
45
+ lines.each_with_index.map do |line, i|
46
+ y = context.bounds.y + first_offset + ((y_index + i) * pitch)
47
+ TextRenderer.new(
48
+ content: line,
49
+ x: context.bounds.x + context.theme.note.text_x_offset,
50
+ y: y,
51
+ family: context.family, size: context.size,
52
+ size_unit: context.size_unit,
53
+ fill: context.theme.text_color,
54
+ stroke_in_text: context.theme.stroke_in_text_color,
55
+ width_factor: context.theme.text_width_factor
56
+ ).to_svg
57
+ end.tap { y_index += lines.size + 1 }
50
58
  end
51
59
  end
52
60
 
data/lib/ea/version.rb CHANGED
@@ -4,5 +4,5 @@ module Ea
4
4
  # Gem release version. Extracted to its own file so the
5
5
  # `gem-release` tool's `gem bump` can find and update it via the
6
6
  # standard `lib/<gem>/version.rb` convention.
7
- VERSION = "0.6.46"
7
+ VERSION = "0.6.47"
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ea
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.46
4
+ version: 0.6.47
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.