|v whatever| v := RTView new. whatever := [ :i :str :positionFix | |b1 b2 l font provider converter stringExtents| l := RTLabel new height: TRLabelShape defaultFontSize; color: Color black; elementOn: str. b1 := RTBox new width: l width; height: l height; color: Color transparent; borderColor: Color blue; borderStyle: #dash; element. b2 := RTBox new color: Color transparent; borderColor: Color red; element. b2 translateBy: positionFix. v add: l; add: b1; add: b2. font := TRLabelShape getFontForSize: TRLabelShape defaultFontSize. provider := CairoScaledFont fromFreetypeFont: font realFont. converter := CairoUTF8Converter new. converter convert: l model from: 1 to: l model size. stringExtents := CairoTextExtents new. provider getExtentsOf: converter buffer into: stringExtents. b2 width: stringExtents width. b2 height: stringExtents height. { l . b1 . b2 } asGroup translateBy: i*20 @ 0. ]. { #X -> (-1 @ 0.1). #Č -> (-0.9 @ -1). #a -> (-1 @ 1.5). #qw -> (-1 @ 3.1). } withIndexDo: [ :each :i | whatever value: i value: each key value: each value. ]. v @ RTZoomableView @ RTDraggableView. v canvas camera focusOnCenterScaled: (450.0@700.0). v