{ "id": "76601", "key": "TIMOB-4467", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "10000", "description": "", "name": "Done" }, "resolutiondate": "2019-11-20T23:08:53.000+0000", "created": "2011-06-21T07:48:32.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "parity", "stage" ], "versions": [ { "id": "11244", "name": "Release 1.7.0", "archived": true, "released": true, "releaseDate": "2011-06-13" } ], "issuelinks": [], "assignee": null, "updated": "2019-11-20T23:08:53.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10207", "name": "Tooling" } ], "description": "The handling of custom fonts is inconsistent across platforms. For iOS it requires a custom Info.plist setting - also, to my knowledge, fonts have to be placed at the top level Resource directory to be usable. For Android, fonts must be placed in Resources/fonts. There's not clear guidance on either platform on how to use these fonts in JavaScript.\r\n\r\nConsistent handling and documentation on proper use is needed for custom fonts.", "attachment": [], "flagged": false, "summary": "Platform inconsistencies around custom fonts", "creator": { "name": "kwhinnery", "key": "kwhinnery", "displayName": "Kevin Whinnery", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "kwhinnery", "key": "kwhinnery", "displayName": "Kevin Whinnery", "active": true, "timeZone": "America/Chicago" }, "environment": null, "comment": { "comments": [ { "id": "164441", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Just follow-up, because it concerns something I'm working on. iOS requires custom fonts to be declared upfront, so I believe Android should too for parity's sake. Stephen says that currently it's a plist (as Kevin points out) but that they need to move it to tiapp.xml. The two teams should do this in concert, i.e., we should try to make it so that we need only one (or whatever) section in tiapp.xml.\r\n\r\nAlso, Stephen has just confirmed to me that indeed the custom font files need to be in Resources/ (not Resources/fonts like the Android team did it.) So Android should also have them in Resources/. For backwards compatibility, Android should continue to support Resources/fonts for a few versions (for the two or three people using it :) ).", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2011-08-29T17:05:00.000+0000", "updated": "2011-08-29T17:05:00.000+0000" }, { "id": "173561", "author": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Other custom font discrepancies, from my observation: \r\n\r\n- I believe iOS supports both .otf and .ttf, but Android only supports .ttf. I could be wrong about this, but I couldn't seem to get .otf fonts to work on Android.\r\n\r\n- iOS loads based on the font name (embedded in the file), but Android loads based on the file name. So to use the same Chantelli Antiqua font referenced here on iOS, I'd need to specify the fontFamily as 'chantelli antiqua' instead of 'chantelli_antiqua'. \r\n\r\nUnrelated to parity, I also noted that the Mac stores its fonts in font \"suitcases\" which as far as I can tell neither platform can use. So users with Mac format fonts will need to extract the TrueType font data using a third-party tool.\r\n\r\n\r\n\r\n\r\n", "updateAuthor": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-11-21T14:11:11.000+0000", "updated": "2011-11-21T14:11:11.000+0000" }, { "id": "179035", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "I have tested fonts using 1.8.0.1 on iOS and Android:\r\n\r\n* Both platforms can use OTF and TTF files\r\n* You can put the font files into the Resources/fonts directory as long as you include a path in the value string in Info.plist\r\n\r\nA sample app with fonts is included with https://wiki.appcelerator.org/display/guides/Custom+Fonts", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2012-01-12T07:31:27.000+0000", "updated": "2012-01-12T07:31:27.000+0000" }, { "id": "452835", "author": { "name": "ahutton", "key": "ahutton", "displayName": "Alan Hutton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing. This has been addressed in previous releases of the SDK.\r\nhttp://docs.appcelerator.com/platform/latest/#!/api/Font", "updateAuthor": { "name": "ahutton", "key": "ahutton", "displayName": "Alan Hutton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-11-20T23:08:53.000+0000", "updated": "2019-11-20T23:08:53.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }