Skip to content

Commit da2713f

Browse files
Junichi EnomotoJunichi Enomoto
authored andcommitted
bug fix : auto size settings
1 parent 53740d9 commit da2713f

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

Assets/RubyTextMeshPro/Source/RubyTextMeshPro.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,12 @@ private string ReplaceRubyTags(string str)
7373

7474
var rubyTextW = GetPreferredValues(rubyText).x * (m_isOrthographic ? 1 : 10f) * rubyScale;
7575
var baseTextW = GetPreferredValues(baseText).x * (m_isOrthographic ? 1 : 10f);
76-
var rubyTextH = GetPreferredValues(rubyText).y * (m_isOrthographic ? 1 : 10f) * rubyScale;
77-
var baseTextH = GetPreferredValues(baseText).y * (m_isOrthographic ? 1 : 10f);
76+
if (this.m_enableAutoSizing)
77+
{
78+
var calc = (this.m_fontSize / this.m_maxFontSize);
79+
rubyTextW *= calc;
80+
baseTextW *= calc;
81+
}
7882
var dir = isRightToLeftText ? 1 : -1;
7983
var rubyTextOffset = dir * (baseTextW / 2f + rubyTextW / 2f);
8084
compensationOffset = -dir * ((baseTextW - rubyTextW) / 2f);
@@ -199,6 +203,8 @@ protected float ConvertToFloatOrigin(char[] chars, int startIndex, int lastIndex
199203
protected override void OnValidate()
200204
{
201205
base.OnValidate();
206+
207+
ForceMeshUpdate();
202208

203209
SetTextCustom(m_uneditedText);
204210
}

Assets/RubyTextMeshPro/Source/RubyTextMeshProUGUI.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ private string ReplaceRubyTags(string str)
7272

7373
var rubyTextW = GetPreferredValues(rubyText).x * (m_isOrthographic ? 1 : 10f) * rubyScale;
7474
var baseTextW = GetPreferredValues(baseText).x * (m_isOrthographic ? 1 : 10f);
75+
if (this.m_enableAutoSizing)
76+
{
77+
var calc = (this.m_fontSize / this.m_maxFontSize);
78+
rubyTextW *= calc;
79+
baseTextW *= calc;
80+
}
7581
var dir = isRightToLeftText ? 1 : -1;
7682
var rubyTextOffset = dir * (baseTextW / 2f + rubyTextW / 2f);
7783
compensationOffset = -dir * ((baseTextW - rubyTextW) / 2f);
@@ -135,7 +141,9 @@ private string CreateReplaceValue(string baseText, string rubyText, float rubyTe
135141
protected override void OnValidate()
136142
{
137143
base.OnValidate();
138-
144+
145+
ForceMeshUpdate();
146+
139147
SetTextCustom(m_uneditedText);
140148
}
141149

0 commit comments

Comments
 (0)