Jaejin Jang
Jaejin Jang

Reputation: 41

Is it not possible to use an icon path with the '@' sign in the manifest.json defined under 'fonts'?

It is a part of source code, Manifest.json and outpuf of compile of my project.

// source code
@asset(iconfont/*)
// Manifest.json
{
  "info": {
    ...
  },
  "provides": {
   ...
    "webfonts": [
      {
        "name": "FontAwesome6Regular",
        "defaultSize": 16,
        "comparisonString": "\\u30\\u31",
        "mapping": "iconfont/fontawesome6/fa-regular.map",
        "resources": [
          "iconfont/fontawesome6/fa-regular-400.woff2"
        ]
      }
    ]
  },
   ...
  "$schema": "https://qooxdoo.org/schema/Manifest-1-0-0.json"
}
// output
Manifest uses deprecated provides.webfonts, consider switching to provides.font
Making applications...
Writing application certiplanner
Assets required for webfont FontAwesome6Brands are not available in application testtapper, consider using @asset to include iconfont/fontawesome6/fa-brands-400.woff2
Assets required for webfont FontAwesome6Regular are not available in application testtapper, consider using @asset to include iconfont/fontawesome6/fa-regular-400.woff2        
Assets required for webfont FontAwesome6Solid are not available in application testtapper, consider using @asset to include iconfont/fontawesome6/fa-solid-900.woff2
Assets required for webfont FontAwesome6Duotone are not available in application testtapper, consider using @asset to include iconfont/fontawesome6/fa-duotone-900.woff2        
Assets required for webfont FontAwesome6Light are not available in application testtapper, consider using @asset to include iconfont/fontawesome6/fa-light-300.woff2
Assets required for webfont FontAwesome6Thin are not available in application testtapper, consider using @asset to include iconfont/fontawesome6/fa-thin-100.woff2
Writing application testtapper
Writing application iconbrowser
Applications are made
 *  Terminal will be reused by tasks, press any key to close it. 

I changed from provides.webfonts to provides.fonts because provides.fonts is preferred in qx 7.6. I checked it works well.

// source code
@asset(iconfont/*)
@usefont(FontAwesome6Regular)
// Manifest.json
    "fonts": {
      "FontAwesome6Regular": {
        "family": [
          "FontAwesome6Regular"
        ],
        "defaultSize": 16,
        "comparisonString": "\\u30\\u31",
        "mapping": "iconfont/fontawesome6/fa-regular.map",
        "fontFaces": [
          {
            "fontFamily": "FontAwesome6Regular",
            "paths": [
              "iconfont/fontawesome6/fa-regular-400.woff2"
            ]
          }
        ]
      }
    }

But I need to change icon path like below.

--    this.__loginBtn = new qx.ui.form.Button("Login", "@FontAwesome6Regular/lock-open/16");
++    this.__loginBtn = new qx.ui.form.Button("Login", "FontAwesome6Regular/lock-open/16");

I tried changing the font's ID from FontAwesome6Regular to @FontAwesome6Regular (and also updated the 'usefont' declaration accordingly), but it didn't work. I don't want to change hundreds of icon paths.

Does anyone know a solution to this issue?

Upvotes: 0

Views: 73

Answers (1)

johnspackman
johnspackman

Reputation: 1003

There should be absolutely no difference - you have to use the ‘@‘ sign, whether you use ‘fonts’ or ‘webfonts’ in Manifest.json

Please create a reproducible test case and file a bug report

Upvotes: 1

Related Questions