Tk Source Code

View Ticket
Login
Ticket UUID: 3249f7d4c685d9f6511383f54839751f801a1dc9
Title: MS-Win: canvas does not rotate text if font replaced
Type: Bug Version: 9.0
Submitter: oehhar Created on: 2026-04-21 07:58:28
Subsystem: 05. Canvas Items Assigned To: nobody
Priority: 5 Medium Severity: Minor
Status: Open Last Modified: 2026-04-21 10:43:43
Resolution: None Closed By: nobody
    Closed on:
Description:

  • Platform: MS-Win 64
  • TCL 9.0.3 64 bit, MS.VS 2022

A text item in a canvas is not displayed as rotated if the font family is substituted.

expr {"Courier" in [font families]}
-> 0
font create f1 -family Courier
pack [canvas .c]
.c create text 20 20 -angle 90 -font f1 -text ABC

The bounding box of the font is rotated. But the font is not rendered as rotated. As a result, only a part of the "A" is displayed.

This bug does not appear, if the font is not substituted:

expr {"Courier New" in [font families]}
-> 1
font create f1 -family "Courier New"
pack [canvas .c]
.c create text 20 20 -angle 90 -font f1 -text ABC

This bug is not present in Tk 8.6.

Emiliano gave the ticket of this change. I have lost the track, sorry.

The change of the ticket was, that font families are replaced on Tk 8.6 on creation. This does not happen on Tk 9.0.

font create f1 -family Courier
font actual f1

returns "-family Courier" on Tk 9 and "-family "Courier New"" on Tk 8.6.

Take care, Harald

User Comments: oehhar added on 2026-04-21 10:43:43:

Yes, perhaps the issue is not font replacement related.

If I use an unknown font, it get corrected in 9.0:

font create f1 -family Courie
font actual f1
-family Arial -size 12 -weight normal -slant roman -underline 0 -overstrike 0

Perhaps "Courier" is special, as it is guranteed to exist by the font man page...


emiliano added on 2026-04-21 10:30:06:
The change is due to bug [c0dbdd3ff35697b57935]