{ "id": "171256", "key": "TIMOB-25847", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": [ { "id": "20033", "name": "Release 9.0.0", "archived": false, "released": true, "releaseDate": "2020-03-18" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2020-01-07T14:41:44.000+0000", "created": "2018-03-07T17:28:02.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "2019-cl" ], "versions": [], "issuelinks": [ { "id": "57171", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "172563", "key": "TIMOB-26523", "fields": { "summary": "iOS 11+: Support large title style (dynamic fonts)", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "57173", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "111591", "key": "TIMOB-13187", "fields": { "summary": "iOS: Kerning for fonts in Titanium.", "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" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": null, "updated": "2020-01-07T14:41:44.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h5. Feature Request:\r\nTrying to use the accessibility options in iOS: Specifically the option to use larger text (Dynamic Type) but the changes are not applied to the app.\r\n\r\nSetting the font size to use \"sp\" as unit identifier for the font size which works on Android but not in iOS. \r\nfont: { \r\nfontSize: '16sp' \r\n} \r\n\r\nIn the fontSize documentation it says: \"iOS ignores any unit specifier after the size value.\" \r\n\r\nwhen changing font size in accessibility options the alert dialogs have the font size change but nothing else.\r\n\r\nCan we implement Dynamic Type support so that font size is also changed within the app? ", "attachment": [ { "id": "67149", "filename": "app.zip", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-11-22T19:10:42.000+0000", "size": 5125641, "mimeType": "application/zip" } ], "flagged": false, "summary": "iOS: Accessibility support for Dynamic Type", "creator": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 1169, "state": "closed", "name": "2019 Sprint 22", "startDate": "2019-10-21T15:38:21.747Z", "endDate": "2019-11-03T15:38:00.000Z", "completeDate": "2019-11-04T18:36:57.022Z", "originBoardId": 114 }, { "id": 1170, "state": "closed", "name": "2019 Sprint 23", "startDate": "2019-11-04T18:38:14.526Z", "endDate": "2019-11-17T18:38:00.000Z", "completeDate": "2019-11-18T16:38:18.423Z", "originBoardId": 114 }, { "id": 1171, "state": "closed", "name": "2019 Sprint 24", "startDate": "2019-11-18T16:40:09.114Z", "endDate": "2019-12-01T16:40:00.000Z", "completeDate": "2019-12-02T23:06:24.654Z", "originBoardId": 114 }, { "id": 1175, "state": "closed", "name": "2019 Sprint 26", "startDate": "2019-12-16T06:12:12.044Z", "endDate": "2019-12-21T06:12:00.000Z", "completeDate": "2019-12-22T03:07:15.802Z", "originBoardId": 114 }, { "id": 1161, "state": "closed", "name": "2019 Sprint 18", "startDate": "2019-08-26T21:46:26.269Z", "endDate": "2019-09-08T21:46:00.000Z", "completeDate": "2019-09-09T20:39:58.761Z", "originBoardId": 114 }, { "id": 1163, "state": "closed", "name": "2019 Sprint 19", "startDate": "2019-09-09T20:43:13.091Z", "endDate": "2019-09-22T20:43:00.000Z", "completeDate": "2019-09-23T15:37:35.874Z", "originBoardId": 114 }, { "id": 1165, "state": "closed", "name": "2019 Sprint 20", "startDate": "2019-09-23T15:38:43.949Z", "endDate": "2019-10-06T15:38:00.000Z", "completeDate": "2019-10-07T18:33:11.953Z", "originBoardId": 114 }, { "id": 1168, "state": "closed", "name": "2019 Sprint 21", "startDate": "2019-10-07T18:35:57.052Z", "endDate": "2019-10-20T18:35:00.000Z", "completeDate": "2019-10-21T15:38:00.182Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "435316", "author": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hey [~nderzhak] would you be the write person to assign for this? \r\n", "updateAuthor": { "name": "vvazquezmontero", "key": "vvazquezmontero", "displayName": "Victor Vazquez Montero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-03-07T21:22:15.000+0000", "updated": "2018-03-07T21:22:15.000+0000" }, { "id": "435387", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Some notes here:\r\n* We already support one portion of it - the [textStyle|http://docs.appcelerator.com/platform/latest/#!/api/Font-property-textStyle] properties that scale automatically\r\n* Since iOS, native developers can listen to the [{{UIContentSizeCategoryDidChangeNotification}}|https://developer.apple.com/documentation/uikit/uicontentsizecategorydidchangenotification] notification that notifies developers about font-size changes. We could expose the same on the Ti.UI.Label namespace, e.g. as an event like this:\r\n{code:js}\r\nTi.App.iOS.addEventListener('fontchange', function(e) {\r\n // See size-category with: e.sizeCategory, one of https://developer.apple.com/documentation/uikit/uicontentsizecategory\r\n});\r\n{code}\r\n* For iOS 10+, iOS started to realize the dynamic font management is bad, so they came up with [{{adjustsFontForContentSizeCategory}}|https://developer.apple.com/documentation/uikit/uicontentsizecategoryadjusting/1771731-adjustsfontforcontentsizecategor?language=objc] which is a boolean that can be set for each label instead of globally.\r\n\r\nRead more about this [here|https://useyourloaf.com/blog/auto-adjusting-fonts-for-dynamic-type/] and let us know what of these should be implemented.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-08T15:05:27.000+0000", "updated": "2018-03-08T15:05:39.000+0000" }, { "id": "435423", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Side-note: It can already be used today, is the {{textStyle}} property in the {{font}} object is set to {{Ti.UI.TEXT_STYLE_BODY}}, e.g.:\r\n{code:js}\r\nvar label = Ti.UI.createLabel({\r\n text: 'Hello World!',\r\n font: {\r\n textStyle: Ti.UI.TEXT_STYLE_BODY\r\n }\r\n});\r\n{code}\r\nAfter changing the accessibility size in the settings, it will adopt it automatically when reopening the app. And again, make sure to check the [other constants|http://docs.appcelerator.com/platform/latest/#!/api/Font-property-textStyle] as well - they are meant to cover all kind of native layout sizes, e.g. headline, subtitle, different title sizes, captions and callouts.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-09T13:17:29.000+0000", "updated": "2018-03-09T13:18:26.000+0000" }, { "id": "435595", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "For using custom fonts with {{textStyles}} the iOS 11+ {{UIFontMetrics}} API can be used. If you use Hyperloop, the following could be done today:\r\n{code:js}\r\n// Import the native classes\r\nvar UILabel = require('UIKit/UILabel');\r\nvar UIFont = require('UIKit/UIFont');\r\nvar UIFontMetrics = require('UIKit/UIFontMetrics');\r\nvar UIFontTextStyleBody = require('UIKit').UIFontTextStyleBody;\r\n\r\n// Cast your Ti.UI.Label to a UILabel\r\nvar myLabel = Ti.UI.createLabel({ text: 'Hello World' });\r\nvar nativeLabel = UILabel.cast(myLabel);\r\n\r\n// Create the iOS 11+ font-metrics\r\nvar font = UIFont.fontWithNameSize('', 15);\r\nvar fontMetrics = UIFontMetrics.metricsForTextStyle(UIFontTextStyleBody);\r\n\r\n// Assign the font-metrics to the native label\r\nnativeLabel.font = fontMetrics.scaledFontForFont(font);\r\n{code}\r\nThis could eventually also be done in Titanium, but please note that it would still be iOS 11+ due to the Apple limitations in earlier versions. Road more about the API [here|https://useyourloaf.com/blog/using-a-custom-font-with-dynamic-type/].\r\n\r\nOnce approved by product management, we can scope and implement the change.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-03-14T18:00:33.000+0000", "updated": "2018-03-14T18:01:44.000+0000" }, { "id": "452891", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR - https://github.com/appcelerator/titanium_mobile/pull/11364\r\n\r\nTest Case 1- \r\n\r\n{code:java}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar label = Ti.UI.createLabel({\r\n text: 'Hello World!',\r\n font: {\r\n \tfontFamily: 'American Typewriter',\r\n textStyle: Ti.UI.TEXT_STYLE_BODY\r\n }\r\n});\r\n\r\nwin.add(label);\r\nwin.open();\r\n{code}\r\n\r\nTest Case 2 -\r\n Use attached app.zip with new alloy app.\r\n\r\nSteps to test - \r\n1. Launch the app. See the font type and text size.\r\n2. Close app.\r\n3. Open Settings->Accessibility->Display & Text Size-> Large Text. Increase text size from slider.\r\n4. Open app. See the font type and text size. It should vary.", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-11-22T19:10:13.000+0000", "updated": "2019-11-22T19:16:43.000+0000" }, { "id": "453210", "author": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed. Waiting on Jenkins build.", "updateAuthor": { "name": "ssekhri", "key": "ssekhri", "displayName": "Satyam Sekhri", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-12-16T23:17:34.000+0000", "updated": "2019-12-16T23:17:34.000+0000" }, { "id": "453239", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master for 9.0.0", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2019-12-18T19:46:13.000+0000", "updated": "2019-12-18T19:46:13.000+0000" }, { "id": "453468", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket, fix verified in SDK version {{9.0.0.v20200103081513}}. \r\n\r\nTest and other information can be found at:\r\nhttps://github.com/appcelerator/titanium_mobile/pull/11364", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-01-07T14:41:38.000+0000", "updated": "2020-01-07T14:41:38.000+0000" } ], "maxResults": 19, "total": 19, "startAt": 0 } } }