{"action":"created","comment":{"url":"https://api.github.com/repos/koreader/koreader/pulls/comments/210965108","pull_request_review_id":147296380,"id":210965108,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDk2NTEwOA==","diff_hunk":"@@ -178,6 +178,21 @@ Note that your selected font size is not affected by this setting.]]),\n - off: no hinting.\n - native: use the font internal hinting instructions.\n - auto: use FreeType's hinting algorithm, ignoring font instructions.]]),\n+            },\n+            {\n+                name = \"font_kerning\",\n+                name_text = S.FONT_KERNING,\n+                toggle = {S.OFF, S.FREETYPE, S.HARFBUZZ},\n+                values = {0, 1, 2},\n+                default_value = 1,\n+                args = {0, 1, 2},\n+                event = \"SetFontKerning\",\n+                name_text_hold_callback = optionsutil.showValues,\n+                help_text = _([[Font kerning is the process of adjusting the spacing between individual letter forms, to achieve a visually pleasing result.\n+\n+- off: no kerning.\n+- freetype: use FreeType's kerning implementation (no ligature).\n+- harfbuzz: use Harfbuzz's kerning implementationg (slower but may support ligatures with some fonts).]]),","path":"frontend/ui/data/creoptions.lua","position":18,"original_position":18,"commit_id":"d16dbf2e4458cd548e458eeba8b9770750010d4b","original_commit_id":"d16dbf2e4458cd548e458eeba8b9770750010d4b","user":{"login":"Frenzie","id":202757,"node_id":"MDQ6VXNlcjIwMjc1Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/202757?v=4","gravatar_id":"","url":"https://api.github.com/users/Frenzie","html_url":"https://github.com/Frenzie","followers_url":"https://api.github.com/users/Frenzie/followers","following_url":"https://api.github.com/users/Frenzie/following{/other_user}","gists_url":"https://api.github.com/users/Frenzie/gists{/gist_id}","starred_url":"https://api.github.com/users/Frenzie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Frenzie/subscriptions","organizations_url":"https://api.github.com/users/Frenzie/orgs","repos_url":"https://api.github.com/users/Frenzie/repos","events_url":"https://api.github.com/users/Frenzie/events{/privacy}","received_events_url":"https://api.github.com/users/Frenzie/received_events","type":"User","site_admin":false},"body":"We should probably mention something about RTL here as well (Hebrew, Arabic, Persian, etc.)","created_at":"2018-08-17T16:31:16Z","updated_at":"2018-08-17T16:31:17Z","html_url":"https://github.com/koreader/koreader/pull/4167#discussion_r210965108","pull_request_url":"https://api.github.com/repos/koreader/koreader/pulls/4167","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/koreader/koreader/pulls/comments/210965108"},"html":{"href":"https://github.com/koreader/koreader/pull/4167#discussion_r210965108"},"pull_request":{"href":"https://api.github.com/repos/koreader/koreader/pulls/4167"}}},"pull_request":{"url":"https://api.github.com/repos/koreader/koreader/pulls/4167","id":209138735,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5MTM4NzM1","html_url":"https://github.com/koreader/koreader/pull/4167","diff_url":"https://github.com/koreader/koreader/pull/4167.diff","patch_url":"https://github.com/koreader/koreader/pull/4167.patch","issue_url":"https://api.github.com/repos/koreader/koreader/issues/4167","number":4167,"state":"open","locked":false,"title":"cre: configurable kerning method (off/freetype/harfbuzz)","user":{"login":"poire-z","id":24273478,"node_id":"MDQ6VXNlcjI0MjczNDc4","avatar_url":"https://avatars0.githubusercontent.com/u/24273478?v=4","gravatar_id":"","url":"https://api.github.com/users/poire-z","html_url":"https://github.com/poire-z","followers_url":"https://api.github.com/users/poire-z/followers","following_url":"https://api.github.com/users/poire-z/following{/other_user}","gists_url":"https://api.github.com/users/poire-z/gists{/gist_id}","starred_url":"https://api.github.com/users/poire-z/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poire-z/subscriptions","organizations_url":"https://api.github.com/users/poire-z/orgs","repos_url":"https://api.github.com/users/poire-z/repos","events_url":"https://api.github.com/users/poire-z/events{/privacy}","received_events_url":"https://api.github.com/users/poire-z/received_events","type":"User","site_admin":false},"body":"Will need bumps for https://github.com/koreader/koreader-base/pull/720 and https://github.com/koreader/crengine/pull/228.\r\nDetails about harfbuzz rendering in https://github.com/koreader/crengine/issues/224.\r\n\r\n<kbd>![image](https://user-images.githubusercontent.com/24273478/44266724-e55a6480-a22b-11e8-8d39-65cbd188dd88.png)</kbd>\r\n\r\n<kbd>![image](https://user-images.githubusercontent.com/24273478/44266737-f905cb00-a22b-11e8-90a1-d592a73b33e3.png)</kbd>\r\n\r\nAs it looks like harfbuzz does a little more than just kerning (ligature, individual RTL words ordering), we may call that toggle something else, like `Font Shaping` ? (although I just discovered that term a week ago :) so `Shaping` may speak even less than `Kerning`...)\r\nAnd `freetype|harfbuzz` rename to `fast|enhanced` if we don't want to expose the involved technical engines names?\r\n\r\n<kbd>![image](https://user-images.githubusercontent.com/24273478/44267002-e2ac3f00-a22c-11e8-93a4-4b3b77f7873e.png)</kbd>\r\n","created_at":"2018-08-17T12:52:25Z","updated_at":"2018-08-17T16:31:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b83147ea673e6013b6071bf7e4154cfee057fbbb","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/koreader/koreader/pulls/4167/commits","review_comments_url":"https://api.github.com/repos/koreader/koreader/pulls/4167/comments","review_comment_url":"https://api.github.com/repos/koreader/koreader/pulls/comments{/number}","comments_url":"https://api.github.com/repos/koreader/koreader/issues/4167/comments","statuses_url":"https://api.github.com/repos/koreader/koreader/statuses/d16dbf2e4458cd548e458eeba8b9770750010d4b","head":{"label":"poire-z:configurable_kerning","ref":"configurable_kerning","sha":"d16dbf2e4458cd548e458eeba8b9770750010d4b","user":{"login":"poire-z","id":24273478,"node_id":"MDQ6VXNlcjI0MjczNDc4","avatar_url":"https://avatars0.githubusercontent.com/u/24273478?v=4","gravatar_id":"","url":"https://api.github.com/users/poire-z","html_url":"https://github.com/poire-z","followers_url":"https://api.github.com/users/poire-z/followers","following_url":"https://api.github.com/users/poire-z/following{/other_user}","gists_url":"https://api.github.com/users/poire-z/gists{/gist_id}","starred_url":"https://api.github.com/users/poire-z/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poire-z/subscriptions","organizations_url":"https://api.github.com/users/poire-z/orgs","repos_url":"https://api.github.com/users/poire-z/repos","events_url":"https://api.github.com/users/poire-z/events{/privacy}","received_events_url":"https://api.github.com/users/poire-z/received_events","type":"User","site_admin":false},"repo":{"id":75196141,"node_id":"MDEwOlJlcG9zaXRvcnk3NTE5NjE0MQ==","name":"koreader","full_name":"poire-z/koreader","owner":{"login":"poire-z","id":24273478,"node_id":"MDQ6VXNlcjI0MjczNDc4","avatar_url":"https://avatars0.githubusercontent.com/u/24273478?v=4","gravatar_id":"","url":"https://api.github.com/users/poire-z","html_url":"https://github.com/poire-z","followers_url":"https://api.github.com/users/poire-z/followers","following_url":"https://api.github.com/users/poire-z/following{/other_user}","gists_url":"https://api.github.com/users/poire-z/gists{/gist_id}","starred_url":"https://api.github.com/users/poire-z/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poire-z/subscriptions","organizations_url":"https://api.github.com/users/poire-z/orgs","repos_url":"https://api.github.com/users/poire-z/repos","events_url":"https://api.github.com/users/poire-z/events{/privacy}","received_events_url":"https://api.github.com/users/poire-z/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/poire-z/koreader","description":"An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Kindle, Kobo, PocketBook, Ubuntu Touch and Android devices","fork":true,"url":"https://api.github.com/repos/poire-z/koreader","forks_url":"https://api.github.com/repos/poire-z/koreader/forks","keys_url":"https://api.github.com/repos/poire-z/koreader/keys{/key_id}","collaborators_url":"https://api.github.com/repos/poire-z/koreader/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/poire-z/koreader/teams","hooks_url":"https://api.github.com/repos/poire-z/koreader/hooks","issue_events_url":"https://api.github.com/repos/poire-z/koreader/issues/events{/number}","events_url":"https://api.github.com/repos/poire-z/koreader/events","assignees_url":"https://api.github.com/repos/poire-z/koreader/assignees{/user}","branches_url":"https://api.github.com/repos/poire-z/koreader/branches{/branch}","tags_url":"https://api.github.com/repos/poire-z/koreader/tags","blobs_url":"https://api.github.com/repos/poire-z/koreader/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/poire-z/koreader/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/poire-z/koreader/git/refs{/sha}","trees_url":"https://api.github.com/repos/poire-z/koreader/git/trees{/sha}","statuses_url":"https://api.github.com/repos/poire-z/koreader/statuses/{sha}","languages_url":"https://api.github.com/repos/poire-z/koreader/languages","stargazers_url":"https://api.github.com/repos/poire-z/koreader/stargazers","contributors_url":"https://api.github.com/repos/poire-z/koreader/contributors","subscribers_url":"https://api.github.com/repos/poire-z/koreader/subscribers","subscription_url":"https://api.github.com/repos/poire-z/koreader/subscription","commits_url":"https://api.github.com/repos/poire-z/koreader/commits{/sha}","git_commits_url":"https://api.github.com/repos/poire-z/koreader/git/commits{/sha}","comments_url":"https://api.github.com/repos/poire-z/koreader/comments{/number}","issue_comment_url":"https://api.github.com/repos/poire-z/koreader/issues/comments{/number}","contents_url":"https://api.github.com/repos/poire-z/koreader/contents/{+path}","compare_url":"https://api.github.com/repos/poire-z/koreader/compare/{base}...{head}","merges_url":"https://api.github.com/repos/poire-z/koreader/merges","archive_url":"https://api.github.com/repos/poire-z/koreader/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/poire-z/koreader/downloads","issues_url":"https://api.github.com/repos/poire-z/koreader/issues{/number}","pulls_url":"https://api.github.com/repos/poire-z/koreader/pulls{/number}","milestones_url":"https://api.github.com/repos/poire-z/koreader/milestones{/number}","notifications_url":"https://api.github.com/repos/poire-z/koreader/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/poire-z/koreader/labels{/name}","releases_url":"https://api.github.com/repos/poire-z/koreader/releases{/id}","deployments_url":"https://api.github.com/repos/poire-z/koreader/deployments","created_at":"2016-11-30T14:44:50Z","updated_at":"2018-08-17T12:31:59Z","pushed_at":"2018-08-17T12:41:17Z","git_url":"git://github.com/poire-z/koreader.git","ssh_url":"git@github.com:poire-z/koreader.git","clone_url":"https://github.com/poire-z/koreader.git","svn_url":"https://github.com/poire-z/koreader","homepage":"","size":38394,"stargazers_count":0,"watchers_count":0,"language":"Lua","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"koreader:master","ref":"master","sha":"cd37535056ed571d111cf3a732a02e5f95cbc755","user":{"login":"koreader","id":3957564,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5NTc1NjQ=","avatar_url":"https://avatars0.githubusercontent.com/u/3957564?v=4","gravatar_id":"","url":"https://api.github.com/users/koreader","html_url":"https://github.com/koreader","followers_url":"https://api.github.com/users/koreader/followers","following_url":"https://api.github.com/users/koreader/following{/other_user}","gists_url":"https://api.github.com/users/koreader/gists{/gist_id}","starred_url":"https://api.github.com/users/koreader/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koreader/subscriptions","organizations_url":"https://api.github.com/users/koreader/orgs","repos_url":"https://api.github.com/users/koreader/repos","events_url":"https://api.github.com/users/koreader/events{/privacy}","received_events_url":"https://api.github.com/users/koreader/received_events","type":"Organization","site_admin":false},"repo":{"id":8986217,"node_id":"MDEwOlJlcG9zaXRvcnk4OTg2MjE3","name":"koreader","full_name":"koreader/koreader","owner":{"login":"koreader","id":3957564,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5NTc1NjQ=","avatar_url":"https://avatars0.githubusercontent.com/u/3957564?v=4","gravatar_id":"","url":"https://api.github.com/users/koreader","html_url":"https://github.com/koreader","followers_url":"https://api.github.com/users/koreader/followers","following_url":"https://api.github.com/users/koreader/following{/other_user}","gists_url":"https://api.github.com/users/koreader/gists{/gist_id}","starred_url":"https://api.github.com/users/koreader/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koreader/subscriptions","organizations_url":"https://api.github.com/users/koreader/orgs","repos_url":"https://api.github.com/users/koreader/repos","events_url":"https://api.github.com/users/koreader/events{/privacy}","received_events_url":"https://api.github.com/users/koreader/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/koreader/koreader","description":"An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Kindle, Kobo, PocketBook, Ubuntu Touch and Android devices","fork":false,"url":"https://api.github.com/repos/koreader/koreader","forks_url":"https://api.github.com/repos/koreader/koreader/forks","keys_url":"https://api.github.com/repos/koreader/koreader/keys{/key_id}","collaborators_url":"https://api.github.com/repos/koreader/koreader/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/koreader/koreader/teams","hooks_url":"https://api.github.com/repos/koreader/koreader/hooks","issue_events_url":"https://api.github.com/repos/koreader/koreader/issues/events{/number}","events_url":"https://api.github.com/repos/koreader/koreader/events","assignees_url":"https://api.github.com/repos/koreader/koreader/assignees{/user}","branches_url":"https://api.github.com/repos/koreader/koreader/branches{/branch}","tags_url":"https://api.github.com/repos/koreader/koreader/tags","blobs_url":"https://api.github.com/repos/koreader/koreader/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/koreader/koreader/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/koreader/koreader/git/refs{/sha}","trees_url":"https://api.github.com/repos/koreader/koreader/git/trees{/sha}","statuses_url":"https://api.github.com/repos/koreader/koreader/statuses/{sha}","languages_url":"https://api.github.com/repos/koreader/koreader/languages","stargazers_url":"https://api.github.com/repos/koreader/koreader/stargazers","contributors_url":"https://api.github.com/repos/koreader/koreader/contributors","subscribers_url":"https://api.github.com/repos/koreader/koreader/subscribers","subscription_url":"https://api.github.com/repos/koreader/koreader/subscription","commits_url":"https://api.github.com/repos/koreader/koreader/commits{/sha}","git_commits_url":"https://api.github.com/repos/koreader/koreader/git/commits{/sha}","comments_url":"https://api.github.com/repos/koreader/koreader/comments{/number}","issue_comment_url":"https://api.github.com/repos/koreader/koreader/issues/comments{/number}","contents_url":"https://api.github.com/repos/koreader/koreader/contents/{+path}","compare_url":"https://api.github.com/repos/koreader/koreader/compare/{base}...{head}","merges_url":"https://api.github.com/repos/koreader/koreader/merges","archive_url":"https://api.github.com/repos/koreader/koreader/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/koreader/koreader/downloads","issues_url":"https://api.github.com/repos/koreader/koreader/issues{/number}","pulls_url":"https://api.github.com/repos/koreader/koreader/pulls{/number}","milestones_url":"https://api.github.com/repos/koreader/koreader/milestones{/number}","notifications_url":"https://api.github.com/repos/koreader/koreader/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/koreader/koreader/labels{/name}","releases_url":"https://api.github.com/repos/koreader/koreader/releases{/id}","deployments_url":"https://api.github.com/repos/koreader/koreader/deployments","created_at":"2013-03-24T13:09:42Z","updated_at":"2018-08-17T12:45:19Z","pushed_at":"2018-08-17T12:52:25Z","git_url":"git://github.com/koreader/koreader.git","ssh_url":"git@github.com:koreader/koreader.git","clone_url":"https://github.com/koreader/koreader.git","svn_url":"https://github.com/koreader/koreader","homepage":"http://koreader.rocks/","size":38389,"stargazers_count":4061,"watchers_count":4061,"language":"Lua","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":562,"mirror_url":null,"archived":false,"open_issues_count":334,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":562,"open_issues":334,"watchers":4061,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/koreader/koreader/pulls/4167"},"html":{"href":"https://github.com/koreader/koreader/pull/4167"},"issue":{"href":"https://api.github.com/repos/koreader/koreader/issues/4167"},"comments":{"href":"https://api.github.com/repos/koreader/koreader/issues/4167/comments"},"review_comments":{"href":"https://api.github.com/repos/koreader/koreader/pulls/4167/comments"},"review_comment":{"href":"https://api.github.com/repos/koreader/koreader/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/koreader/koreader/pulls/4167/commits"},"statuses":{"href":"https://api.github.com/repos/koreader/koreader/statuses/d16dbf2e4458cd548e458eeba8b9770750010d4b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Frenzie"}}