一日調べてもサッパリ分からないので、再現するコードを書いてみた。代理フォントの時だけ位置がおかしくなる。なぜだ。。。
tabStyle := TextStyle new leading: 0; newFontArray: {Preferences standardFlapFont}. p1 := MultiNewParagraph new positionWhenComposed: 0@0. p2 := MultiNewParagraph new positionWhenComposed: 0@0. p1 compose: '武道' asText style: tabStyle from: 1 in: (0@0 corner: 100@100). p2 compose: '武道1' asText style: tabStyle from: 1 in: (0@0 corner: 100@100). Display getCanvas paragraph: p1 bounds: (10@10 extent: 100@100) color: Color black. Display getCanvas paragraph: p2 bounds: (50@10 extent: 100@100) color: Color black.