Library footprint text may appear reversed in PCBnew v8
Description
Since installing KiCad 8 I’ve noticed that footprint text sometimes appears incorrectly in the PCB editor. At first, I thought this involved justification (left, center, right), but I think it’s actually the reversed / not reversed property of text objects. It seems to occur only in footprints that have text on back layers, and only when said footprints are instantiated on the back side of a PCB.
Steps to reproduce
- Create a new Test project with an empty footprint library, and a simple footprint. I made a heavy box on the front silkscreen with four text objects inside: two on front layers, two on back layers:
- Create a new PCB with two instances of the footprint: one on the front, one on the back. Save this file:
- Quit KiCad (actually, it may be enough just to close the PCB editor). Then relaunch and reopen the PCB file. Note that the instance on the front side appears correctly, while the back layer text of the instance on the back side (which now appears on front layers) appears reversed:
-
The appearance of the text can be corrected by using Update Footprint from Library with Update/reset text styles, sizes, and positions selected. The output messages will report that no changes were made, but the text will now appear correctly, as in Screenshot #2
-
You can try saving again, but this will have no effect at the next launch. Another thing that has no effect is View -> Refresh. It isn’t clear whether the saved PCB file actually contains incorrect text orientation properties, or just that their display is initially incorrect. The fact that the update utility claims to make no changes suggests the later. Also, it took quite a lot of experimentation to isolate the effect to the back footprint layers of parts on the backs of boards, and I’m not entirely confident I may have missed something else important.
KiCad Version
Application: KiCad arm64 on arm64
Version: 8.0.1, release build
Libraries:
wxWidgets 3.2.4
FreeType 2.13.2
HarfBuzz 8.3.0
FontConfig 2.15.0
libcurl/8.4.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.58.0
Platform: macOS Sonoma Version 14.3.1 (Build 23D60), 64 bit, Little endian, wxMac
Build Info:
Date: Mar 14 2024 13:30:33
wxWidgets: 3.2.4 (wchar_t,wx containers)
Boost: 1.84.0
OCC: 7.7.2
Curl: 7.87.0
ngspice: 42
Compiler: Clang 14.0.3 with C++ ABI 1002
Build settings: