GithubHelp home page GithubHelp logo

Comments (4)

qcapen avatar qcapen commented on July 23, 2024

This occurs when the first character in the drawn text has a negative xoffset value in the font descriptor file. Because the drawing loop adds the xoffset to the current cursor position, a negative value in the first character is drawn outside of the label widget bounds. Positive xoffset values for the first character can also lead to clipping of the last character for the same reason.

The solution is to adjust the initial cursor/drawing position by the first character xoffset position so it is always drawn at position 0.

from mpf-mc.

qcapen avatar qcapen commented on July 23, 2024

Backported fix to version 0.54.1

from mpf-mc.

qcapen avatar qcapen commented on July 23, 2024

Now there are some conditions where the right edge of the last character is cut off. It appears the issue is in the BitmapFont.get_extents method. The algorithm used to calculate the extents does not properly take into account the width of the last character (only the xadvance character attribute which is sometimes less than the character width).

from mpf-mc.

qcapen avatar qcapen commented on July 23, 2024

The algorithm to calculate the font extents and do the drawing had some slight differences that in some conditions could cause clipping on either the right or left edge of the text widget. This is now fixed as both methods are now in sync.

from mpf-mc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.