{"_id":"l7-tiny-sdf","_rev":"4-f06c7914f31cf5641e56e7cc218e6082","name":"l7-tiny-sdf","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"l7-tiny-sdf","version":"0.0.1","description":"Browser-side SDF font generator","main":"index.js","scripts":{"test":"eslint index.js"},"keywords":["sdf","signed distance fields","font","canvas","text","distance transform"],"author":"","license":"BSD-2-Clause","devDependencies":{"eslint":"^7.0.0","eslint-config-mourner":"^2.0.1"},"eslintConfig":{"extends":"mourner"},"_id":"l7-tiny-sdf@0.0.1","_nodeVersion":"14.16.1","_npmVersion":"7.20.1","dist":{"integrity":"sha512-sPTrTMNRT164KyeY+Kj6IhccjGHi1VRN81BsvQxMj/jWwH1tSbjO7RyAKRcEp4cWPpVOXZ1kdyAl2aIOCD9Jfw==","shasum":"47bf1cd65501900f60b30f9d4255be78b76c5b52","tarball":"https://registry.npmjs.org/l7-tiny-sdf/-/l7-tiny-sdf-0.0.1.tgz","fileCount":6,"unpackedSize":27059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFM8lCRA9TVsSAnZWagAA0CYP/iPsKfH6/Dg+tfC5Cj07\nyQ9i4uR5wsYD3p3ZXlLikCTk9GNnlnuKg5ZiXV24rd633aWRxZiFDpR39Hxq\ngU4ZqQhd4QlhWh8JXnedGV0iQjCYS+YIvePS7CsbuGqmXMmXAsUOylnyDnDm\nNOoDUZXtVaZ09dAY5D0GFlxjkO3QwKhlgWriJ+b1Gm4uJF9izqeH0TWAtudt\nA0bPcco/+2WIdoMjRLoTNpJHzPNXtx33GSGahjZ8zYVSQQBAjpj8NAKEHysp\nIeRjp1ZvK/mDR0KRTgUp2RzoJYVlnqXS+AyMXF9wh3rl7ZG2KSojOgjU3Z5w\nSGeob6QaKabmRHSTraVcwSYIzx1TRGgdwjORYREWDohDoBaqXaESbXqFrSC8\nhs0V646/cmFXYXmFzj2nHmxkgZNZ2Go9S96Iqjul1nfYOeIZv7s5y4id1jvJ\nGjAC2GlBdZ6birsPyXhEM8/2CwLZzzB8eDKA6tpuEAxRp0+Zz6LmCWO5kwXA\n3jK/amyU2aInCe0REtRwWiXq1lPJbrTXQBzFK8kIgd32Y508jqUdNWrK1UXl\ndVOpvsoVewMANVNrabh/xbDUD/3Bh/G9sQcBpWkzL91JZa5nHK3FxxkPbYPh\nlmmx1Piqb5uZ00MbYxQJh0oxmUcnoRlzbHmaMvtUR/Dcy5elOaDrBLsq+L5B\nljWg\r\n=zEhN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKETzFfVtiU2fhrGX1jYoQ7Tp4QrwEAHyD7K3kQMPS+AiB4pcs3zWLEpeUVQK7EQWzhr9hqNhvCW3PKejtcAJV/zw=="}]},"_npmUser":{"name":"yiqianyao","email":"2912401452@qq.com"},"directories":{},"maintainers":[{"name":"yiqianyao","email":"2912401452@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/l7-tiny-sdf_0.0.1_1628753700945_0.2077325769683802"},"_hasShrinkwrap":false},"0.0.2":{"name":"l7-tiny-sdf","version":"0.0.2","description":"Browser-side SDF font generator","main":"index.js","scripts":{"test":"eslint index.js"},"keywords":["sdf","signed distance fields","font","canvas","text","distance transform"],"author":"","license":"BSD-2-Clause","devDependencies":{"eslint":"^7.0.0","eslint-config-mourner":"^2.0.1"},"eslintConfig":{"extends":"mourner"},"_id":"l7-tiny-sdf@0.0.2","_nodeVersion":"14.16.1","_npmVersion":"7.20.1","dist":{"integrity":"sha512-Fde4Pq9jycqi3d11I1MfbTISimfCzmEyhq5FhrnbNu9y1BFyCJFxSHbzehmRaYgQPbL4kpI3ldkHGrrFHs10cA==","shasum":"41a97a179279cbda094e5874c61ad88d10563479","tarball":"https://registry.npmjs.org/l7-tiny-sdf/-/l7-tiny-sdf-0.0.2.tgz","fileCount":6,"unpackedSize":27152,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGgzJCRA9TVsSAnZWagAA2sMQAJvQjkPWovLLX97ETdFy\nvM6damOYiQzCXVyVyqsJyppHBDZyswYHXgI5z9r2n5Sk+U3FDVHDXeBUGAGd\nasa8N1aIT/NYURfd0vE4Qjgyxr6JXxThuAf2zfoV5E3slgtJ31gfchQKC1eX\nD/fk6rSrWPDdywflD16IPe/zIKMugvYcY0NnwTpr37ER7dJC+tqxSIneT4fB\n+z1ROt7D/XTap0nHxjJkxh7op7GOHgkS8qPHJVlValqNYp1SIBgVp7I7EOjX\nrJ92aG/qoSUaNDFco4dwo+6qTM8ZYh2YeupTBeGtX7DbclnzppEzRJvuLcmw\nj7kxcVpsecwCN5ykgoPRCJzVcTN/hUNHasN1wx8k64AcKnRiAFDUk3fQbUeD\nSYdoX4E/xXx28L115x7zItmHlOM9z0NIaJW3eBsFOCn7t0D92w87N9HnA5mj\nyJ3aRmAhMZ6WDFFL/Y9m/VnLtBclsyTsWYCS1rGxBvdYJdY6NTzDImSXP/+F\nsMvcA/2Z6bTkL0qAo5p7rrZg88OpYydWl9WJA9Mn3QGs/srLmk59IdNzVIFt\nX8PuDalQuB4T1RsgmTIhhuWoX74igz+qgRXlETDNVW8I7qAoG0u/huioMdAD\nzLWXjBvGyllEUiX6wo0x6GB/uxxAi33hoBTF50H3zCBxazIlefScofsMQZUd\noCgg\r\n=esW5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEt4lhe4pGtkxcJmImOD4JQI80NgT4uv5g9zgNeSe0UgIhAKgEjDgNlQSaG4zpZqDePN9pJjmY+O/rYjJIy2ecdRoc"}]},"_npmUser":{"name":"yiqianyao","email":"2912401452@qq.com"},"directories":{},"maintainers":[{"name":"yiqianyao","email":"2912401452@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/l7-tiny-sdf_0.0.2_1629097161569_0.19540851290625239"},"_hasShrinkwrap":false},"0.0.3":{"name":"l7-tiny-sdf","version":"0.0.3","description":"Browser-side SDF font generator","main":"index.js","scripts":{"test":"eslint index.js"},"keywords":["sdf","signed distance fields","font","canvas","text","distance transform"],"author":"","license":"BSD-2-Clause","devDependencies":{"eslint":"^7.0.0","eslint-config-mourner":"^2.0.1"},"eslintConfig":{"extends":"mourner"},"_id":"l7-tiny-sdf@0.0.3","_nodeVersion":"14.16.1","_npmVersion":"8.3.0","dist":{"integrity":"sha512-11y9TXdBAlsbIXtkIUOJHU40aZ4VQGZxbDr8pCqgmhgLlY0WKRdA8fnC1A34SWB/VhNdxW2T80hOvepAL/G8/w==","shasum":"f9cf86c46c1bac2f97a7e2708899184fea4107db","tarball":"https://registry.npmjs.org/l7-tiny-sdf/-/l7-tiny-sdf-0.0.3.tgz","fileCount":6,"unpackedSize":27172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDJd8CRA9TVsSAnZWagAALxIQAIRoh2CT88/k8YoqxoBs\nqKwGhB/d4BQ5oyw6reG1M0SiU5QeRvQoWw2crGQ9rzAAspRjxeqOm7q4viuG\nOR99x7aIurbA2ebQTxVoB1VQhoQWoZnYIdMyeU0WWvHmN0G6GJd8/NY3ey0Z\nePz2tPdlX41BpmDxuxRC0fUAh8uKk+UcQP+GjkxPuVFD4NF61YbI6l/Z5Kbd\nlUHt9D8Fq7mFTzY46uYycA6LbJATl/VwLO0I5ekRWplrwkVrPq6koUqkvWEw\nmDAUSLmceY9ZqkHbNYwfnmP9XeAOeesBAy/fAXY6arN4CYgxxQz0tIxGbBOm\nueLa08jwkWuY9rMxyBK9XeMg1Il05qcLfXRLiYGnVoHZ5KBgQSfmHaRnDbDE\nSBmHfur6CVTp7i1RBZJkFar0q/LIiGEAdfAQkhPNFJFfauWNbx4e3Wz44ys+\nZMJh71hgBR4wluShoph7QFS/LOkD3mTx5llW8fw3cRJdNnLxkS63i6Pjmt+9\nMOqMdVk/9tP0/VocUqJeAWIT1cnor+ZChsetqF30Gm1UuPmL8Ir3dKoyDFvh\nzaI+HYI0O4z6shE2xHFZ5zOfRf7z49RwOJmn3110qGln8vAAa0/jFcHBPvYv\n+6NR8Fa0olDhq3UDgPlDL0TdM7KXDEic7O88cSHARc4lWshW+e4q4S3Eg5Hq\nS7AJ\r\n=B2+I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPGd4q83SZ8khX8eGpr0Ip3wgT7KPG62etxnWzyV719AiEAmUyxW68mJ0OwgSv75gobE7e3oBXiCgj5kp0yFsLNlKg="}]},"_npmUser":{"name":"yiqianyao","email":"2912401452@qq.com"},"directories":{},"maintainers":[{"name":"yiqianyao","email":"2912401452@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/l7-tiny-sdf_0.0.3_1644992380046_0.9451911499321233"},"_hasShrinkwrap":false},"0.0.4":{"name":"l7-tiny-sdf","version":"0.0.4","description":"Browser-side SDF font generator","main":"index.js","scripts":{"test":"eslint index.js"},"keywords":["sdf","signed distance fields","font","canvas","text","distance transform"],"author":"","license":"BSD-2-Clause","devDependencies":{"eslint":"^7.0.0","eslint-config-mourner":"^2.0.1"},"eslintConfig":{"extends":"mourner"},"_id":"l7-tiny-sdf@0.0.4","_nodeVersion":"16.14.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-hMuA5jolQCyhK+QufHMy+qxZQlc9uD/S7jVWFDyVy5TKb3HxMOGc1RcqMwcvlgDXzmVqNWkxAN8LracSEwqYIw==","shasum":"764cc672c2aa7dd9a3bfe8f33b61538a99f928d4","tarball":"https://registry.npmjs.org/l7-tiny-sdf/-/l7-tiny-sdf-0.0.4.tgz","fileCount":6,"unpackedSize":27202,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaCg+NZ7ZTeyWKqzhGCYavKcABMMyqKWs802GcGYhV8AiEA6ZOwFQxZl+MRix8eLGajg0qpUvK9BSokoHJiurOAjD8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUXTsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8Aw/5Ad625VzRIJ3cSiQD8o6w7cGN6cQLGFGJ3JjNlhVgAkIwOQO5\r\nM/zKHNFiHucZF4yW2SbZxh8ad1KDZhVLCQbsbwunv4lp+6DmbKBmmA/JG8tC\r\nbBdZczzRYfzTrDbRZEF9xjjceGInOP0KxsLuy4JxXJYZOAbEFIc/fCAvI7ys\r\niQBw7AWCP+MAVjvtMPM+ZSYot035VNxFV+L4WZGlWDSikzPvGq1rMcQhLjv1\r\nsnMTftlgrv+GX+dDz1rsaUkmeyD6Tl6YOHvbZFaQaE1RhRtfCygWVshwCW7P\r\nG/HRJl/uBXS1jnQJ4sixdC2JCMf6DRwGHu7sXWccwvrXH3TexGu3ngqsGfvV\r\npooNQX0TldxyClIMuloRg6w5hD1hPpsriRyb9bZ7zCncdO4bEhTeXlISRmWF\r\nZgEgtKRcaPLCEC6BeQg7sIleNEQE3oAw+qUAo1fSz8w0VxE75mfHwa5lXd9R\r\nmdcFjDGA+yLax8ckLrXbeZIdWs5eLP9FOC9BfLL3fllytFwBQaf5A1hI9Zlh\r\nVOZBRSnFJeLJ29VPn72DRaUCLbFUltx/WYMPfGibpSYU+w4yq/rfHojTREER\r\n/IBG6UXPTrNm/Ko3cF6hBmCF9cjBJ9UG0cwt1EmdzyUlkCVCLdi4PpLj7hy5\r\n8MqstAApDtpGQnunfduvWc9KKmU+NSgYIbw=\r\n=d413\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"yiqianyao","email":"2912401452@qq.com"},"directories":{},"maintainers":[{"name":"yiqianyao","email":"2912401452@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/l7-tiny-sdf_0.0.4_1666282732439_0.25747704565231566"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-12T07:35:00.945Z","0.0.1":"2021-08-12T07:35:01.120Z","modified":"2022-10-20T16:18:52.740Z","0.0.2":"2021-08-16T06:59:21.685Z","0.0.3":"2022-02-16T06:19:40.180Z","0.0.4":"2022-10-20T16:18:52.647Z"},"maintainers":[{"name":"yiqianyao","email":"2912401452@qq.com"}],"description":"Browser-side SDF font generator","keywords":["sdf","signed distance fields","font","canvas","text","distance transform"],"license":"BSD-2-Clause","readme":"# TinySDF\n\nTinySDF is a tiny and fast JavaScript library for generating SDF (signed distance field)\nfrom system fonts on the browser using Canvas 2D and\n[Felzenszwalb/Huttenlocher distance transform](https://cs.brown.edu/~pff/papers/dt-final.pdf).\nThis is very useful for [rendering text with WebGL](https://www.mapbox.com/blog/text-signed-distance-fields/).\n\nThis implementation is based directly on the algorithm published in the Felzenszwalb/Huttenlocher paper, and is not a port of the existing C++ implementation provided by the paper's authors.\n\nDemo: http://mapbox.github.io/tiny-sdf/\n\n## Usage\nCreate a TinySDF for drawing SDFs based on font parameters:\n\n```js\nvar fontsize = 24; // Font size in pixels\nvar buffer = 3;    // Whitespace buffer around a glyph in pixels\nvar radius = 8;    // How many pixels around the glyph shape to use for encoding distance\nvar cutoff = 0.25  // How much of the radius (relative) is used for the inside part the glyph\n\nvar fontFamily = 'sans-serif'; // css font-family\nvar fontWeight = 'normal';     // css font-weight\nvar tinySDFGenerator = new TinySDF(fontsize, buffer, radius, cutoff, fontFamily, fontWeight);\n\nvar oneSDF = tinySDFGenerator.draw('泽');\n// returns a Uint8ClampedArray array of alpha values (0–255) for a size x size square grid\n\n// To generate glyphs with variable advances (e.g. non-ideographic glyphs),\n// use `drawWithMetrics`\nvar sdfWithMetrics = tinySDFGenerator.drawWithMetrics('A');\n// sdfWithMetrics.data is the same as in `draw`, except the size may be clipped to fit the glyph\n// sdfWithMetrics.metrics contains:\n//  top:        Maximum ascent of glyph from alphabetic baseline\n//  left:       Currently hardwired to 0 (actual glyph differences are encoded in the rasterization)\n//  width:      Width of rasterized portion of glyph\n//  height\n//  advance:    Layout advance\n//  sdfWidth:   Width of the returned bitmap, usually but not always width + 2 * buffer\n//  sdfHeight\n```\n","readmeFilename":"README.md"}