Comments (9)
If I hit those 3 bins and reimport, your issue is fixed for me (Linux, v4.3.beta1 or github tip).
from godot.
I thought you also needed the *.fnt file for kerning the bitmap files? No?
You can manually specify kernings and custom glyph offsets/advanced in the image import settings, importer should be renamed it was monospace when it was first added, but this is no longer the case. The source image is expected to be uniform character grid (you can't specify arbitrary rect for the character), but the font itself is not monospaced.
from godot.
The issue seems to be how HarfBuzz apply kerning, half is applied to the previous glyph advance, half to the next glyph offset. This works with normal fonts, but with 1px
kerning it will result in 0.5
pixel offsets and rounding errors.
from godot.
@bruvzg thanks for working on such quick fixes for this feature! As someone relatively new to Godot, I really appreciate it!
from godot.
@capnm That deletes the kerning pairs, thus removing character specific kerning entirely. This bug report is about the usage of the kerning pairs feature itself.
from godot.
@capnm That deletes the kerning pairs, thus removing character specific kerning entirely. This bug report is about the usage of the kerning pairs feature itself.
Kerning pairs for monospace fonts? This is IMO a bug – you shouldn't use kerning here at all.
from godot.
Kerning pairs for monospace fonts? This is IMO a bug – you shouldn't use kerning here at all.
The datatype will probably be renamed to bitmap image fonts or such since this feature allows them to no longer be exclusively monospace.
from godot.
I thought you also needed the *.fnt file for kerning the bitmap files? No?
from godot.
I guess that's then the implemented spec...
bmfont -> Block type 5: kerning pairs
https://calligro.ideasalmanac.com/
from godot.
Related Issues (20)
- Serialization Methods `var_to_bytes_with_objects` and `bytes_to_var_with_objects` Not Preserving Instance Property Values HOT 4
- Converting large float to string doesn't work
- Geometry gets strongly visually modified (simplified) when Camera3D's x frustum_offset is decreased below a certain negative number
- AStarGrid2D allow_partial_path does not always find the shortest path HOT 2
- `RenderingDevice.buffer_get_data` has very high latency HOT 2
- When inheriting `EditorSceneFormatImporter`, cannot call the parent class' virtual function "_import_scene()" because it hasn't been defined HOT 4
- Root Motion Track setting from script from instantiated scene HOT 6
- Custom SVG icon appears too large in Quick Open (Ctrl+P)
- Due to malformed Mach-o file, cannot run Godot app on Apple Silicon Mac HOT 2
- Normal values gets changed even when using `skip_vertex_transform` render_mode HOT 5
- Callable argument conversion error: Cannot convert argument 1 from int to int. HOT 2
- Signal tooltip doesn't go away when moving mouse to another signal in single window mode HOT 4
- RichTextLabel's "fade" offsets from start of string rather than start of command
- libc++abi: mutex lock failed editor crash HOT 1
- [Core] `Array` and `Dictionary` read only behavior is unsafe HOT 10
- JavaScriptObject example code doesn't work
- Adding a translation CSV results in errors on initial import for many types of resources HOT 5
- Meshes with a negative scale have incorrect normals when using `cull_disabled` and `cull_front` render modes HOT 1
- Landscape and Reverse Landscape orientation in iOS are in opposite direction that they are in Android
- 2D Camera viewport rounding error with subpixel position of 0.5 with "Snap 2D Transforms to Pixel" enabled HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from godot.