-
Notifications
You must be signed in to change notification settings - Fork 0
Bug: Geometric Spikes and Artifacts on Beveled Text for Specific Font Files #8
Description
Summary
A significant visual artifact, appearing as a large geometric spike, has been observed on the beveled geometry of certain characters. This issue seems to be dependent on the specific font file being used, as different versions of the same font can yield different results.
The artifact appears on the live preview Text object itself, indicating the issue lies within Blender's core text-to-curve conversion or beveling algorithm, rather than our addon's mesh post-processing.
Visual Evidence
The following image shows the artifact on the top curve of a lowercase 'r'. Note the sharp, non-manifold spike protruding from the otherwise smooth bevel.
Current Behavior
When a problematic font is loaded and a Bevel Depth is applied, certain characters will render with severe geometric errors, such as the spike shown above. This error exists on the procedural text object before any conversion to a mesh.
Expected Behavior
The bevel should be smooth and correctly follow the contour of the character's original curve data without producing non-manifold artifacts.
Investigation and Suspected Cause
This appears to be a complex issue related to how Blender interprets font data, not a simple bug in the BF2M addon's logic.
Key Observations:
- The bug is present on the
bpy.types.Curveobject (of typeFONT) before ourto_mesh()conversion is ever called. - The user has confirmed that using a different download of the exact same font can resolve the issue, suggesting the problem is with the font file's internal data.
Potential Causes:
- Malformed Font Data: The most likely cause. The problematic font files may contain subtle errors in their vector data, such as overlapping points, incorrect curve normals, or self-intersecting splines. While most font renderers can ignore or correct for these errors, Blender's bevel algorithm may be more sensitive and interpret them as valid, but extreme, geometry.
- Blender Bevel Algorithm Limitation: It's possible that Blender's algorithm for beveling
FONTcurve objects has an edge case that is triggered by the specific point placement or curve resolution in these particular files - but this is just me vaguing.
Path Forward (Investigation Plan)
This issue requires deep investigation to determine if it can be mitigated within the addon.
1. Create a new text object (`Shift+A -> Text`).
2. In the Object Data Properties, load the problematic font file.
3. In the `Geometry` section, add a `Bevel Depth`.
4. If the artifact appears, this confirms the issue is with Blender's core text engine and not the addon.
-
Research Potential Solutions:
- If this is a core Blender issue, investigate if there are any known workarounds. This could involve changing font-specific import settings if they exist.
- Research if there are Python libraries capable of "cleaning" or "validating" font files before they are loaded by Blender. This is a long shot but may be a potential avenue for a robust solution.
-
Documentation: If no programmatic solution is feasible, the outcome of this investigation should be documented in the wiki's Troubleshooting page as a known limitation, advising users to source their fonts carefully or try different versions if they encounter such artifacts.