{
  "id": "font",
  "name": "Font",
  "displayName": "Font",
  "category": "SOP",
  "subcategory": "Generators",
  "version": "",
  "lastUpdated": "2025-08-08T00:37:43.935Z",
  "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Font_SOP.htm",
  "url": "",
  "description": "Note: Font SOP deprecated build 2019.14650, use Text TOP.",
  "summary": "Note: Font SOP deprecated build 2019.14650, use Text TOP.",
  "details": "",
  "usage": "",
  "tips": [],
  "warnings": [],
  "parameters": [
    {
      "id": null,
      "name": "Primitive Type",
      "label": "Primitive Type",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nNote: Font  deprecated build 2019.14650, use Text TOP. \nThe Font  allows you to create text in your model from Adobe Type 1 Postscript Fonts.\t\nTo install fonts, copy the font files to the $TFS/touch/fonts directory of your installation path. They will be ready to be used in the Font  after restarting TouchDesigner.\t\t\nThe fonts located in $TFS/touch/fonts_gl are not for the Font , they are for the TouchDesigner UI only.\nfontSOP_Class\n\nContents\n \n \n\n\n\n\n  type -  - Select from the following types. For information on the different types, see the Geometry Types section. Bzier Curves and Polygons provide the most efficient use of memory, because they use polygons for letters containing straight segments, and Bzier curves for all others.\t\nNote: Due to an Open GL bug, holes in Bzier fonts may shade incorrectly.\n\n\n bezierpoly - bezier - poly -\n\t\t\n  file - Choose the font to create the text. By clicking on the + button a File  will appear, and clicking menu drop down brings up a menu of the most used fonts.\n\n\n\t\t\n  text - Enter the text you want to generate here.\t\nYour text can contain the following special characters:\t\t\n\n \\  - Take the next character literally (so you can use the / and ` characters in your text);\n `string`  - Evaluate the string contained by the backquotes (above the T key) as an expression;\n \\n  - Start a new line;\n \\xxx  - Specify a character by it's ascii code (e.g. \\007).For Example: If you put something like \\\\$F3 in the text string, you should see all the possible characters of a font as you play the animation (set the last frame to 256).\t\t\nEntering Expressions as Text - You can also use expressions for the text.\t\t\nFor Example:  - will display the current frame.\t\n - will display the current value of channel chan1 in  null1.\t\t\n - causes the eleven letters of the text to appear in succession during the first eleven frames.\t\nOther Methods of Entering Text - You can use the \\xxx decimal notation to specify characters. The available characters will depend on the font type used.\t\t\nFor Example: \\065 - will display 'a'.\t\t\nYou can also use the Par Class to set text in the Font . This can be done from the textport, a Logic CHOP or Expression CHOP, or any script. (See Scripting articles)\t\t\nFor Example:    - will display the words: hello world\n\n\n\t\t\n  hcenter - This check box allows you to center the text horizontally about X = 0.\n\n\n\t\t\n  vcenter - This check box allows you to center the text vertically about Y = 0.\n\n\n\t\t\n  t -  - Translates the geometry in x, y and z.\n\n tx - ty - tz -\n\t\t\n  s -  - Scales the text in the X and Y axis.\n\n sx - sy -\n\t\t\n  kern -  - Letter spacing in the X direction. Line spacing in the Y direction if there are multiple lines. If you need manual character-by-character, you can do it in Model mode.\n\n kernx - kerny -\n\t\t\n  italic - Doesn't actually give an italic version of the font, but rather obliques the text by shearing it the specified number of degrees. A negative number makes the text slant to the left.\n\n\n\t\t\n  lod - Adobe fonts are defined by Bzier curves. If polygons only is selected, the Font  converts these to polygons. This value adjusts the number of points in the polygons that it gets converted to.\n\n\n\t\t\n  hole - Generates holes in polygons and Bzier faces.\n\n\n\t\t\n  texture -  - This adds uv coordinates to the geometry created by the Font .\n\n off - No uv coordinates added. ortho - Orthographic uv coordinates added.\n\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nA surface type in SOPs that includes polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other basic shapes like sphere, tube and metaball. Points and Primitives are part of the Geometry Detail, which is a part of a SOP.\n\n\n\nAny floating window that is not a Pane or Viewer.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Font_SOP&oldid=27272\"\n\t\tCategory: SOPs",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.928Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Primitive Type",
      "label": "Primitive Type",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nNote: Font  deprecated build 2019.14650, use Text TOP. \nThe Font  allows you to create text in your model from Adobe Type 1 Postscript Fonts.\t\nTo install fonts, copy the font files to the $TFS/touch/fonts directory of your installation path. They will be ready to be used in the Font  after restarting TouchDesigner.\t\t\nThe fonts located in $TFS/touch/fonts_gl are not for the Font , they are for the TouchDesigner UI only.\nfontSOP_Class\n\nContents\n \n \n\n\n\n\n  type -  - Select from the following types. For information on the different types, see the Geometry Types section. Bzier Curves and Polygons provide the most efficient use of memory, because they use polygons for letters containing straight segments, and Bzier curves for all others.\t\nNote: Due to an Open GL bug, holes in Bzier fonts may shade incorrectly.\n\n\n bezierpoly - bezier - poly -\n\t\t\n  file - Choose the font to create the text. By clicking on the + button a File  will appear, and clicking menu drop down brings up a menu of the most used fonts.\n\n\n\t\t\n  text - Enter the text you want to generate here.\t\nYour text can contain the following special characters:\t\t\n\n \\  - Take the next character literally (so you can use the / and ` characters in your text);\n `string`  - Evaluate the string contained by the backquotes (above the T key) as an expression;\n \\n  - Start a new line;\n \\xxx  - Specify a character by it's ascii code (e.g. \\007).For Example: If you put something like \\\\$F3 in the text string, you should see all the possible characters of a font as you play the animation (set the last frame to 256).\t\t\nEntering Expressions as Text - You can also use expressions for the text.\t\t\nFor Example:  - will display the current frame.\t\n - will display the current value of channel chan1 in  null1.\t\t\n - causes the eleven letters of the text to appear in succession during the first eleven frames.\t\nOther Methods of Entering Text - You can use the \\xxx decimal notation to specify characters. The available characters will depend on the font type used.\t\t\nFor Example: \\065 - will display 'a'.\t\t\nYou can also use the Par Class to set text in the Font . This can be done from the textport, a Logic CHOP or Expression CHOP, or any script. (See Scripting articles)\t\t\nFor Example:    - will display the words: hello world\n\n\n\t\t\n  hcenter - This check box allows you to center the text horizontally about X = 0.\n\n\n\t\t\n  vcenter - This check box allows you to center the text vertically about Y = 0.\n\n\n\t\t\n  t -  - Translates the geometry in x, y and z.\n\n tx - ty - tz -\n\t\t\n  s -  - Scales the text in the X and Y axis.\n\n sx - sy -\n\t\t\n  kern -  - Letter spacing in the X direction. Line spacing in the Y direction if there are multiple lines. If you need manual character-by-character, you can do it in Model mode.\n\n kernx - kerny -\n\t\t\n  italic - Doesn't actually give an italic version of the font, but rather obliques the text by shearing it the specified number of degrees. A negative number makes the text slant to the left.\n\n\n\t\t\n  lod - Adobe fonts are defined by Bzier curves. If polygons only is selected, the Font  converts these to polygons. This value adjusts the number of points in the polygons that it gets converted to.\n\n\n\t\t\n  hole - Generates holes in polygons and Bzier faces.\n\n\n\t\t\n  texture -  - This adds uv coordinates to the geometry created by the Font .\n\n off - No uv coordinates added. ortho - Orthographic uv coordinates added.\n\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nA surface type in SOPs that includes polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other basic shapes like sphere, tube and metaball. Points and Primitives are part of the Geometry Detail, which is a part of a SOP.\n\n\n\nAny floating window that is not a Pane or Viewer.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Font_SOP&oldid=27272\"\n\t\tCategory: SOPs",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.931Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Primitive Type",
      "label": "Primitive Type",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "Note: Font  deprecated build 2019.14650, use Text TOP. \nThe Font  allows you to create text in your model from Adobe Type 1 Postscript Fonts.\t\nTo install fonts, copy the font files to the $TFS/touch/fonts directory of your installation path. They will be ready to be used in the Font  after restarting TouchDesigner.\t\t\nThe fonts located in $TFS/touch/fonts_gl are not for the Font , they are for the TouchDesigner UI only.\nfontSOP_Class\n\nContents\n \n \n\n\n\n\n  type -  - Select from the following types. For information on the different types, see the Geometry Types section. Bzier Curves and Polygons provide the most efficient use of memory, because they use polygons for letters containing straight segments, and Bzier curves for all others.\t\nNote: Due to an Open GL bug, holes in Bzier fonts may shade incorrectly.\n\n\n bezierpoly - bezier - poly -\n\t\t\n  file - Choose the font to create the text. By clicking on the + button a File  will appear, and clicking menu drop down brings up a menu of the most used fonts.\n\n\n\t\t\n  text - Enter the text you want to generate here.\t\nYour text can contain the following special characters:\t\t\n\n \\  - Take the next character literally (so you can use the / and ` characters in your text);\n `string`  - Evaluate the string contained by the backquotes (above the T key) as an expression;\n \\n  - Start a new line;\n \\xxx  - Specify a character by it's ascii code (e.g. \\007).For Example: If you put something like \\\\$F3 in the text string, you should see all the possible characters of a font as you play the animation (set the last frame to 256).\t\t\nEntering Expressions as Text - You can also use expressions for the text.\t\t\nFor Example:  - will display the current frame.\t\n - will display the current value of channel chan1 in  null1.\t\t\n - causes the eleven letters of the text to appear in succession during the first eleven frames.\t\nOther Methods of Entering Text - You can use the \\xxx decimal notation to specify characters. The available characters will depend on the font type used.\t\t\nFor Example: \\065 - will display 'a'.\t\t\nYou can also use the Par Class to set text in the Font . This can be done from the textport, a Logic CHOP or Expression CHOP, or any script. (See Scripting articles)\t\t\nFor Example:    - will display the words: hello world\n\n\n\t\t\n  hcenter - This check box allows you to center the text horizontally about X = 0.\n\n\n\t\t\n  vcenter - This check box allows you to center the text vertically about Y = 0.\n\n\n\t\t\n  t -  - Translates the geometry in x, y and z.\n\n tx - ty - tz -\n\t\t\n  s -  - Scales the text in the X and Y axis.\n\n sx - sy -\n\t\t\n  kern -  - Letter spacing in the X direction. Line spacing in the Y direction if there are multiple lines. If you need manual character-by-character, you can do it in Model mode.\n\n kernx - kerny -\n\t\t\n  italic - Doesn't actually give an italic version of the font, but rather obliques the text by shearing it the specified number of degrees. A negative number makes the text slant to the left.\n\n\n\t\t\n  lod - Adobe fonts are defined by Bzier curves. If polygons only is selected, the Font  converts these to polygons. This value adjusts the number of points in the polygons that it gets converted to.\n\n\n\t\t\n  hole - Generates holes in polygons and Bzier faces.\n\n\n\t\t\n  texture -  - This adds uv coordinates to the geometry created by the Font .\n\n off - No uv coordinates added. ortho - Orthographic uv coordinates added.\n\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nA surface type in SOPs that includes polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other basic shapes like sphere, tube and metaball. Points and Primitives are part of the Geometry Detail, which is a part of a SOP.\n\n\n\nAny floating window that is not a Pane or Viewer.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Font_SOP&oldid=27272\"",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.933Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Primitive Type",
      "label": "Primitive Type",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "type -  - Select from the following types. For information on the different types, see the Geometry Types section. Bzier Curves and Polygons provide the most efficient use of memory, because they use polygons for letters containing straight segments, and Bzier curves for all others.\t\nNote: Due to an Open GL bug, holes in Bzier fonts may shade incorrectly.\n\n\n bezierpoly - bezier - poly -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.933Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Bezier Curves and Polygons",
      "label": "Bezier Curves and Polygons",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "bezierpoly - bezier - poly -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.933Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Font",
      "label": "Font",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "file - Choose the font to create the text. By clicking on the + button a File  will appear, and clicking menu drop down brings up a menu of the most used fonts.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.933Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Text",
      "label": "Text",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "text - Enter the text you want to generate here.\t\nYour text can contain the following special characters:\t\t\n\n \\  - Take the next character literally (so you can use the / and ` characters in your text);\n `string`  - Evaluate the string contained by the backquotes (above the T key) as an expression;\n \\n  - Start a new line;\n \\xxx  - Specify a character by it's ascii code (e.g. \\007).For Example: If you put something like \\\\$F3 in the text string, you should see all the possible characters of a font as you play the animation (set the last frame to 256).\t\t\nEntering Expressions as Text - You can also use expressions for the text.\t\t\nFor Example:  - will display the current frame.\t\n - will display the current value of channel chan1 in  null1.\t\t\n - causes the eleven letters of the text to appear in succession during the first eleven frames.\t\nOther Methods of Entering Text - You can use the \\xxx decimal notation to specify characters. The available characters will depend on the font type used.\t\t\nFor Example: \\065 - will display 'a'.\t\t\nYou can also use the Par Class to set text in the Font . This can be done from the textport, a Logic CHOP or Expression CHOP, or any script. (See Scripting articles)\t\t\nFor Example:    - will display the words: hello world",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Center Text Horizontally",
      "label": "Center Text Horizontally",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hcenter - This check box allows you to center the text horizontally about X = 0.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Center Text Vertically",
      "label": "Center Text Vertically",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "vcenter - This check box allows you to center the text vertically about Y = 0.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Translate",
      "label": "Translate",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "t -  - Translates the geometry in x, y and z.\n\n tx - ty - tz -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "tx - ty - tz -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Scale",
      "label": "Scale",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "s -  - Scales the text in the X and Y axis.\n\n sx - sy -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "sx - sy -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Kerning",
      "label": "Kerning",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "kern -  - Letter spacing in the X direction. Line spacing in the Y direction if there are multiple lines. If you need manual character-by-character, you can do it in Model mode.\n\n kernx - kerny -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "kernx - kerny -",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Italic Angle",
      "label": "Italic Angle",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "italic - Doesn't actually give an italic version of the font, but rather obliques the text by shearing it the specified number of degrees. A negative number makes the text slant to the left.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Level of Detail",
      "label": "Level of Detail",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "lod - Adobe fonts are defined by Bzier curves. If polygons only is selected, the Font  converts these to polygons. This value adjusts the number of points in the polygons that it gets converted to.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hole Faces",
      "label": "Hole Faces",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "hole - Generates holes in polygons and Bzier faces.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Texture Coordinates",
      "label": "Texture Coordinates",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "texture -  - This adds uv coordinates to the geometry created by the Font .\n\n off - No uv coordinates added. ortho - Orthographic uv coordinates added.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Off",
      "label": "Off",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "off - No uv coordinates added. ortho - Orthographic uv coordinates added.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:43.934Z",
      "rawData": {},
      "sourceElement": null
    }
  ],
  "parameterGroups": {},
  "codeExamples": [],
  "pythonExamples": [],
  "expressions": [],
  "commonInputs": [],
  "commonOutputs": [],
  "relatedOperators": [],
  "workflowPatterns": [],
  "images": [],
  "videos": [],
  "assets": [],
  "keywords": [
    "font",
    "note:",
    "deprecated",
    "build",
    "2019.14650,",
    "text",
    "top."
  ],
  "tags": [
    "SOP",
    "TouchDesigner",
    "Font"
  ],
  "searchWeight": 1,
  "contentHash": "",
  "processingDate": "2025-08-08T00:37:43.935Z",
  "processingVersion": "1.0.0",
  "isValid": true,
  "validationErrors": []
}