| 
								
							 | 
							
								<!doctype html>
							 | 
						
						
						
							| 
								
							 | 
							
								<html>
							 | 
						
						
						
							| 
								
							 | 
							
								<head>
							 | 
						
						
						
							| 
								
							 | 
							
								  <title>Network | Multifont Labels</title>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								  <script type="text/javascript" src="../../../dist/vis.js"></script>
							 | 
						
						
						
							| 
								
							 | 
							
								  <link href="../../../dist/vis-network.min.css" rel="stylesheet" type="text/css" />
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								  <style type="text/css">
							 | 
						
						
						
							| 
								
							 | 
							
								    #mynetwork {
							 | 
						
						
						
							| 
								
							 | 
							
								      width: 600px;
							 | 
						
						
						
							| 
								
							 | 
							
								      height: 400px;
							 | 
						
						
						
							| 
								
							 | 
							
								      border: 1px solid lightgray;
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								    code {
							 | 
						
						
						
							| 
								
							 | 
							
								      font-size: 15px;
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								    p {
							 | 
						
						
						
							| 
								
							 | 
							
								      max-width: 600px;
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								    .indented {
							 | 
						
						
						
							| 
								
							 | 
							
								      margin-left: 30px;
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								    table {
							 | 
						
						
						
							| 
								
							 | 
							
								      border-collapse: collapse;
							 | 
						
						
						
							| 
								
							 | 
							
								      font-family: sans-serif;
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								    table code {
							 | 
						
						
						
							| 
								
							 | 
							
								      background: #dddddd;
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								    th, td {
							 | 
						
						
						
							| 
								
							 | 
							
								      border: 1px solid #aaaaaa;
							 | 
						
						
						
							| 
								
							 | 
							
								      text-align: center;
							 | 
						
						
						
							| 
								
							 | 
							
								      padding: 5px;
							 | 
						
						
						
							| 
								
							 | 
							
								      font-weight: normal;
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								  </style>
							 | 
						
						
						
							| 
								
							 | 
							
								  
							 | 
						
						
						
							| 
								
							 | 
							
								</head>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<body>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<p>Node and edge labels may be marked up to be drawn with multiple fonts.</p>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<div id="mynetwork"></div>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<p>The value of the <code>font.multi</code> property may be set to <code>'html'</code>, <code>'markdown'</code> or a boolean.</p>
							 | 
						
						
						
							| 
								
							 | 
							
								<table class="indented">
							 | 
						
						
						
							| 
								
							 | 
							
								  <tr><th colspan='4'>Embedded Font Markup</th></tr>
							 | 
						
						
						
							| 
								
							 | 
							
								  <tr><th rowspan=2>font mod</th><th colspan=3><code>font.multi</code> setting</th></tr>
							 | 
						
						
						
							| 
								
							 | 
							
								  <tr><th><code>'html'</code> or <code>true</code></th><th><code>'markdown'</code> or <code>'md'</code></th><th><code>false<code></th></tr>
							 | 
						
						
						
							| 
								
							 | 
							
								  <tr><th>bold</th><td><code><b></code> ... <code></b></code></td><td><code> *</code> ... <code>* </code></td><td>n/a</td></tr>
							 | 
						
						
						
							| 
								
							 | 
							
								  <tr><th>italic</th><td><code><i></code> ... <code></i></code></td><td><code> _</code> ... <code>_ </code></td><td>n/a</td></tr>
							 | 
						
						
						
							| 
								
							 | 
							
								  <tr><th>mono-spaced</th><td><code><code></code> ... <code></code></code></td><td><code> `</code> ... <code>` </code></td><td>n/a</td></tr>
							 | 
						
						
						
							| 
								
							 | 
							
								</table>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<p>
							 | 
						
						
						
							| 
								
							 | 
							
								The <code>html</code> and <code>markdown</code> rendering is limited: bolds may be embedded in italics, italics may be embedded in bolds, and mono-spaced may be embedded in bold or italic, but will not be altered by those font mods, nor will embedded bolds or italics be handled.
							 | 
						
						
						
							| 
								
							 | 
							
								The only entities that will be observed in html are <code>&lt;</code> and <code>&amp;</code> and in <code>markdown</code> a backslash will escape the following character (including a backslash) from special processing.
							 | 
						
						
						
							| 
								
							 | 
							
								Any font mod that is started in a label line will be implicitly terminated at the end of that line.
							 | 
						
						
						
							| 
								
							 | 
							
								While this interpretation may not exactly match <i>official</i> rendering standards, it is a consistent compromise for drawing multifont strings in the non-multifont html canvas element underlying vis.
							 | 
						
						
						
							| 
								
							 | 
							
								</p>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<p>This implies that four additional sets of font properties will be recognized in label processing.</p>
							 | 
						
						
						
							| 
								
							 | 
							
								<p class="indented"><code>font.bold</code> designates the font used for rendering bold font mods.
							 | 
						
						
						
							| 
								
							 | 
							
								<br/><code>font.ital</code> designates the font used for rendering italic font mods.
							 | 
						
						
						
							| 
								
							 | 
							
								<br/><code>font.boldital</code> designates the font used for rendering bold-<b><i>and</i></b>-italic font mods.
							 | 
						
						
						
							| 
								
							 | 
							
								<br/><code>font.mono</code> designates the font used for rendering monospaced font mods.</p>
							 | 
						
						
						
							| 
								
							 | 
							
								<p>Any font mod without a matching font will be rendered using the normal <code>font</code> (or default) value.</p>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<p>The <code>font.multi</code> and extended font settings may be set in the network's <code>nodes</code> or <code>edges</code> properties, or on individual nodes and edges.
							 | 
						
						
						
							| 
								
							 | 
							
								Node and edge label fonts are separate.</p>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								<script type="text/javascript">
							 | 
						
						
						
							| 
								
							 | 
							
								  var nodes = [
							 | 
						
						
						
							| 
								
							 | 
							
								    { id: 1, label: 'This is a\nsingle-font label', x: -120, y: -120 },
							 | 
						
						
						
							| 
								
							 | 
							
								    { id: 2, font: { multi: true }, label: '<b>This</b> is a\n<i>default</i> <b><i>multi-</i>font</b> <code>label</code>', x: -40, y: -40 },
							 | 
						
						
						
							| 
								
							 | 
							
								    { id: 3, font: { multi: 'html', size: 20 }, label: '<b>This</b> is an\n<i>html</i> <b><i>multi-</i>font</b> <code>label</code>', x: 40, y: 40 },
							 | 
						
						
						
							| 
								
							 | 
							
								    { id: 4, font: { multi: 'md', face: 'georgia' }, label: '*This* is a\n_markdown_ *_multi-_ font* `label`', x: 120, y: 120},
							 | 
						
						
						
							| 
								
							 | 
							
								  ];
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								  var edges = [
							 | 
						
						
						
							| 
								
							 | 
							
								    {from: 1, to: 2, label: "single to default"},
							 | 
						
						
						
							| 
								
							 | 
							
								    {from: 2, to: 3, font: { multi: true }, label: "default to <b>html</b>" },
							 | 
						
						
						
							| 
								
							 | 
							
								    {from: 3, to: 4, font: { multi: "md" }, label: "*html* to _md_" }
							 | 
						
						
						
							| 
								
							 | 
							
								  ];
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								  var container = document.getElementById('mynetwork');
							 | 
						
						
						
							| 
								
							 | 
							
								  var data = {
							 | 
						
						
						
							| 
								
							 | 
							
								    nodes: nodes,
							 | 
						
						
						
							| 
								
							 | 
							
								    edges: edges
							 | 
						
						
						
							| 
								
							 | 
							
								  };
							 | 
						
						
						
							| 
								
							 | 
							
								  var options = {
							 | 
						
						
						
							| 
								
							 | 
							
								    edges: {
							 | 
						
						
						
							| 
								
							 | 
							
								      font: {
							 | 
						
						
						
							| 
								
							 | 
							
								        size: 12
							 | 
						
						
						
							| 
								
							 | 
							
								      }
							 | 
						
						
						
							| 
								
							 | 
							
								    },
							 | 
						
						
						
							| 
								
							 | 
							
								    nodes: {
							 | 
						
						
						
							| 
								
							 | 
							
								      shape: 'box',
							 | 
						
						
						
							| 
								
							 | 
							
								      font: {
							 | 
						
						
						
							| 
								
							 | 
							
								        bold: {
							 | 
						
						
						
							| 
								
							 | 
							
								          color: '#0077aa'
							 | 
						
						
						
							| 
								
							 | 
							
								        }
							 | 
						
						
						
							| 
								
							 | 
							
								      }
							 | 
						
						
						
							| 
								
							 | 
							
								    },
							 | 
						
						
						
							| 
								
							 | 
							
								    physics: {
							 | 
						
						
						
							| 
								
							 | 
							
								      enabled: false
							 | 
						
						
						
							| 
								
							 | 
							
								    }
							 | 
						
						
						
							| 
								
							 | 
							
								  };
							 | 
						
						
						
							| 
								
							 | 
							
								  var network = new vis.Network(container, data, options);
							 | 
						
						
						
							| 
								
							 | 
							
								</script>
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								</body>
							 | 
						
						
						
							| 
								
							 | 
							
								</html>
							 |