Word Unperfect
public
Read
Owner: themaster
Branch: main
Commits: 0
Git CLI clone URL
git clone https://www.xt-emporium.com/git/word-unperfect.git
Fullscreen desktop URL
Code
Commits
History
Branches
Bug Reports
Discussions
Compare
Settings
word-unperfect
/
rev
/
wp_control_codes.h
File editor
#ifndef WP_CONTROL_CODES_H #define WP_CONTROL_CODES_H #include "wp_file_format.h" #include "wp_record_parser.h" #include "wp_layout_shared.h" #include <stdbool.h> #include <stddef.h> #include <stdint.h> /* Host-safe model of the decompiled byte classifier used by * parser_process_token_stream / layout_emit_scratch_pack around 1000:201a. * The original branches use four buckets: * >= C0 packet token, 80-BF single-byte format token, * 00-1F ASCII/control token, and 20-7F printable text. */ typedef enum WpDecompilerTokenClass { WP_DECOMP_TOKEN_ASCII_CONTROL = 0, WP_DECOMP_TOKEN_TEXT, WP_DECOMP_TOKEN_SINGLE_BYTE_FORMAT, WP_DECOMP_TOKEN_PACKET } WpDecompilerTokenClass; #define WP_CONTROL_EFFECT_TEXT 0x00000001UL #define WP_CONTROL_EFFECT_ASCII_CONTROL 0x00000002UL #define WP_CONTROL_EFFECT_SINGLE_BYTE_FORMAT 0x00000004UL #define WP_CONTROL_EFFECT_PACKET 0x00000008UL #define WP_CONTROL_EFFECT_LINE_BREAK 0x00000010UL #define WP_CONTROL_EFFECT_PAGE_BREAK 0x00000020UL #define WP_CONTROL_EFFECT_TAB_STOP 0x00000040UL #define WP_CONTROL_EFFECT_INDENT 0x00000080UL #define WP_CONTROL_EFFECT_DORMANT 0x00000100UL #define WP_CONTROL_EFFECT_NORMALIZED_SPACE 0x00000200UL #define WP_CONTROL_EFFECT_NORMALIZED_HYPHEN 0x00000400UL #define WP_CONTROL_EFFECT_WHITESPACE_GATE 0x00000800UL #define WP_CONTROL_EFFECT_RENDER_DIRTY_GATE 0x00001000UL #define WP_CONTROL_EFFECT_DIRTY_EXEMPT 0x00002000UL #define WP_CONTROL_EFFECT_DIRTY_NEUTRAL 0x00004000UL #define WP_CONTROL_EFFECT_EXTENSION_SCAN_STOP 0x00008000UL #define WP_CONTROL_EFFECT_PRINTABLE_HOST_BYTE 0x00010000UL #define WP_CONTROL_EFFECT_TSM_HIGHLIGHT 0x00020000UL #define WP_CONTROL_EFFECT_HYPHENATION_SUPPRESS 0x00040000UL #define WP_CONTROL_EFFECT_HIDDEN_FUNCTION_GATE 0x00080000UL typedef struct WpControlInfo { uint8_t code; WpDecompilerTokenClass token_class; unsigned long effects; const char *label; const char *marker; uint8_t display_columns; uint8_t tab_columns; } WpControlInfo; typedef struct WpControlSummaryStats { size_t records_seen; size_t bytes_consumed; size_t ascii_control_records; size_t printable_text_records; size_t single_byte_format_records; size_t packet_records; size_t hard_returns; size_t soft_returns; size_t hard_pages; size_t soft_pages; size_t tabs; size_t indents; size_t dormant_returns; size_t dormant_pages; size_t normalized_spaces; size_t normalized_hyphens; size_t whitespace_gate_records; size_t render_dirty_gate_records; size_t dirty_exempt_records; size_t dirty_neutral_records; size_t extension_scan_stop_records; size_t tsm_highlight_records; size_t hyphenation_suppression_records; size_t hidden_function_gate_records; size_t line_break_records; size_t page_break_records; size_t unknown_single_byte_records; size_t display_columns; size_t code_histogram[256]; } WpControlSummaryStats; WpDecompilerTokenClass wp_control_decompiled_token_class(uint8_t code); const char *wp_control_decompiled_token_class_name(WpDecompilerTokenClass token_class); void wp_control_decode_byte(uint8_t code, WpControlInfo *out_info); const char *wp_control_code_label(uint8_t code); const char *wp_control_code_marker(uint8_t code); bool wp_control_has_effect(uint8_t code, unsigned long effect_mask); uint8_t wp_control_display_columns(uint8_t code); void wp_control_summary_stats_clear(WpControlSummaryStats *stats); bool wp_control_summary_add_record(WpControlSummaryStats *stats, const WpRecord *rec); bool wp_control_summary_run_stream(WpLayoutGlobals *wl, WpControlSummaryStats *stats); bool wp_control_summary_run_loaded_file(WpLoadedFile *file, WpControlSummaryStats *stats); bool wp_control_summary_run_file(const char *filename, WpControlSummaryStats *stats); #endif
Commit message
This repository is read-only for this account.
Repository snapshot
Current branch
main
Visibility
public
Your access
Read
Remote
None
File activity
View file history