diff --git a/ChangeLog b/ChangeLog
index 37091fb..106ef84 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2020-12-26  Werner Lemberg  <wl@gnu.org>
 
+	[sdf] Use 'counter-clockwise', not 'anti-clockwise'.
+
+	We prefer US nomenclature.
+
+	* src/sdf/ftsdf.c (SDF_Contour_Orientation):
+	s/SDF_ORIENTATION-ACW/SDF_ORIENTATION_CCW/.
+	Update all users.
+
+2020-12-26  Werner Lemberg  <wl@gnu.org>
+
 	* src/base/ftobjs.c (pixel_modes): Updated.
 
 2020-12-26  Anuj Verma  <anujv@iitbhilai.ac.in>
diff --git a/src/sdf/ftsdf.c b/src/sdf/ftsdf.c
index 604ea4a..f7b405b 100644
--- a/src/sdf/ftsdf.c
+++ b/src/sdf/ftsdf.c
@@ -257,8 +257,8 @@
    *   SDF_ORIENTATION_CW ::
    *     Clockwise orientation (positive area covered).
    *
-   *   SDF_ORIENTATION_ACW ::
-   *     Anti-clockwise orientation (negative area covered).
+   *   SDF_ORIENTATION_CCW ::
+   *     Counter-clockwise orientation (negative area covered).
    *
    * @Note:
    *   See @FT_Outline_Get_Orientation for more details.
@@ -268,7 +268,7 @@
   {
     SDF_ORIENTATION_NONE = 0,
     SDF_ORIENTATION_CW   = 1,
-    SDF_ORIENTATION_ACW  = 2
+    SDF_ORIENTATION_CCW  = 2
 
   } SDF_Contour_Orientation;
 
@@ -991,7 +991,7 @@
     if ( area > 0 )
       return SDF_ORIENTATION_CW;
     else
-      return SDF_ORIENTATION_ACW;
+      return SDF_ORIENTATION_CCW;
   }
 
 
@@ -3568,7 +3568,7 @@
       /* overloads the default sign of the outside    */
       /* pixels, which is necessary for               */
       /* counter-clockwise contours.                  */
-      if ( orientations[i] == SDF_ORIENTATION_ACW                   &&
+      if ( orientations[i] == SDF_ORIENTATION_CCW                   &&
            internal_params.orientation == FT_ORIENTATION_FILL_RIGHT )
         internal_params.overload_sign = 1;
       else if ( orientations[i] == SDF_ORIENTATION_CW                   &&
@@ -3608,8 +3608,8 @@
       if ( internal_params.orientation == FT_ORIENTATION_FILL_LEFT )
       {
         if ( orientations[i] == SDF_ORIENTATION_CW )
-          orientations[i] = SDF_ORIENTATION_ACW;
-        else if ( orientations[i] == SDF_ORIENTATION_ACW )
+          orientations[i] = SDF_ORIENTATION_CCW;
+        else if ( orientations[i] == SDF_ORIENTATION_CCW )
           orientations[i] = SDF_ORIENTATION_CW;
       }
 
diff --git a/src/truetype/ttinterp.c b/src/truetype/ttinterp.c
index 1923774..7a0268c 100644
--- a/src/truetype/ttinterp.c
+++ b/src/truetype/ttinterp.c
@@ -4362,7 +4362,7 @@
 
     if ( ( opcode & 1 ) != 0 )
     {
-      C = B;   /* counter clockwise rotation */
+      C = B;   /* counter-clockwise rotation */
       B = A;
       A = NEG_LONG( C );
     }
@@ -5050,7 +5050,7 @@
 
     if ( ( opcode & 1 ) != 0 )
     {
-      C = B;   /* counter clockwise rotation */
+      C = B;   /* counter-clockwise rotation */
       B = A;
       A = NEG_LONG( C );
     }
@@ -5074,7 +5074,7 @@
 
     if ( ( opcode & 1 ) != 0 )
     {
-      C = B;   /* counter clockwise rotation */
+      C = B;   /* counter-clockwise rotation */
       B = A;
       A = NEG_LONG( C );
     }
