Design & Implementation of a Win32 Text Editor

Welcome to the brand new tutorial series - “Design and Implementation of a Win32 Text Editor!”

The purpose of these tutorials is to follow the development of a win32 text editor - codenamed Neatpad. Each tutorial will take you step-by-step over the major components and design decisions that lay ahead.

Neatpad Tutorials

Design & Implementation of a Win32 Text Editor
Jan 2005
Neatpad Text Editor

Neatpad Overview
Jan 2005
Introduction to the Win32 Text Editor series

Loading a text file
Feb 2005
Loading and displaying a text file

Scrollbars & Scrolling
Feb 2005
Adding scrollbars and scrolling to the TextView

Enhanced Drawing & Painting
Apr 2005
Improving the text display of TextView

Mouse Selection & Highlighting
May 2005
Mouse input, window focus and selection highlighting

Scrolling with the Mouse
May 2005
Mouse selection and scrolling

Margins and Long Lines
Aug 2005
Selection margin, line numbers and long-line highlighting

Introduction to Unicode
Dec 2005
An introduction to Unicode and character sets

Unicode Text Processing
Dec 2005
Unicode file support in Neatpad

Transparent Text
Feb 2006
Overview of the issues involved in rendering text selections

Introduction to Uniscribe
Feb 2006
Introducing Uniscribe

Uniscribe Mysteries
Mar 2006
Looking at ScriptItemize and ScriptLayout

More Uniscribe Mysteries
Mar 2006
Looking at ScriptShape and ScriptPlace

Integrating UspLib
Mar 2006
Migrating Neatpad to the UspLib engine

Drawing styled text with Uniscribe
Mar 2006
Drawing styled text with ScriptTextOut

Keyboard Navigation
May 2006
Keyboard navigation with Uniscribe

Piece Chains
Sep 2006
Editing text with Piece Chains

Unicode Text Editing
Nov 2006
Editing complex script