The University of Arabic Calligraphy (UAC) team is a global collective of passionate calligraphers and educators dedicated to preserving and promoting the art of Arabic calligraphy. Our mission is to foster a deep appreciation and understanding of this timeless art form, ensuring its continued relevance and vitality in the modern world.
The University of Arabic Calligraphy (UAC) is dedicated to the art of Arabic calligraphy. Our courses offer in-depth instruction in the most celebrated scripts: Ruqaa, Diwani, Thuluth, and Naskh. Whether you're a beginner or an advanced practitioner, our programs are tailored to guide you in mastering these beautiful and historic scripts.
Are you passionate about Arabic calligraphy? Do you have a knack for precision and detail? The University of Arabic Calligraphy invites you to be part of our exclusive Manuscript Participation and Correction Program!
Participants will receive UAC feedback and mentorship, ensuring that their work meets the highest standards of excellence. The program fosters a collaborative environment where you can exchange ideas and techniques with fellow calligraphers, enriching your learning experience.
Elevate your calligraphy with essential tools that ensure precision and creativity. From elegant pens and premium paper to rich inks and specialized accessories, each tool enhances your ability to create beautiful, expressive lettering.
Explore our range of calligraphy essentials to perfect your craft and achieve stunning results.
We invite students, artists, and calligraphy lovers
Whether you're a professional working on vector-based projects or a student learning the fundamentals of digital design,
What is PathNavigator Pro?
PathNavigator Pro is an advanced online tool designed to help digital designers, developers, and students master the intricacies of SVG (Scalable Vector Graphics) path commands. Whether you're a professional working on vector-based projects or a student learning the fundamentals of digital design, PathNavigator Pro provides the perfect platform to explore, visualize, and understand how various path commands work in real time.
Key Features of PathNavigator Pro
Interactive SVG Path Rendering
PathNavigator Pro allows users to input custom SVG path commands and see immediate, real-time visualization of the shapes, curves, and lines generated by the commands. This interactive feature makes it easier for students and designers to experiment and learn by instantly seeing how each command affects the overall design.
Comprehensive Command Breakdown
The tool provides detailed explanations for commonly used SVG path commands (such as M, L, C, Q, and Z). Each command comes with a visual example, syntax, and an easy-to-understand description, helping users grasp the function and application of each command.
Customization and Grid Tools
Users can customize the stroke color, fill color, stroke width, and toggle grid lines to align their designs accurately. This feature is particularly helpful for precision in digital calligraphy and vector design, ensuring that students and professionals can work within a structured layout for optimal results.
Why PathNavigator Pro?
As SVG becomes increasingly important in web design, iconography, and scalable graphics, understanding how to manipulate paths is crucial. PathNavigator Pro was created to offer an intuitive and interactive experience for users, breaking down complex path commands into easy-to-understand visualizations. This tool ensures that you can learn how to control curves, lines, and shapes with precision, making your design process faster and more accurate.
Who Can Benefit?
Design Students: Those studying digital design, typography, or calligraphy will find PathNavigator Pro invaluable for learning SVG commands in an interactive, hands-on way.
Web Developers: Developers can use PathNavigator Pro to quickly generate and test SVG paths for their projects, ensuring that icons, logos, and other graphics scale perfectly across devices.
Professional Designers: For designers working with vector art and scalable designs, this tool simplifies the process of refining and perfecting SVG paths, leading to clean, polished results.
Main Purpose of PathNavigator Pro
The primary aim of PathNavigator Pro is to provide an accessible platform for users to experiment with and understand the various SVG path commands. By offering real-time visualizations, explanations, and customization options, PathNavigator Pro helps users learn, create, and fine-tune their vector designs with ease.
It’s an essential tool for anyone looking to improve their skills in digital design, especially in the realm of scalable graphics.
PathNavigator Pro Tool
SVG Path Commands Explained
M = Moveto (Move to a Point)
Description: The M command moves the pen to a specified point without drawing a line. It sets the starting point for a new sub-path.
Syntax:M x y
Example: M 100 100
Visualization: A red dot at (100, 100) indicates the move to that point.
No lines are drawn because M does not create any visible output other than moving the starting point.
Application in Calligraphy: Setting the starting point of a letter or flourish.
L = Lineto (Draw a Line)
Description: The L command draws a straight line from the current point to a new point.
Syntax:L x y
Example: M 50 150 L 150 50
Visualization: A straight line from (50, 150) to (150, 50) is drawn.
This can represent a diagonal stroke in a letter.
Application in Calligraphy: Creating straight strokes in letters like 'A', 'V', or 'N'.
H = Horizontal Lineto (Draw a Horizontal Line)
Description: The H command draws a horizontal line from the current point to a new x-coordinate.
Syntax:H x
Example: M 50 100 H 150
Visualization: A horizontal line from (50, 100) to (150, 100) is drawn.
Represents horizontal strokes, like the crossbar in 'A' or 'H'.
Application in Calligraphy: Drawing consistent horizontal lines in letterforms.
V = Vertical Lineto (Draw a Vertical Line)
Description: The V command draws a vertical line from the current point to a new y-coordinate.
Syntax:V y
Example: M 100 50 V 150
Visualization: A vertical line from (100, 50) to (100, 150) is drawn.
Useful for vertical strokes in letters like 'I' or 'T'.
Application in Calligraphy: Creating uniform vertical lines in letterforms.
C = Curveto (Cubic Bézier Curve)
Description: The C command draws a cubic Bézier curve using two control points.
Syntax:C x1 y1, x2 y2, x y
Example: M 50 150 C 50 50, 150 50, 150 150
Visualization: A smooth curve resembling the top of a lowercase 'n' or 'u'.
Control points shape the curvature. M(50 150): This is the moveto command, which sets the starting point of the path to (50, 150). C(50 50, 150 50, 150 150): This is the curveto command, which defines a cubic Bézier curve.
The four sets of coordinates represent: (50, 50): The first control point. (150, 50): The second control point. (150, 150): The ending point of the curve.
Application in Calligraphy: Crafting elegant curves in letters and flourishes.
S = Smooth Curveto (Smooth Cubic Bézier Curve)
Description: The S command draws a smooth cubic Bézier curve using one control point.
Syntax:S x2 y2, x y
Example: M 50 150 C 50 50, 150 50, 150 150 S 250 250, 250 150
Visualization: Creates a continuous smooth curve without specifying the first control point.
Ideal for flowing scripts and cursive writing. M(50 150) This is the moveto command, which sets the starting point of the path to (50, 150).
C(50 50, 150 50, 150 150)This is the curveto command, which defines a cubic Bézier curve.
The four sets of coordinates represent:
(50, 50): The first control point.
(150, 50): The second control point.
(150, 150): The ending point of the curve.
S(250 250, 250 150) This is the smooth curveto command, which is a shorthand for a cubic Bézier curve where the first control point is automatically calculated based on the previous curve segment.
The two sets of coordinates represent:
(250, 250): The second control point.
(250, 150): The ending point of the curve.
Application in Calligraphy: Designing smooth, connected strokes in script fonts.
Q = Quadratic Bézier Curve
Description: The Q command draws a quadratic Bézier curve using one control point.
Syntax:Q x1 y1, x y
Example: M 50 150 Q 150 50, 150 150
Visualization: A simple curve controlled by one point.
Useful for creating arches and loops. M(50 150): This is the moveto command, which sets the starting point of the path to (50, 150). Q(150 50, 150 150): This is the quadratic Bézier curve command.
The first two numbers (150, 50) represent the control point, and the last two numbers (150, 150) represent the ending point of the curve.
Application in Calligraphy: Crafting curves in letters like 'C', 'G', or 'S'.
T = Smooth Quadratic Bézier Curveto
Description: The T command draws a smooth quadratic Bézier curve from the current point to a new point. The control point is assumed to be the reflection of the previous control point.
Syntax:T x y
Example: M 50 150 Q 100 50, 150 150 T 250 150
Visualization: Continues the curve smoothly from the previous Q or T command.
Great for creating wave-like patterns. M(50 150): This is the moveto command, which sets the starting point of the path to (50, 150). Q(100 50, 150 150): This is the quadratic Bézier curve command. It defines a curve using a single control point (100, 50) and an ending point (150, 150).
T(250 150): This is the smooth quadratic curveto command. It draws a quadratic Bézier curve from the current point to (250, 150), using the reflection of the previous control point. Since the previous curve was a quadratic Bézier curve, the reflection of the control point is calculated automatically.
Visualization: Continues the curve smoothly from the previous Q or T command, great for creating wave-like patterns.
Application in Calligraphy: Designing fluid movements in cursive lettering.
A = Elliptical Arc
Description: The A command draws an arc based on specified radii and rotation.
Syntax:A rx ry x-axis-rotation large-arc-flag sweep-flag x y
Example: M 100 50 A 50 50 0 1 1 100 150
Visualization: An arc forming half a circle.
Parameters control the size and orientation of the arc. M(100 50): This is the moveto command, which sets the starting point of the path to (100, 50).
A(50 50 0 1 1 100 150):
This is the elliptical arc command, which specifies an elliptical arc to be drawn. The parameters are:
(50 50): The radii of the ellipse. In this case, both the x-radius and y-radius are 50, creating a circular arc.
0: The rotation of the ellipse (in degrees). A value of 0 means the ellipse is not rotated.
1: The large-arc flag. A value of 1 indicates that the arc should be greater than or equal to half a circle.
1: The sweep-flag. A value of 1 indicates that the arc should be drawn counter-clockwise.
(100 150): The ending point of the arc.
Application in Calligraphy: Creating circular strokes, such as in the letters 'O' or 'Q'.
Z = Closepath (Close the Path)
Description: The Z command closes the current sub-path by drawing a straight line back to the starting point.
Syntax:Z
Example: M 50 50 L 150 50 L 150 150 L 50 150 Z
Visualization: Creates a closed square or rectangle.
The path returns to the starting point. M(50 50): This is the moveto command, which specifies the starting point of the path. In this case, the starting point is at (50, 50).
L (150 50:) This is the lineto command, which draws a straight line from the current point (50, 50) to the specified point (150, 50). This creates the top side of the rectangle.
L(150 150:) This draws a line from (150, 50) to (150, 150), creating the right side of the rectangle.
L (50 150:) This draws a line from (150, 150) to (50, 150), creating the bottom side of the rectangle.
Z: This is the close path command, which draws a line from the current point (50, 150) back to the starting point (50, 50), completing the rectangle.
Application in Calligraphy: Closing shapes or loops in letters.
SVG Path Commands Explained
M = Moveto (Move to a Point)
Description: The M command moves the pen to a specified point without drawing a line. It sets the starting point for a new sub-path.
Syntax:M x y
Example: M 100 100
Visualization: A red dot at (100, 100) indicates the move to that point.
No lines are drawn because M does not create any visible output other than moving the starting point.
Application in Calligraphy: Setting the starting point of a letter or flourish.
L = Lineto (Draw a Line)
Description: The L command draws a straight line from the current point to a new point.
Syntax:L x y
Example: M 50 150 L 150 50
Visualization: A straight line from (50, 150) to (150, 50) is drawn.
This can represent a diagonal stroke in a letter.
Application in Calligraphy: Creating straight strokes in letters like 'A', 'V', or 'N'.
H = Horizontal Lineto (Draw a Horizontal Line)
Description: The H command draws a horizontal line from the current point to a new x-coordinate.
Syntax:H x
Example: M 50 100 H 150
Visualization: A horizontal line from (50, 100) to (150, 100) is drawn.
Represents horizontal strokes, like the crossbar in 'A' or 'H'.
Application in Calligraphy: Drawing consistent horizontal lines in letterforms.
V = Vertical Lineto (Draw a Vertical Line)
Description: The V command draws a vertical line from the current point to a new y-coordinate.
Syntax:V y
Example: M 100 50 V 150
Visualization: A vertical line from (100, 50) to (100, 150) is drawn.
Useful for vertical strokes in letters like 'I' or 'T'.
Application in Calligraphy: Creating uniform vertical lines in letterforms.
C = Curveto (Cubic Bézier Curve)
Description: The C command draws a cubic Bézier curve using two control points.
Syntax:C x1 y1, x2 y2, x y
Example: M 50 150 C 50 50, 150 50, 150 150
Visualization: A smooth curve resembling the top of a lowercase 'n' or 'u'.
Control points shape the curvature. M(50 150): This is the moveto command, which sets the starting point of the path to (50, 150). C(50 50, 150 50, 150 150): This is the curveto command, which defines a cubic Bézier curve.
The four sets of coordinates represent: (50, 50): The first control point. (150, 50): The second control point. (150, 150): The ending point of the curve.
Application in Calligraphy: Crafting elegant curves in letters and flourishes.
S = Smooth Curveto (Smooth Cubic Bézier Curve)
Description: The S command draws a smooth cubic Bézier curve using one control point.
Syntax:S x2 y2, x y
Example: M 50 150 C 50 50, 150 50, 150 150 S 250 250, 250 150
Visualization: Creates a continuous smooth curve without specifying the first control point.
Ideal for flowing scripts and cursive writing. M(50 150) This is the moveto command, which sets the starting point of the path to (50, 150).
C(50 50, 150 50, 150 150)This is the curveto command, which defines a cubic Bézier curve.
The four sets of coordinates represent:
(50, 50): The first control point.
(150, 50): The second control point.
(150, 150): The ending point of the curve.
S(250 250, 250 150) This is the smooth curveto command, which is a shorthand for a cubic Bézier curve where the first control point is automatically calculated based on the previous curve segment.
The two sets of coordinates represent:
(250, 250): The second control point.
(250, 150): The ending point of the curve.
Application in Calligraphy: Designing smooth, connected strokes in script fonts.
Q = Quadratic Bézier Curve
Description: The Q command draws a quadratic Bézier curve using one control point.
Syntax:Q x1 y1, x y
Example: M 50 150 Q 150 50, 150 150
Visualization: A simple curve controlled by one point.
Useful for creating arches and loops. M(50 150): This is the moveto command, which sets the starting point of the path to (50, 150). Q(150 50, 150 150): This is the quadratic Bézier curve command.
The first two numbers (150, 50) represent the control point, and the last two numbers (150, 150) represent the ending point of the curve.
Application in Calligraphy: Crafting curves in letters like 'C', 'G', or 'S'.
T = Smooth Quadratic Bézier Curveto
Description: The T command draws a smooth quadratic Bézier curve from the current point to a new point. The control point is assumed to be the reflection of the previous control point.
Syntax:T x y
Example: M 50 150 Q 100 50, 150 150 T 250 150
Visualization: Continues the curve smoothly from the previous Q or T command.
Great for creating wave-like patterns. M(50 150): This is the moveto command, which sets the starting point of the path to (50, 150). Q(100 50, 150 150): This is the quadratic Bézier curve command. It defines a curve using a single control point (100, 50) and an ending point (150, 150).
T(250 150): This is the smooth quadratic curveto command. It draws a quadratic Bézier curve from the current point to (250, 150), using the reflection of the previous control point. Since the previous curve was a quadratic Bézier curve, the reflection of the control point is calculated automatically.
Visualization: Continues the curve smoothly from the previous Q or T command, great for creating wave-like patterns.
Application in Calligraphy: Designing fluid movements in cursive lettering.
A = Elliptical Arc
Description: The A command draws an arc based on specified radii and rotation.
Syntax:A rx ry x-axis-rotation large-arc-flag sweep-flag x y
Example: M 100 50 A 50 50 0 1 1 100 150
Visualization: An arc forming half a circle.
Parameters control the size and orientation of the arc. M(100 50): This is the moveto command, which sets the starting point of the path to (100, 50).
A(50 50 0 1 1 100 150):
This is the elliptical arc command, which specifies an elliptical arc to be drawn. The parameters are:
(50 50): The radii of the ellipse. In this case, both the x-radius and y-radius are 50, creating a circular arc.
0: The rotation of the ellipse (in degrees). A value of 0 means the ellipse is not rotated.
1: The large-arc flag. A value of 1 indicates that the arc should be greater than or equal to half a circle.
1: The sweep-flag. A value of 1 indicates that the arc should be drawn counter-clockwise.
(100 150): The ending point of the arc.
Application in Calligraphy: Creating circular strokes, such as in the letters 'O' or 'Q'.
Z = Closepath (Close the Path)
Description: The Z command closes the current sub-path by drawing a straight line back to the starting point.
Syntax:Z
Example: M 50 50 L 150 50 L 150 150 L 50 150 Z
Visualization: Creates a closed square or rectangle.
The path returns to the starting point. M(50 50): This is the moveto command, which specifies the starting point of the path. In this case, the starting point is at (50, 50).
L (150 50:) This is the lineto command, which draws a straight line from the current point (50, 50) to the specified point (150, 50). This creates the top side of the rectangle.
L(150 150:) This draws a line from (150, 50) to (150, 150), creating the right side of the rectangle.
L (50 150:) This draws a line from (150, 150) to (50, 150), creating the bottom side of the rectangle.
Z: This is the close path command, which draws a line from the current point (50, 150) back to the starting point (50, 50), completing the rectangle.
Application in Calligraphy: Closing shapes or loops in letters.