diff --git a/include/freetype/ftcache.h b/include/freetype/ftcache.h
index 72e1d3f..a2072e2 100644
--- a/include/freetype/ftcache.h
+++ b/include/freetype/ftcache.h
@@ -44,20 +44,20 @@
    *   images while limiting their maximum memory usage.
    *
    *   Note that all types and functions begin with the `FTC_` prefix rather
-   *   than the usual `FT_` prefix int the rest of FreeType.
+   *   than the usual `FT_` prefix in the rest of FreeType.
    *
    *   The cache is highly portable and, thus, doesn't know anything about
    *   the fonts installed on your system, or how to access them.  Therefore,
-   *   it requires the following:
+   *   it requires the following.
    *
-   *   * @FTC_FaceID, an arbitrary non-zero value, that uniquely identifies
+   *   * @FTC_FaceID, an arbitrary non-zero value that uniquely identifies
    *     available or installed font faces, has to be provided to the
    *     cache by the client.  Note that the cache only stores and compares
-   *     these values, and doesn't try to interpret them in any way but they
+   *     these values and doesn't try to interpret them in any way, but they
    *     have to be persistent on the client side.
    *
    *   * @FTC_Face_Requester, a method to convert an @FTC_FaceID into a new
-   *     @FT_Face object, when necessary, has to be provided to the cache by
+   *     @FT_Face object when necessary, has to be provided to the cache by
    *     the client.  The @FT_Face object is completely managed by the cache,
    *     including its termination through @FT_Done_Face.  To monitor
    *     termination of face objects, the finalizer callback in the `generic`
@@ -65,7 +65,7 @@
    *     to store the @FTC_FaceID of the face.
    *
    *   Clients are free to map face IDs to anything useful.  The most simple
-   *   usage is, for example, to associate them to a {pathname,face_index}
+   *   usage is, for example, to associate them to a `{pathname,face_index}`
    *   pair that is then used by @FTC_Face_Requester to call @FT_New_Face.
    *   However, more complex schemes are also possible.
    *
@@ -73,7 +73,7 @@
    *   **persistent**, which means that the contents they point to should not
    *   change at runtime, or that their value should not become invalid.
    *   If this is unavoidable (e.g., when a font is uninstalled at runtime),
-   *   you should call @FTC_Manager_RemoveFaceID as soon as possible, to let
+   *   you should call @FTC_Manager_RemoveFaceID as soon as possible to let
    *   the cache get rid of any references to the old @FTC_FaceID it may keep
    *   internally.  Failure to do so will lead to incorrect behaviour or even
    *   crashes in @FTC_Face_Requester.
@@ -83,7 +83,7 @@
    *   then look up @FT_Face and @FT_Size objects with
    *   @FTC_Manager_LookupFace and @FTC_Manager_LookupSize, respectively, and
    *   use them in any FreeType work stream.  You can also cache other
-   *   FreeType objects as follows:
+   *   FreeType objects as follows.
    *
    *   * If you want to use the charmap caching, call @FTC_CMapCache_New,
    *     then later use @FTC_CMapCache_Lookup to perform the equivalent of
@@ -93,13 +93,12 @@
    *     then later use @FTC_ImageCache_Lookup to retrieve the corresponding
    *     @FT_Glyph objects from the cache.
    *
-   *   * If you need lots of small bitmaps, it is much more memory efficient
+   *   * If you need lots of small bitmaps, it is much more memory-efficient
    *     to call @FTC_SBitCache_New followed by @FTC_SBitCache_Lookup.  This
    *     returns @FTC_SBitRec structures, which are used to store small
    *     bitmaps directly.  (A small bitmap is one whose metrics and
    *     dimensions all fit into 8-bit integers).
    *
-   *
    * @order:
    *   FTC_Manager
    *   FTC_FaceID
