DiGrande.it
Braille and Technologies for Visual Impairment

Tactile Graphics Language

Welcome to the Official bTactile Manual, the tactile graphics language developed within the Biblos environment. This high-level programming tool is a landmark in the creation of accessible graphic content, enabling the design and generation of vector-based diagrams intended for tactile printing and use by blind and visually impaired individuals.

bTactile is an elegant and powerful language, designed to make tactile graphics an expressive and technical domain accessible to all. Thanks to its intuitive syntax and declarative logic, bTactile allows for the creation of precise, scalable, and reusable visual-tactile representations, suitable for educational, scientific, artistic, and communicative contexts.

Manual Objectives:

- Introduce the fundamentals of the bTactile language, illustrating its philosophy, structure, and intended use.

- Describe in detail the syntax, semantics, and main commands of the language.

- Guide users through the creation of effective tactile graphics via concrete and progressive examples.

- Promote digital inclusion by making graphic production accessible even to those who cannot rely on visual perception.

This manual is designed to be accessible both to those approaching programming for the first time and to users with technical experience who wish to explore the full potential of the language. Each concept is introduced progressively and supported by clear explanations, applied examples, and practical tips for effective and informed use.

This manual is intended for:

- Educators and practitioners involved in teaching blind or visually impaired students;

- Technicians and transcribers engaged in producing tactile materials;

- Experienced blind users seeking to explore new accessible programming languages;

- Developers and designers aiming to integrate inclusive graphic solutions into their projects.

bTactile stands as an outstanding achievement in the field of accessible graphics: a unique language that combines simplicity, precision, and expressive power. Its development is part of Biblos's mission to break down digital barriers and promote truly inclusive tools.

Both the language and this manual are in continuous development. Each update reflects user experience, collected feedback, and emerging needs in the field of tactile and accessible communication.

bTactile and this manual were designed and developed by Giuseppe Di Grande, who holds all copyright and publishing rights, in any form and by any means. Reproduction, even in part, is prohibited without the explicit permission of the author.

Table of Contents

  1. Introduction to the Language of Tactile Graphics
  2. The variables
  3. The numbers
  4. The arithmetic operators
  5. Constants
  6. Logical operators
  7. The procedures
  8. The functions
  9. Relational operators
  10. If conditional control
  11. The For cycle
  12. The While cycle
  13. All Instructions
    1. Abs- Returns the absolute value of a number
    2. Arc- Draws an arc
    3. ArcB- Draws an arc through three points
    4. ArcTan- Returns the arctangent of a number
    5. ArcTan2- Returns the angle between the X-axis and a segment of a line
    6. Braille- Draws a braille text
    7. BrailleHeight- Returns the height in points of the braille string
    8. BrailleType- Sets the characteristics of braille text
    9. BrailleWidth- Returns the width in points of the braille string
    10. Brush- Sets a brush type
    11. CharToNum- Converts the character into its Unicode code
    12. Chord- Draws a chord
    13. ChordB- Draw a chord through three points
    14. Circle- Draws a circle
    15. ColorBrush- Sets the brush color
    16. ColorPen- Sets the pen color
    17. Cos- Returns the cosine of an angle
    18. DegToRad- Converts angle from degrees to radians
    19. Dot- Draws or detects the color of a point
    20. Ellipse- Draws an ellipse
    21. Exp- Returns natural logarithm elevated to power
    22. Fill- Fills a surface
    23. Font- Sets a font type
    24. FontName- Sets the name of the current font
    25. FontSize- Sets the size of the current font
    26. FontStyle- Sets the style of the current font
    27. Frac- Returns the fractional portion of a number
    28. FrX- Returns the percentage fraction of the width of the graph
    29. FrY- Returns the percentage fraction of the height of the graph
    30. GraphicCrop- Crop the image to the chosen size
    31. GraphicOffset- Sets an offset to drawing coordinates
    32. GraphicOrigin- Sets the origin point of rotation
    33. GraphicRotate- Rotate entire graph
    34. GraphicScale- Changing the scale factors of the graph
    35. GraphicSize- Change the size and appearance of the graph
    36. GraphicTransform- Modifies the graphic transformation coefficients
    37. GraphicTransparent- Changing the type of image transparency
    38. InsertPicture- Inserts an image into the graph
    39. Int- Returns the entire part of a number
    40. Line- Draws a line
    41. Ln- Returns the natural logarithm of a number
    42. Max- Returns the percentage fraction greater than the size of the graph
    43. Mid- Returns the average percentage fraction of the graph size
    44. Min- Returns the smallest percentage fraction of the graph size
    45. MsgBox- Shows a message box
    46. NumToChar- Converts the Unicode code into its character
    47. NumToString- Converts number to string
    48. OpenPicture- Opens an image
    49. Pen- Sets a pen type
    50. Polygon- Draws a polygon
    51. Polyline- Draws a series of lines
    52. PolyReg- Draws a regular polygon
    53. Pow- Returns number elevated to power
    54. RadToDeg- Converts angle from radians to degrees
    55. Random- Returns a random number
    56. Rectangle- Draws a rectangle
    57. Root- Returns the root of a number
    58. Round- Returns the rounded value of a number
    59. SavePicture- Save the picture
    60. Sin- Returns the sine of an angle
    61. Spline- Draw a quadratic curve of Bezier
    62. Square- Draws a square
    63. StringCopy- Returns a part of a string
    64. StringDelete- Deletes a part of a string and returns the remaining string
    65. StringLeft- Returns a substring from the left side of the string
    66. StringLength- Returns the length of a string
    67. StringLower- Returns the string with the letters in lower case
    68. StringRight- Returns a substring by taking it from the right side of the string
    69. StringToNum- Converts the string into a numerical value
    70. StringTrim- Returns the string without the initial and final spaces
    71. StringUpper- Returns the string with all letters in upper case
    72. Tan- Returns the tangent of an angle
    73. Text- Draws a text
    74. TextHeight- Returns the height in points of the string
    75. TextWidth- Returns the width of the string in points
    76. Triangle- Draws a triangle
    77. Trunc- Returns the truncated value of a number
    78. TurtlePos- Place and orient the turtle in the plane
    79. TurtleRight- Turn the turtle to the right
    80. TurtleLeft- Turn the turtle to the left
    81. TurtleForward- Makes the turtle walk forward
    82. TurtleBackward- Makes the turtle walk backwards
    83. VectorToDeg- From a vector returns the angle in degrees
    84. VectorToRad- From a vector returns the angle in radians