200 lines
9.0 KiB
HTML
200 lines
9.0 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
<title>/* @pjs font */ directive | reference | Processing.js</title>
|
|
<link rel="stylesheet" href="../../css/bootstrap.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../css/syntax.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../css/processing-js.css" type="text/css" />
|
|
<script src="../../js/processing.min.js" type="text/javascript"></script>
|
|
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
|
|
<script src="../../js/jquery.tweet.min.js" type="text/javascript"></script>
|
|
<script src="../../js/tabselector.js" type="text/javascript"></script>
|
|
<script src="http://cdn.webglstats.com/stat.js" defer="defer" async="async"></script>
|
|
<script type="text/javascript">
|
|
// Only do tracking on the actual site
|
|
if (document.location.host === "processingjs.org") {
|
|
var _gaq = _gaq || [];
|
|
_gaq.push(['_setAccount', 'UA-8565070-1']);
|
|
_gaq.push(['_trackPageview']);
|
|
(function() {
|
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|
}());
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="header">
|
|
<a href="http://processingjs.org/"><img src="../../images/header.png" width="177" height="42"></a>
|
|
</div>
|
|
<span class="tagline">a port of the Processing Visualization Language</span>
|
|
|
|
<div class="navbar">
|
|
<canvas width="940px" height="78px" data-processing-sources="/sketches/bannerSketch.pde"></canvas>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/"><span>home</span></a></li>
|
|
<li><a href="http://processingjs.org/download/"><span>download</span></a></li>
|
|
<li><a href="../index.html"><span>reference</span></a></li>
|
|
<li><a href="http://processingjs.org/exhibition/"><span>exhibition</span></a></li>
|
|
<li><a href="http://processingjs.org/learning/"><span>learning</span></a></li>
|
|
<li><a href="http://processingjs.org/articles/"><span>articles</span></a></li>
|
|
<li><a href="http://processingjs.org/community/"><span>community</span></a></li>
|
|
<li><a href="http://processingjs.org/blog/"><span>blog</span></a></li>
|
|
</ul>
|
|
<a class="viewsource" href="http://processingjs.org/sketches/bannerSketch.pde">view source</a>
|
|
</div>
|
|
|
|
<div class="page row">
|
|
<div class="span11">
|
|
<table cellpadding="0" cellspacing="0" border="0" class="ref-item">
|
|
|
|
<tr class="name-row">
|
|
<th scope="row">Name</th>
|
|
<td><h3>/* @pjs font */ directive</h3></td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Examples</th>
|
|
|
|
<td><div class="example"><pre>/* @pjs font="Arial.ttf"; */
|
|
|
|
void setup()
|
|
{
|
|
size(200,200);
|
|
noLoop();
|
|
textFont(createFont("Arial",32));
|
|
}
|
|
|
|
void draw()
|
|
{
|
|
background(255);
|
|
String t = "P.js";
|
|
float tw = textWidth(t);
|
|
fill(0);
|
|
text(t, (width-tw)/2, (height+32)/2);
|
|
}
|
|
</pre></div></td>
|
|
</tr>
|
|
<tr class="">
|
|
<th scope="row">Description</th>
|
|
<td><p>If you wish to use custom fonts in your sketch, these must be preloaded using the font @pjs directive. Preloading fonts uses its own command,
|
|
rather than the standard <a href="../preload.1">preload</a> command, because unlike images a font must not just be cached, but must also be loaded into memory for the browser
|
|
to make use of. Processing.js does this by relying on the browser to load the font via a CSS @font-face rule. While most browsers support a large number
|
|
of font formats for use with @font-face (woff, svg, eot, ttf and otf), relying on "truetype" (ttf) and "opentype" (otf) font formats offer the greatest
|
|
interoperability between Processing and Processing.js.</p>
|
|
<p>Fonts can be preloaded from URL, such as "Arial.ttf" or from data URI, such as "data:font/truetype,base64, {base 64 encoded data block}".
|
|
Fonts that are preloaded can be loaded without their extension in your sketch using the createFont function: if you preload "Arial.ttf" you can use
|
|
this font in your sketch by loading it as a Processing font using <b>PFont myfont = createFont("Arial",12); </b>and then using as text font by calling
|
|
<b>textFont(myfont);</b> If you place your fonts in a separate directory, such as the "data" directory used by Processing, you only need to
|
|
indicate the font location in the preload command. The preload command will be /* @pjs font="data/Arial.ttf"; */ but the call in your sketch
|
|
remains <b>createFont("Arial",12)</b>.</p>
|
|
<p><b>NOTE:</b> The "VLW" format used by Processing is not supported, as this is a custom bitmap image file with an index that indicates sections of the
|
|
image that map to a letter.</p>
|
|
<p><b>WARNING:</b> only use this directive for fonts that are used exclusively by your sketch; if your sketch relies on a font that you have also included for use
|
|
on your page with an @font-face CSS rule, this directive may overwrite your rule with a far simpler one.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Syntax</th>
|
|
<td>
|
|
<pre>
|
|
<kbd>/* @pjs font="fontURL"; */</kbd><br />
|
|
<kbd>/* @pjs font="data:font/truetype,base64, {base 64 encoded data block}"; */</kbd>
|
|
</td>
|
|
|
|
</tr>
|
|
<tr class="">
|
|
<th scope="row">Syntax for multiple fonts</th>
|
|
<td>
|
|
<pre>
|
|
<kbd>/* @pjs font="font1,font2,..."; */</kbd>
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Parameters</th>
|
|
<td><table cellpadding="0" cellspacing="0" border="0">
|
|
|
|
<tr class="">
|
|
<th scope="row">font</th>
|
|
<td>comma separated list of URLs or data-URIs (may be mixed), all inside a single set of double quotes</td>
|
|
</tr>
|
|
|
|
</table></td>
|
|
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Usage</th>
|
|
<td>Web & Application, Processing.js compatibility</td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Related</th>
|
|
<td>
|
|
<a href="http://processingjs.org/reference/pjs directive">@pjs directives</a>
|
|
<br /><a href="../createFont_.1">createFont()</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div class="cclicense">
|
|
<p>This reference is licensed under the CC BY-NC-SA 2.0 license:</p>
|
|
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/">
|
|
<img alt="Creative Commons License" border="0" src="../../images/somerights20.gif" />
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="sidebar span4">
|
|
<h3><a href="http://processingjs.org/download/">Downloads</a></h3>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/download/">Download the latest version of Processing.js!</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://processingjs.org/articles/">Articles</a></h3>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/articles/jsQuickStart.html">Quick Start - JavaScript Developer</a></li>
|
|
<li><a href="http://processingjs.org/articles/p5QuickStart.html">Quick Start - Processing Developer</a></li>
|
|
<li><a href="http://processingjs.org/articles/RenderingModes.html">Rendering Modes</a></li>
|
|
<li><a href="http://processingjs.org/articles/PomaxGuide.html">Pomax's Guide to processing-js</a></li>
|
|
</ul>
|
|
|
|
<h3><a>Web IDEs</a></h3>
|
|
<ul>
|
|
<li><a href="http://sketchpad.cc">Sketchpad.cc</a></li>
|
|
<li><a href="http://processingjs.org/tools/processing-helper.html">Processing.js Helper</a></li>
|
|
<li><a href="http://www.openprocessing.org">OpenProcessing.org</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://processingjs.org/community/">Community</a></h3>
|
|
<ul>
|
|
<li><a href="irc://irc.mozilla.org/processing.js">IRC Channel</a></li>
|
|
<li><a href="http://processing-js.lighthouseapp.com/">Bug Tracker</a></li>
|
|
<li><a href="http://github.com/processing-js/processing-js/">Github Repository</a></li>
|
|
<li><a href="http://groups.google.com/group/processingjs">Google Group</a></li>
|
|
<li><a href="http://zenit.senecac.on.ca/wiki/index.php/">Open Source @ Seneca</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://twitter.com/processingjs">Twitter Feed</a></h3>
|
|
<div class="twitter"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="footer">
|
|
Processing is an open visualization language developed by
|
|
<a href="http://benfry.com/">Ben Fry</a> & <a href="http://reas.com/">Casey Reas</a>,
|
|
and originally ported to Javascript by
|
|
<a href="http://ejohn.org/blog/processingjs/">John Resig</a>.
|
|
Processing.js is maintained by the Processing.js team.
|
|
</div>
|
|
</div>
|
|
<a href="http://github.com/processing-js/processing-js/">
|
|
<img style="position: absolute; top: 0; right: 0; border: 0;" src="../../images/forkme-right-orange.png" alt="Fork me on GitHub">
|
|
</a>
|
|
</body>
|
|
</html>
|