add font information and generate stuff from json data

This commit is contained in:
Koen Lageveen 2016-02-29 22:39:46 +01:00
parent 7f7ea5ed46
commit 7d1f997274
7 changed files with 352 additions and 134 deletions

312
fonts.json Normal file
View File

@ -0,0 +1,312 @@
[{
"alias": "anka-coder",
"name": "Anka/Coder",
"author": "Andrey Makarov",
"year": 2010,
"website": "https://code.google.com/p/anka-coder-fonts/"
},{
"alias": "anonymous-pro",
"name": "Anonymous Pro",
"author": "Mark Simonson",
"year": 2009,
"website": "http://www.marksimonson.com/fonts/view/anonymous-pro"
},{
"alias": "aurulent",
"name": "Aurulent Sans Mono",
"author": "Stephen G. Hartke",
"year": 2007,
"website": "http://delubrum.org"
},{
"alias": "average",
"name": "Average Mono",
"author": "Richard Alexander Hall",
"year": 2013,
"website": "http://openfontlibrary.org/en/font/average-mono"
},{
"alias": "bitstream-vera",
"name": "Bitstream Vera Sans Mono",
"author": "Jim Lyles",
"year": 2002,
"website": "http://www.fontsquirrel.com/fonts/Bitstream-Vera-Sans-Mono"
},{
"alias": "bpmono",
"name": "BPmono",
"author": "Backpacker",
"website": "http://www.fontsquirrel.com/fonts/BPmono"
},{
"alias": "camingocode",
"name": "CamingoCode",
"author": "Jan Fromm",
"year": 2013,
"website": "http://www.janfromm.de/typefaces/camingomono/camingocode"
},{
"alias": "code-new-roman",
"name": "Code New Roman",
"author": "Samiru R.",
"year": 2014,
"website": "http://sourceforge.net/projects/codenewroman/"
},{
"alias": "consolamono",
"name": "Consolamono",
"author": "Wojciech Kalinowski",
"year": 2011,
"website": "http://openfontlibrary.org/en/font/consolamono"
},{
"alias": "cousine",
"name": "Cousine",
"author": "Steve Matteson",
"year": 2010,
"website": "http://www.fontsquirrel.com/fonts/cousine"
},{
"alias": "cutive",
"name": "Cutive Mono",
"author": "Vernon Adams",
"year": 2012,
"website": "http://www.google.com/fonts/specimen/Cutive+Mono"
},{
"alias": "dejavu",
"name": "DejaVu Mono",
"author": "Deja Vu Project",
"year": 2004,
"website": "http://dejavu-fonts.org/wiki/Main_Page"
},{
"alias": "droid-sans",
"name": "Droid Sans Mono",
"author": "Steve Matteson",
"year": 2006,
"website": "http://www.google.com/fonts/specimen/Droid+Sans+Mono"
},{
"alias": "effects-eighty",
"name": "Effects Eighty",
"author": "Peter Hull",
"year": 2013,
"website": "http://openfontlibrary.org/en/font/effects-eighty"
},{
"alias": "fantasque-sans",
"name": "Fantasque Sans Mono",
"author": "Jany Belluz",
"year": 2013,
"website": "https://github.com/belluzj/fantasque-sans"
},{
"alias": "fifteen",
"name": "Fifteen",
"author": "James Kilfiger",
"year": 2013,
"website": "http://openfontlibrary.org/en/font/fifteen"
},{
"alias": "fira",
"name": "Fira Mono",
"author": "Erik Spiekerman, Carois Type Design",
"year": 2013,
"website": "https://www.mozilla.org/en-US/styleguide/products/firefox-os/typeface/"
},{
"alias": "fixedsys",
"name": "Fixedsys",
"author": "Microsoft",
"year": 1980,
"website": "http://www.moviecorner.de/en/font-fixedsys-ttf/description"
},{
"alias": "generic",
"name": "Generic Mono",
"author": "Luc Devroye",
"year": 1980,
"website": "http://openfontlibrary.org/en/font/generic-mono"
},{
"alias": "gnu-freefont",
"name": "GNU Freefont",
"author": "Primož Peterlin, Steve White",
"year": 2002,
"website": "https://www.gnu.org/software/freefont/"
},{
"alias": "hack",
"name": "Hack",
"author": "Christopher Simpkins",
"year": 2015,
"website": "https://github.com/chrissimpkins/Hack"
},{
"alias": "hermit",
"name": "Hermit",
"author": "Pablo Caro",
"year": 2013,
"website": "https://pcaro.es/p/hermit/"
},{
"alias": "inconsolata",
"name": "Inconsolata",
"author": "Raph Levien",
"year": 2001,
"website": "http://www.levien.com/type/myfonts/inconsolata.html"
},{
"alias": "inconsolata-g",
"name": "Inconsolata-g",
"author": "Leonardo Maffi",
"year": 2009,
"website": "http://leonardo-m.livejournal.com/77079.html"
},{
"alias": "iosevka",
"name": "Iosevka",
"author": "Belleve Invis",
"year": 2015,
"website": "http://be5invis.github.io/Iosevka/"
},{
"alias": "input",
"name": "Input",
"author": "David Jonathan Ross",
"year": 2014,
"website": "http://input.fontbureau.com"
},{
"alias": "latin-modern",
"name": "Latin Modern Mono",
"author": "Bogusław Jackowski, Janusz M. Nowacki",
"year": 2002,
"website": "http://www.gust.org.pl/gust/projects/e-foundry/latin-modern"
},{
"alias": "lekton",
"name": "Lekton",
"author": "Accademia di Belle Arti di Urbino",
"year": 2008,
"website": "http://www.fontsquirrel.com/fonts/lekton"
},{
"alias": "liberation",
"name": "Liberation Mono",
"author": "Steve Matteson",
"year": 2007,
"website": "https://fedorahosted.org/liberation-fonts/"
},{
"alias": "luxi",
"name": "Luxi Mono",
"author": "Kris Holmes, Charles Bigelow",
"year": 2001,
"website": "http://www.fontsquirrel.com/fonts/Luxi-Mono"
},{
"alias": "meslo",
"name": "Meslo",
"author": "André Berg",
"year": 2010,
"website": "https://github.com/andreberg/Meslo-Font"
},{
"alias": "monofur",
"name": "Monofur",
"author": "Tobias Benjamin Köhler",
"year": 2000,
"website": "http://www.dafont.com/monofur.font"
},{
"alias": "mplus",
"name": "M+",
"author": "Coji Morishita",
"year": 2003,
"website": "http://mplus-fonts.sourceforge.jp"
},{
"alias": "notcouriersans",
"name": "NotCourierSans",
"author": "Open Source Publishing",
"year": 2008,
"website": "http://www.fontsquirrel.com/fonts/NotCourierSans"
},{
"alias": "nova",
"name": "Nova Mono",
"author": "Wojciech Kalinowski",
"year": 2010,
"website": "http://www.google.com/fonts/specimen/Nova+Mono"
},{
"alias": "office-code-pro",
"name": "Office Code Pro",
"author": "Nathan Rutzky",
"year": 2015,
"website": "https://github.com/nathco/Office-Code-Pro"
},{
"alias": "oxygen",
"name": "Oxygen Mono",
"author": "Vernon Adams",
"year": 2012,
"website": "http://www.google.com/fonts/specimen/Oxygen+Mono"
},{
"alias": "profont",
"name": "Profont",
"author": "Andrew Welch",
"year": 1987,
"website": "http://tobiasjung.name/profont/"
},{
"alias": "proggy-clean",
"name": "Proggy Clean",
"author": "Tristan Grimmer",
"year": 2004,
"website": "http://www.proggyfonts.net/"
},{
"alias": "pt",
"name": "PT Mono",
"author": "Alexandra Korolkova, Isabella Chaeva",
"year": 2011,
"website": "http://paratype.com/public/"
},{
"alias": "quinze",
"name": "Quinze",
"author": "James Kilfiger",
"year": 2013,
"website": "http://openfontlibrary.org/en/font/fifteen"
},{
"alias": "roboto",
"name": "Roboto Mono",
"author": "Christian Robertson",
"year": 2015,
"website": "https://www.google.com/fonts/specimen/Roboto+Mono"
},
{
"alias": "sax",
"name": "saxMono",
"author": "s.a.x. Software",
"website": "http://www.fontsquirrel.com/fonts/saxMono"
},{
"alias": "share-tech",
"name": "Share Tech Mono",
"author": "Ralph du Carrois",
"year": 2012,
"website": "http://www.google.com/fonts/specimen/Share+Tech+Mono"
},{
"alias": "sk-modernist",
"name": "SK Modernist Mono",
"author": "Sean Kane",
"year": 2015,
"website": "http://seankanedesign.com/work/sk-modernist"
},{
"alias": "source-code-pro",
"name": "Source Code Pro",
"author": "Paul D. Hunt",
"year": 2012,
"website": "https://github.com/adobe-fonts/source-sans-pro"
},{
"alias": "sudo",
"name": "Sudo",
"author": "Jens Kutilek",
"year": 2009,
"website": "http://www.netzallee.de/extra/sudo"
},{
"alias": "tex-gyre-cursor",
"name": "TeX Gyre Cursor",
"author": "GUST e-foundry",
"year": 2006,
"website": "http://www.gust.org.pl/projects/e-foundry/tex-gyre"
},{
"alias": "ubuntu",
"name": "Ubuntu Mono",
"author": "Dalton Maag",
"year": 2010,
"website": "http://font.ubuntu.com"
},{
"alias": "unifont",
"name": "GNU Unifont",
"author": "Roman Czyborra",
"year": 1998,
"website": "http://www.unifoundry.com/unifont.html"
},{
"alias": "verily",
"name": "Verily Serif Mono",
"author": "Stephen G. Hartke",
"year": 2006,
"website": "http://delubrum.org"
},{
"alias": "vt323",
"name": "VT323",
"author": "Peter Hull",
"year": 2014,
"website": "https://fedoraproject.org/wiki/VT323_Fonts"
}]

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -96,14 +96,14 @@
font-weight: bold;
font-size: 64px;
line-height: 64px;
margin: 0 0 64px 0;
margin: 0 0 16px 0;
text-align: center;
padding-top: 64px;
}
.description {
h1 + p {
font-weight: bold;
text-align: center;
margin: 0 0 30px 0;
margin: 0 0 48px 0;
font-size: 20px;
}
article {
@ -115,12 +115,16 @@
border: 0;
box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}
article p {
article p {
text-align: center;
padding: 0 32px 16px 32px;
}
article p:last-child {
padding-bottom: 32px;
padding-bottom: 36px;
}
#font-info p {
display: none;
padding-bottom: 36px;
}
article form {
margin-bottom: 32px;
@ -199,10 +203,10 @@ function findSequence(goal) {
else if (start > goal)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
return find(start + 9, "(" + history + " + 9)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
return find(1, "I");
}
</textarea>
</form>
@ -241,85 +245,22 @@ function findSequence(goal) {
<option>xq-light</option>
</select></span>
<span class="select">Select a font <select onchange="selectFont()" id="select-font">
<option value="anka-coder">Anka/Coder</option>,
<option value="anonymous-pro">Anonymous Pro</option>,
<option value="aurulent">Aurulent Sans Mono</option>,
<option value="average">Average Mono</option>,
<option value="bitstream-vera">Bitstream Vera Sans Mono</option>,
<option value="bpmono">BPmono</option>,
<option value="camingocode">CamingoCode</option>,
<option value="consolamono">Consolamono</option>,
<option value="cousine">Cousine</option>,
<option value="cutive">Cutive Mono</option>,
<option value="dejavu">DejaVu Mono</option>,
<option value="droid-sans">Droid Sans Mono</option>,
<option value="effects-eighty">Effects Eighty</option>,
<option value="fantasque-sans">Fantasque Sans Mono</option>,
<option value="fifteen">Fifteen</option>,
<option value="fira">Fira Mono</option>,
<option value="fixedsys">Fixedsys</option>,
<option value="generic">Generic Mono</option>,
<option value="gnu-freefont">GNU Freefont</option>,
<option value="unifont">GNU Unifont</option>,
<option value="hack">Hack</option>,
<option value="hermit">Hermit</option>,
<option value="inconsolata">Inconsolata</option>,
<option value="inconsolata-g">Inconsolata-G</option>,
<option value="Input Mono" selected>Input Mono</option>,
<option value="input Mono Comp">Input Mono Compressed</option>,
<option value="latin-modern">Latin Modern Mono</option>,
<option value="lekton">Lekton</option>,
<option value="liberation">Liberation Mono</option>,
<option value="luxi">Luxi Mono</option>,
<option value="meslo">Meslo</option>,
<option value="monofur">Monofur</option>,
<option value="mplus">Mplus-1m</option>,
<option value="notcouriersans">NotCourierSans</option>,
<option value="nova">Nova Mono</option>,
<option value="office-code-pro">Office Code Pro</option>,
<option value="oxygen">Oxygen Mono</option>,
<option value="profont">Profont</option>,
<option value="proggy-clean">Proggy Clean</option>,
<option value="pt">PT Mono</option>,
<option value="quinze">Quinze</option>,
<option value="roboto">Roboto</option>,
<option value="sax">saxMono</option>,
<option value="share-tech">Share Tech Mono</option>,
<option value="sk-modernist">SK Modernist</option>,
<option value="source-code-pro">Source Code Pro</option>,
<option value="sudo">Sudo</option>,
<option value="tex-gyre-cursor">TeX Gyre Cursor</option>,
<option value="ubuntu">Ubuntu Mono</option>,
<option value="verily">Verily Serif Mono</option>
<option value="vt323">VT323</option>
<!-- In need of testing -->
<!-- <option value="gohu">gohu</option>, -->
<!-- filled from json -->
</select></span>
</p>
<p><a href="http://programmingfonts.org/list" rel="external">Download your favourite fonts</a>, or use <a href="http://atom.io/packages/fonts" rel="external">this package</a> in <a href="http://atom.io">Atom</a></p>
<dix id="font-info"></dix>
</article>
<footer>
<p><a href="http://programmingfonts.org/list" rel="external">Download your favourite fonts</a>, or use <a href="http://atom.io/packages/fonts" rel="external">this package</a> in <a href="http://atom.io">Atom</a></p>
<p>
Contribute on <a href="https://github.com/braver/programmingfonts">Github</a>
</p>
<p>
<a href="http://programmingfonts.org">Back to the blog</a> - &copy; 2016 <a href="http://koenlageveen.nl">Koen Lageveen</a>
<p>
<!-- Paypal donate button -->
<!-- <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/nl_NL/i/scr/pixel.gif" width="1" height="1">
</form> -->
</footer>
<!-- Some jquery to make life easier -->
@ -327,64 +268,6 @@ function findSequence(goal) {
<!-- The business -->
<script>
// configure the webfont loader
WebFont.load({
custom: {
families: [
'anka-coder',
'anonymous-pro',
'aurulent',
'average',
'bitstream-vera',
'bpmono',
'camingocode',
'consolamono',
'cousine',
'cutive',
'dejavu',
'droid-sans',
'effects-eighty',
'fantasque-sans',
'fifteen',
'fira',
'fixedsys',
'generic',
'gnu-freefont',
'gnutypewriter',
// 'gohu',
'hack',
'hermit',
'inconsolata',
'inconsolata-g',
'lekton',
'latin-modern',
'liberation',
'luxi',
'meslo',
'monofur',
'mplus',
'notcouriersans',
'nova',
'office-code-pro',
'oxygen',
'profont',
'proggy-clean',
'pt',
'quinze',
'roboto',
'sax',
'share-tech',
'sk-modernist',
'source-code-pro',
'sudo',
'tex-gyre-cursor',
'ubuntu',
'unifont',
'verily',
'vt323'
]
}
});
// CodeMirror
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
@ -402,7 +285,7 @@ function findSequence(goal) {
}
var choice = document.location.search &&
decodeURIComponent(document.location.search.slice(1));
decodeURIComponent(document.location.search.slice(1));
if (choice) {
input.value = choice;
@ -423,12 +306,35 @@ function findSequence(goal) {
fontFamily: font
});
$("#font-info p").hide();
$("." + font).show();
}
$(document).ready(function(){
selectFont();
});
var font_aliases = [];
$.getJSON("fonts.json", function(data) {
$.each(data, function(k,v) {
font_aliases.push(v.alias);
$("#select-font").append("<option value=\"" + v.alias + "\">" + v.name + "</option>");
$("#font-info").append(
"<p class=\"" + v.alias + "\"> " + v.name +
" - " + v.author +
" (" + v.year + ")" +
"<br><a href=\""+ v.website + "\" rel=\"external\">" + v.website + "</a>" +
"</p>"
);
});
// configure the webfont loader
WebFont.load({
custom: { families: font_aliases }
});
$("#select-font").val('input'); // default to this awesome font
selectFont();
});
});
// Google Analytics
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){