子に基づいて高さを計算するノードがレンダーツリーにあります。位置とサイズの値は浮動小数点値にすることができ、丸めはレンダリング時に行われます。
def compute_size(self):
# Invokes compute_size() of child nodes.
super(InlineBoxNode, self).compute_size()
# Iterate over all children and compute the current nodes
# height.
self.h = 0
for node in self.children:
self.h += node.h
私が直面している問題は次のとおりです。2つのノードが上記のコードのノードの子であると想像してください。両方の子の身長は10.5です。子ノードは、それぞれの前のノードの下に配置されます。つまり、ノード2はに配置されy=10.5ます。レンダリング時に。に10.5なり11ます。2番目のノードはにy=11あり、にありますh=11。つまり、下端はにあり22、ではありません21。(デモについては下の画像を参照してください)
この問題は、常にフロアを丸めることで(つまり、隣接する整数値の低い方に)解決できると思いますが、セマンティクスは正しいでしょうか?

編集
床を丸めても解決しないことに気づきました。2番目のノードの下端はになりまし20た21が、正しいはずです。
