[Solved] Context macro could not find font (haxe problem?)

I am trying to find a solution to this strange problem that I seem to be having. The following picture pretty much says everything I need to explain:

Just so you know, I have openfl 3.0.6 and lime 2.4.1 installed (latest). Considering the stack is traced to a macro in haxe, I’m assuming there is a macro lime is using to grab the fonts, but Haxe seems to think that it does not exist, even though you can clearly see it in the folder there.

This is the code in my Fonts.hx file, using metadata to pull a font:

#if html5
@:font("a/font/main.ttf") class DefaultFont extends flash.text.Font { }
@:font("a/font/main-bold.ttf") class BoldFont extends flash.text.Font { }
@:font("a/font/main-bolditalic.ttf") class BoldItalicFont extends flash.text.Font { }
@:font("a/font/main-italic.ttf") class ItalicFont extends flash.text.Font { }

This is the XML to rename the assets correctly:

<!-- assets --><icon path="assets/openfl.svg" /><assets path="assets" rename="a" />

As far as I am concerned, Haxe likes to complain about macros.


What I also find odd is that there is apparently a fix already been applied: https://github.com/openfl/lime/pull/418

Okay, after a complete reinstall of Haxe and upgrade to version 3.2, and installing all latest versions of the required libraries, I am still having this issue so I really don’t know what’s going on or how to solve this.

I managed to solve the problem. Apparently, “a/” is not actually the folder name since Context.ResolvePath doesn’t account for the rename attribute in the project’s XML file.

Yeah, it’s a little confusing – it uses class paths, not asset paths. I wonder if asset paths should be added to the class path list automatically in order to help with this