') 182 | .append($('').addClass(gly.id)) 183 | .click(function() { 184 | showIcon(gly); 185 | }) 186 | .addClass(isNew ? 'new' : '') 187 | .append($('').text(gly.name)) 188 | .attr('title', '\\'+gly.code.toString(16)) 189 | .appendTo(div); 190 | }); 191 | }) 192 | $('.news').text(news+(news>1?' NEWS':' NEW')); 193 | var data = getUrlData(); 194 | search(data.q); 195 | if (data.fc) { 196 | showIcon(glyphs['fc-'+data.fc]); 197 | showPage('icons'); 198 | } else { 199 | showIcon(glyphs['fc-earth'], false); 200 | } 201 | } 202 | }); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "font-cassini", 3 | "version": "1.0.6", 4 | "description": "Icon font set of Cassini map symbols for use with GIS and spatial analysis tools", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node serve.js", 9 | "build": "gulp" 10 | }, 11 | "keywords": [ 12 | "font", 13 | "GIS", 14 | "maps" 15 | ], 16 | "author": { 17 | "name": "Jean-Marc Viglino", 18 | "url": "https://github.com/Viglino" 19 | }, 20 | "homepage": "https://github.com/Viglino/font-cassini", 21 | "repository": { 22 | "type": "git", 23 | "url": "git+https://github.com/Viglino/font-cassini.git" 24 | }, 25 | "license": "Apache-2.0", 26 | "devDependencies": { 27 | "async": "^3.2.0", 28 | "del": "^6.0.0", 29 | "gulp": "^4.0.2", 30 | "gulp-cheerio": "^1.0.0", 31 | "gulp-consolidate": "^0.2.0", 32 | "gulp-iconfont": "^11.0.0", 33 | "gulp-iconfont-css": "^3.0.0", 34 | "gulp-rename": "^2.0.0", 35 | "gulp-svgmin": "^3.0.0", 36 | "gulp-svgstore": "^7.0.1", 37 | "live-server": "^1.2.1" 38 | }, 39 | "dependencies": { 40 | "vinyl-paths": "^3.0.1" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /serve.js: -------------------------------------------------------------------------------- 1 | 2 | var liveServer = require("live-server"); 3 | 4 | var params = { 5 | port: 8181, // Set the server port. Defaults to 8080. 6 | host: "0.0.0.0", // Set the address to bind to. Defaults to 0.0.0.0 or process.env.IP. 7 | open: false, // When false, it won't load your browser by default. 8 | watch: ['index.*', 'font-cassini.json', 'css/font-cassini.css'], // comma-separated string for paths to watch 9 | // ignore: '', // comma-separated string for paths to ignore 10 | file: "index.html", // When set, serve this file (server root relative) for every 404 (useful for single-page applications) 11 | wait: 1000, // Waits for all changes, before reloading. Defaults to 0 sec. 12 | logLevel: 2 // 0 = errors only, 1 = some, 2 = lots 13 | }; 14 | liveServer.start(params); 15 | -------------------------------------------------------------------------------- /svg/autre/uEA2C-gibet.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /svg/autre/uEA39-calvaire.svg: -------------------------------------------------------------------------------- 1 | 2 | 107 | -------------------------------------------------------------------------------- /svg/autre/uEA3A-gibet-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 107 | -------------------------------------------------------------------------------- /svg/autre/uEA3D-entree-mine.svg: -------------------------------------------------------------------------------- 1 | 2 | 106 | -------------------------------------------------------------------------------- /svg/bati/uEA05-chapelle-r.svg: -------------------------------------------------------------------------------- 1 | 2 | 127 | -------------------------------------------------------------------------------- /svg/bati/uEA07-chateau-r.svg: -------------------------------------------------------------------------------- 1 | 2 | 127 | -------------------------------------------------------------------------------- /svg/bati/uEA0A-ferme.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /svg/bati/uEA0D-moulin-eau.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /svg/bati/uEA17-tour-r.svg: -------------------------------------------------------------------------------- 1 | 2 | 127 | -------------------------------------------------------------------------------- /svg/bati/uEA1C-cabane.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /svg/bati/uEA1D-tuillerie.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /svg/bati/uEA3B-moulin-vent-a.svg: -------------------------------------------------------------------------------- 1 | 2 | 102 | -------------------------------------------------------------------------------- /svg/icon/uEA1E-abbaye-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA1F-cabane-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 118 | -------------------------------------------------------------------------------- /svg/icon/uEA21-chateau-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA22-commanderie-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA23-hameau-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA24-moulin-vent-bois-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA25-moulin-vent-pierre-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA26-paroisse-chateau-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA27-paroisse-protegee-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA28-paroisse-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA29-prieure-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA2A-ville-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/icon/uEA2B-chapelle-s.svg: -------------------------------------------------------------------------------- 1 | 2 | 117 | -------------------------------------------------------------------------------- /svg/militaire/uEA19-champ-bataille.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /svg/militaire/uEA1A-bataille-gagnee.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /svg/militaire/uEA1B-bataille-perdue.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /svg/militaire/uEA20-corps-garde.svg: -------------------------------------------------------------------------------- 1 | 2 | 122 | -------------------------------------------------------------------------------- /templates/template.css: -------------------------------------------------------------------------------- 1 | /* <%= fontName %> - v.<%= version %> 2 | * <%= desc %> 3 | * <%= year %> (c) <%= author %> - <%= license %> 4 | * <%= homepage %> 5 | */ 6 | @font-face { 7 | font-family: "<%= fontName %>"; 8 | src: url('<%= fontPath %><%= fontName %>.eot?t=<%= dtime %>'); 9 | src: url('<%= fontPath %><%= fontName %>.eot?#iefix') format('eot'), 10 | url('<%= fontPath %><%= fontName %>.woff2?t=<%= dtime %>') format('woff2'), 11 | url('<%= fontPath %><%= fontName %>.woff?t=<%= dtime %>') format('woff'), 12 | url('<%= fontPath %><%= fontName %>.ttf?t=<%= dtime %>') format('truetype'), 13 | url('<%= fontPath %><%= fontName %>.svg#<%= fontName %>') format('svg'); 14 | font-weight: normal; 15 | font-style: normal; 16 | } 17 | 18 | .font-cassini { 19 | width: 1em; 20 | height: 1em; 21 | } 22 | 23 | [class^="<%= className %>-"]:before, [class*="<%= className %>-"]:before { 24 | font-family: "<%= fontName %>"; 25 | font-style: normal; 26 | font-weight: normal; 27 | speak: none; 28 | display: inline-block; 29 | text-decoration: inherit; 30 | text-align: center; 31 | /* For safety - reset parent styles, that can break glyph codes*/ 32 | font-variant: normal; 33 | text-transform: none; 34 | /* fix buttons height, for twitter bootstrap */ 35 | line-height: 1em; 36 | /* Font smoothing. That was taken from TWBS */ 37 | -webkit-font-smoothing: antialiased; 38 | -moz-osx-font-smoothing: grayscale; 39 | } 40 | 41 | [class^="<%= className %>-"] { 42 | display: inline-block; 43 | } 44 | .<%= className %>-lg { 45 | font-size: 1.3333333333333333em; 46 | line-height: 0.75em; 47 | vertical-align: -15%; 48 | } 49 | .<%= className %>-2x { font-size: 2em; } 50 | .<%= className %>-3x { font-size: 3em; } 51 | .<%= className %>-4x { font-size: 4em; } 52 | .<%= className %>-5x { font-size: 5em; } 53 | .<%= className %>-fw { 54 | width: 1.2857142857142858em; 55 | text-align: center; 56 | } 57 | 58 | .<%= className %>-rotate10 { 59 | -webkit-transform: rotate(10deg); 60 | -ms-transform: rotate(10deg); 61 | transform: rotate(10deg); 62 | } 63 | .<%= className %>-rotate-10 { 64 | -webkit-transform: rotate(-10deg); 65 | -ms-transform: rotate(-10deg); 66 | transform: rotate(-10deg); 67 | } 68 | .<%= className %>-rotate20 { 69 | -webkit-transform: rotate(20deg); 70 | -ms-transform: rotate(20deg); 71 | transform: rotate(20deg); 72 | } 73 | .<%= className %>-rotate-20 { 74 | -webkit-transform: rotate(-20deg); 75 | -ms-transform: rotate(-20deg); 76 | transform: rotate(-20deg); 77 | } 78 | .<%= className %>-rotate45 { 79 | -webkit-transform: rotate(45deg); 80 | -ms-transform: rotate(45deg); 81 | transform: rotate(45deg); 82 | } 83 | .<%= className %>-rotate90 { 84 | -webkit-transform: rotate(90deg); 85 | -ms-transform: rotate(90deg); 86 | transform: rotate(90deg); 87 | } 88 | .<%= className %>-rotate135 { 89 | -webkit-transform: rotate(135deg); 90 | -ms-transform: rotate(135deg); 91 | transform: rotate(135deg); 92 | } 93 | .<%= className %>-rotate180 { 94 | -webkit-transform: rotate(180deg); 95 | -ms-transform: rotate(180deg); 96 | transform: rotate(180deg); 97 | } 98 | .<%= className %>-rotate225 { 99 | -webkit-transform: rotate(225deg); 100 | -ms-transform: rotate(225deg); 101 | transform: rotate(225deg); 102 | } 103 | .<%= className %>-rotate270 { 104 | -webkit-transform: rotate(270deg); 105 | -ms-transform: rotate(270deg); 106 | transform: rotate(270deg); 107 | } 108 | .<%= className %>-rotate315 { 109 | -webkit-transform: rotate(315deg); 110 | -ms-transform: rotate(315deg); 111 | transform: rotate(315deg); 112 | } 113 | 114 | .<%= className %>-fliph { 115 | -webkit-transform: scale(-1, 1); 116 | -ms-transform: scale(-1, 1); 117 | transform: scale(-1, 1); 118 | } 119 | .<%= className %>-flipv { 120 | -webkit-transform: scale(1, -1); 121 | -ms-transform: scale(1, -1); 122 | transform: scale(1, -1); 123 | } 124 | 125 | .<%= className %>-stack { 126 | position: relative; 127 | display: inline-block; 128 | width: 1em; 129 | height: 1em; 130 | line-height: 1em; 131 | vertical-align: middle; 132 | } 133 | .<%= className %>-stack [class^="<%= className %>-"] { 134 | position: absolute; 135 | } 136 | 137 | .<%= className %>-spin { 138 | -webkit-animation: <%= className %>-spin 2s infinite linear; 139 | animation: <%= className %>-spin 2s infinite linear; 140 | } 141 | .<%= className %>-pulse { 142 | -webkit-animation: <%= className %>-spin 1s infinite steps(8); 143 | animation: <%= className %>-spin 1s infinite steps(8); 144 | } 145 | 146 | @-webkit-keyframes <%= className %>-spin { 147 | 0% { 148 | -webkit-transform: rotate(0deg); 149 | transform: rotate(0deg); 150 | } 151 | 100% { 152 | -webkit-transform: rotate(359deg); 153 | transform: rotate(359deg); 154 | } 155 | } 156 | @keyframes <%= className %>-spin { 157 | 0% { 158 | -webkit-transform: rotate(0deg); 159 | transform: rotate(0deg); 160 | } 161 | 100% { 162 | -webkit-transform: rotate(359deg); 163 | transform: rotate(359deg); 164 | } 165 | } 166 | 167 | <% _.each(glyphs, function(glyph) { %>.<%= className %>-<%= glyph.name %>:before { content: "\<%= glyph.codepoint %>"; } 168 | <% }); %> -------------------------------------------------------------------------------- /templates/template.json: -------------------------------------------------------------------------------- 1 | { 2 | "font": "<%= fontName %>", 3 | "description": "<%= desc %>", 4 | "version": "<%= version %>", 5 | "prefix": "<%= className %>", 6 | "copyright": "<%= author %>", 7 | "license": "<%= license %>", 8 | "homepage": "<%= homepage %>", 9 | "glyphs": {<% _.each(glyphs, function(glyph, i){ %><% if(i) { %>,<% } %> 10 | "<%= className %>-<%= glyph.name %>": { "name": "<%= glyph.name %>", "code": <%= glyph.code %>, "theme": "<%= glyph.theme %>", "search": "<%= glyph.search %>", "order": <%= glyph.order %>, "version": <%= glyph.version %>, "date": "<%= glyph.date %>" }<% }); %> 11 | } 12 | } -------------------------------------------------------------------------------- /templates/template.svg: -------------------------------------------------------------------------------- 1 | 2 | 65 | --------------------------------------------------------------------------------