{"action":"closed","number":107,"pull_request":{"url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/107","id":89529181,"html_url":"https://github.com/ryanoasis/nerd-fonts/pull/107","diff_url":"https://github.com/ryanoasis/nerd-fonts/pull/107.diff","patch_url":"https://github.com/ryanoasis/nerd-fonts/pull/107.patch","issue_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/107","number":107,"state":"closed","locked":false,"title":"Monofixes","user":{"login":"sharkusk","id":4368882,"avatar_url":"https://avatars.githubusercontent.com/u/4368882?v=3","gravatar_id":"","url":"https://api.github.com/users/sharkusk","html_url":"https://github.com/sharkusk","followers_url":"https://api.github.com/users/sharkusk/followers","following_url":"https://api.github.com/users/sharkusk/following{/other_user}","gists_url":"https://api.github.com/users/sharkusk/gists{/gist_id}","starred_url":"https://api.github.com/users/sharkusk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharkusk/subscriptions","organizations_url":"https://api.github.com/users/sharkusk/orgs","repos_url":"https://api.github.com/users/sharkusk/repos","events_url":"https://api.github.com/users/sharkusk/events{/privacy}","received_events_url":"https://api.github.com/users/sharkusk/received_events","type":"User","site_admin":false},"body":"#### Description\r\n\r\nTL;DR - See \"What does this Pull Request (PR) do?\" below\r\n\r\nI was having problems getting many of the monospace fonts to work under windows.  Specifically, the fonts were not being detected as monospace, so they wouldn't work under MobaXterm or GVim.\r\n\r\nUnfortunately, getting things to work properly with both Windows and MacOS turned out to require a lot of trial and error.\r\n\r\nSome of the fun I discovered: \r\n\r\nOTF formatted monospace fonts are detected as such by Windows.  So, initially I added the option to modify the extension, forced the fonts I wanted to be OTF, and called it a day.  Unfortunately, I discovered that TTF fonts converted to OTF had a strange problem with MacOS.  Specifically glyph number 0xE0C8 would be somehow skipped, and all subsequent glyphs would be mis-numbered.\r\n\r\nTo get TTF fonts detected properly as monospace under Windows, I found that EVERY glyph must be assigned the same width.  This includes empty/blank glyphs, and often requires the source font glyphs to be modified in this way.\r\n\r\nWhen using the windows-compatible named fonts on MacOS, I found that some font families where not being handled properly.  Different weights of the same font would conflict with each other.  This was caused by the font name being the identical across the font weights.  I solved this by tweaking how the windows name is generated, and ensure it is unique for each font weight.  IMHO, it would be better to have only one naming convention that works everywhere.  This would eliminate half of the binary fonts and generation time.\r\n\r\nI also wanted to preserve the aspect ratio of the glyphs when generating a monospace font, but wanted the powerline separators to remain line-height.  After trial and error, I found that setting the ymax/ymin/height based upon the os2 parameters to be more consistent than scanning the line-draw characters.  \r\n\r\nI ended up doing some minor refactoring (normalizing indent amounts, removing unused variables, etc) in the process, so I completely understand if my changes are too drastic for a pull.\r\n\r\n#### Requirements / Checklist\r\n\r\n- [x] Read the [Contributing Guidelines](https://github.com/ryanoasis/nerd-fonts/blob/master/contributing.md)\r\n- [x] Read or at least glanced at the [FAQ](https://github.com/ryanoasis/nerd-fonts#faq)\r\n- [x] Read or at least glanced at the [Wiki](https://github.com/ryanoasis/nerd-fonts/wiki)\r\n- [x] Scripts execute without error (if necessary):\r\n  - If any of the scripts were modified they have been tested and execute without error, e.g.:\r\n    - `./font-patcher Inconsolata.otf --fontawesome --octicons --pomicons`\r\n    - `./gotta-patch-em-all-font-patcher\\!.sh Hermit`\r\n- [ ] Extended the README and documentation if necessary, e.g. You added a new font please update the table\r\n\r\n#### What does this Pull Request (PR) do?\r\n\r\nImproves generation of monospace fonts so they properly work under windows\r\n\r\n#### How should this be manually tested?\r\n\r\nGenerate some fonts.\r\n\r\n#### Any background context you can provide?\r\n\r\nSee description.\r\n\r\n#### What are the relevant tickets (if any)?\r\n\r\n#### Screenshots (if appropriate or helpful)\r\n","created_at":"2016-10-16T15:36:03Z","updated_at":"2016-10-23T00:40:11Z","closed_at":"2016-10-23T00:40:11Z","merged_at":null,"merge_commit_sha":"b01bcaa64ecaf6c64b20cf47b99f4173592c3702","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ryanoasis/nerd-fonts/milestones/14","html_url":"https://github.com/ryanoasis/nerd-fonts/milestones/v0.9.0","labels_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/milestones/14/labels","id":1803637,"number":14,"title":"v0.9.0","description":"","creator":{"login":"ryanoasis","id":8083459,"avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":2,"state":"open","created_at":"2016-06-02T02:17:01Z","updated_at":"2016-10-23T00:40:11Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/107/commits","review_comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/107/comments","review_comment_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/107/comments","statuses_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/994267d94c921f05eb0a9886df38b0972a785d08","head":{"label":"sharkusk:monofixes","ref":"monofixes","sha":"994267d94c921f05eb0a9886df38b0972a785d08","user":{"login":"sharkusk","id":4368882,"avatar_url":"https://avatars.githubusercontent.com/u/4368882?v=3","gravatar_id":"","url":"https://api.github.com/users/sharkusk","html_url":"https://github.com/sharkusk","followers_url":"https://api.github.com/users/sharkusk/followers","following_url":"https://api.github.com/users/sharkusk/following{/other_user}","gists_url":"https://api.github.com/users/sharkusk/gists{/gist_id}","starred_url":"https://api.github.com/users/sharkusk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharkusk/subscriptions","organizations_url":"https://api.github.com/users/sharkusk/orgs","repos_url":"https://api.github.com/users/sharkusk/repos","events_url":"https://api.github.com/users/sharkusk/events{/privacy}","received_events_url":"https://api.github.com/users/sharkusk/received_events","type":"User","site_admin":false},"repo":{"id":71018149,"name":"nerd-fonts","full_name":"sharkusk/nerd-fonts","owner":{"login":"sharkusk","id":4368882,"avatar_url":"https://avatars.githubusercontent.com/u/4368882?v=3","gravatar_id":"","url":"https://api.github.com/users/sharkusk","html_url":"https://github.com/sharkusk","followers_url":"https://api.github.com/users/sharkusk/followers","following_url":"https://api.github.com/users/sharkusk/following{/other_user}","gists_url":"https://api.github.com/users/sharkusk/gists{/gist_id}","starred_url":"https://api.github.com/users/sharkusk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sharkusk/subscriptions","organizations_url":"https://api.github.com/users/sharkusk/orgs","repos_url":"https://api.github.com/users/sharkusk/repos","events_url":"https://api.github.com/users/sharkusk/events{/privacy}","received_events_url":"https://api.github.com/users/sharkusk/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sharkusk/nerd-fonts","description":":abcd: Collection of over 25 patched fonts (over 5,700 variations) & FontForge font patcher python script for Powerline, Font Awesome, Octicons, Devicons, and Vim Devicons. Includes: Droid Sans, Meslo, Source Code, AnonymousPro, Hack, ProFont, Inconsolata, and many more","fork":true,"url":"https://api.github.com/repos/sharkusk/nerd-fonts","forks_url":"https://api.github.com/repos/sharkusk/nerd-fonts/forks","keys_url":"https://api.github.com/repos/sharkusk/nerd-fonts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sharkusk/nerd-fonts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sharkusk/nerd-fonts/teams","hooks_url":"https://api.github.com/repos/sharkusk/nerd-fonts/hooks","issue_events_url":"https://api.github.com/repos/sharkusk/nerd-fonts/issues/events{/number}","events_url":"https://api.github.com/repos/sharkusk/nerd-fonts/events","assignees_url":"https://api.github.com/repos/sharkusk/nerd-fonts/assignees{/user}","branches_url":"https://api.github.com/repos/sharkusk/nerd-fonts/branches{/branch}","tags_url":"https://api.github.com/repos/sharkusk/nerd-fonts/tags","blobs_url":"https://api.github.com/repos/sharkusk/nerd-fonts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sharkusk/nerd-fonts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sharkusk/nerd-fonts/git/refs{/sha}","trees_url":"https://api.github.com/repos/sharkusk/nerd-fonts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sharkusk/nerd-fonts/statuses/{sha}","languages_url":"https://api.github.com/repos/sharkusk/nerd-fonts/languages","stargazers_url":"https://api.github.com/repos/sharkusk/nerd-fonts/stargazers","contributors_url":"https://api.github.com/repos/sharkusk/nerd-fonts/contributors","subscribers_url":"https://api.github.com/repos/sharkusk/nerd-fonts/subscribers","subscription_url":"https://api.github.com/repos/sharkusk/nerd-fonts/subscription","commits_url":"https://api.github.com/repos/sharkusk/nerd-fonts/commits{/sha}","git_commits_url":"https://api.github.com/repos/sharkusk/nerd-fonts/git/commits{/sha}","comments_url":"https://api.github.com/repos/sharkusk/nerd-fonts/comments{/number}","issue_comment_url":"https://api.github.com/repos/sharkusk/nerd-fonts/issues/comments{/number}","contents_url":"https://api.github.com/repos/sharkusk/nerd-fonts/contents/{+path}","compare_url":"https://api.github.com/repos/sharkusk/nerd-fonts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sharkusk/nerd-fonts/merges","archive_url":"https://api.github.com/repos/sharkusk/nerd-fonts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sharkusk/nerd-fonts/downloads","issues_url":"https://api.github.com/repos/sharkusk/nerd-fonts/issues{/number}","pulls_url":"https://api.github.com/repos/sharkusk/nerd-fonts/pulls{/number}","milestones_url":"https://api.github.com/repos/sharkusk/nerd-fonts/milestones{/number}","notifications_url":"https://api.github.com/repos/sharkusk/nerd-fonts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sharkusk/nerd-fonts/labels{/name}","releases_url":"https://api.github.com/repos/sharkusk/nerd-fonts/releases{/id}","deployments_url":"https://api.github.com/repos/sharkusk/nerd-fonts/deployments","created_at":"2016-10-15T22:59:15Z","updated_at":"2016-10-15T23:00:09Z","pushed_at":"2016-10-22T06:26:15Z","git_url":"git://github.com/sharkusk/nerd-fonts.git","ssh_url":"git@github.com:sharkusk/nerd-fonts.git","clone_url":"https://github.com/sharkusk/nerd-fonts.git","svn_url":"https://github.com/sharkusk/nerd-fonts","homepage":"","size":1680502,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ryanoasis:master","ref":"master","sha":"72ca7b7c1f9e8e3c5e319e0703fd95fc827bf3b9","user":{"login":"ryanoasis","id":8083459,"avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"repo":{"id":27574418,"name":"nerd-fonts","full_name":"ryanoasis/nerd-fonts","owner":{"login":"ryanoasis","id":8083459,"avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ryanoasis/nerd-fonts","description":":abcd: Collection of over 25 patched fonts (over 5,700 variations) & FontForge font patcher python script for Powerline, Font Awesome, Octicons, Devicons, and Vim Devicons. Includes: Droid Sans, Meslo, Source Code, AnonymousPro, Hack, ProFont, Inconsolata, and more","fork":false,"url":"https://api.github.com/repos/ryanoasis/nerd-fonts","forks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/forks","keys_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/teams","hooks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/hooks","issue_events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/events{/number}","events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/events","assignees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/assignees{/user}","branches_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/branches{/branch}","tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/tags","blobs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/refs{/sha}","trees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/{sha}","languages_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/languages","stargazers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/stargazers","contributors_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contributors","subscribers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscribers","subscription_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscription","commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/commits{/sha}","git_commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/commits{/sha}","comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/comments{/number}","issue_comment_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/comments{/number}","contents_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contents/{+path}","compare_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/merges","archive_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/downloads","issues_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues{/number}","pulls_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls{/number}","milestones_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/milestones{/number}","notifications_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/labels{/name}","releases_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/releases{/id}","deployments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/deployments","created_at":"2014-12-05T04:31:17Z","updated_at":"2016-10-22T22:58:21Z","pushed_at":"2016-10-22T23:44:18Z","git_url":"git://github.com/ryanoasis/nerd-fonts.git","ssh_url":"git@github.com:ryanoasis/nerd-fonts.git","clone_url":"https://github.com/ryanoasis/nerd-fonts.git","svn_url":"https://github.com/ryanoasis/nerd-fonts","homepage":"","size":1735776,"stargazers_count":3132,"watchers_count":3132,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":120,"mirror_url":null,"open_issues_count":39,"forks":120,"open_issues":39,"watchers":3132,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/107"},"html":{"href":"https://github.com/ryanoasis/nerd-fonts/pull/107"},"issue":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/107"},"comments":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/107/comments"},"review_comments":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/107/comments"},"review_comment":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/107/commits"},"statuses":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/994267d94c921f05eb0a9886df38b0972a785d08"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":9,"review_comments":0,"commits":15,"additions":329,"deletions":289,"changed_files":1}}
{"actor":{"display_login":"sharkusk"}}