Skip to content

Incomplete Text Render when Chinese and English characters are used together in an upright vertical way #20419

@EllenGYY

Description

@EllenGYY

Bug report

Bug summary

Incomplete Text Render when Chinese and English characters are used together in an upright vertical way. The Chinese characters after the English characters will only show the left half.

Code for reproduction

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.text(0, 0, '\n'.join("现代美学")) #all chinese is fine
plt.text(0.2, 0, '\n'.join("hello world 123")) # all english/number is fine
plt.text(0.4, 0, '\n'.join("现代hello美学")) #a mixture results in incomplete render of the chinese characters after the English chars
plt.show()

Actual outcome

https://i.imgur.com/BXWiW0H.png

Expected outcome

https://i.imgur.com/9syXGpC.jpeg

Matplotlib version

  • Operating system: windows 10
  • Matplotlib version: 3.11
  • Matplotlib backend: module://ipykernel.pylab.backend_inline
  • Python version: 3.7.4
  • Jupyter version (if applicable): 6.0.1
  • Other libraries:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions