Neatbo.

Inventory shortcuts and edit supported font identities

Read stored LNK declarations and edit explicit static TTF names while keeping raw provenance, glyph bytes and unresolved system behavior visible.

Match the deliverable to the original task

A shortcut owner needed a file pairing each shortcut name with its target and later confirmed a CSV solution. That workflow used Windows COM and the live Start Menu. T323 accepts selected existing LNK originals and inventories stored components. A declared path can be useful evidence even when the browser cannot resolve the current target.

Two font authors asked to separate internal identities, explicitly distinguishing names inside a font from its filename. T324 changes supported existing name records in one unsigned static TrueType font per run. Four same-family fonts require four explicit identity sets and separate runs; installation or application grouping remains a separate assessment.

Concrete local outputs
ToolComplete deliverableExternal behavior not proved
T323Original LNKs plus declaration JSON/CSV in one ZIPCurrent Shell target, existence or installed application
T324Edited TTF plus all old/new names and table JSON/CSVInstallation, cache refresh, recognition or coexistence

Choose an ANSI policy before reading shortcut strings

Leave ANSI at unconfirmed when the original system codepage is unknown. Such values remain null, with source path, offset, byte length and SHA256 referring to an exported original. Unicode fields still decode strictly. A literal UTF-16 BOM remains a character, not a stripped header.

Explicit WHATWG windows-1252 decodes every byte with the official mapping, including its control mappings. It is not a guess based on the current computer, ConsoleFE or a file’s creator. GBK, Shift-JIS and other ANSI choices are refused. Local and network LinkInfo may coexist; do not collapse one into an invented canonical target.

  • Inspect the five StringData fields and all flags, including raw versus effective show command.
  • Environment, MSI, icon, tracker and folder values stay stored declarations. IDList, Console, PropertyStore and unknown payloads remain explicitly opaque where interpretation is unsupported.
  • Never activate the exported LNKs as part of this inventory. The tool does not execute a shortcut, command or URL.

Use the shortcut originals and complete report

The 524-byte controlled example has one source row with local and network declarations and literal arguments. Its original name begins with a formula character and includes SVG-like text. Names and values are inert data. The JSON preserves original values; CSV alone adds a leading apostrophe for a formula-leading cell.

shortcut-inventory.zip contains controlled sources/NNNN.lnk, shortcut-inventory.json and shortcut-map.csv. Every raw-reference offset resolves into its exact original bytes. All source rows are available in the table, with 2,000 UTF-16 units per preview cell; use the complete ZIP for long strings and every ExtraData span. resolvedTarget stays null and no existence check is performed.

Enter all four font identities explicitly

The controlled normal TTF is 960 bytes with ten tables, sixteen name records and two glyphs. Family=New, fullName=aNew, postScript=Review and uniqueId=Different change ten supported existing records. The output is 848 bytes because the name storage is rebuilt; all non-name table bytes remain identical except head.checkSumAdjustment. Container offsets and padding can change.

Each identity is 1–63 printable ASCII characters. PostScript additionally excludes whitespace and [](){}<>/%. Existing IDs 1/3/4/6/16/18/21 are edited; style IDs 2/17/22, copyright, license and other names remain. Names are not synthesized and style metadata is not inferred.

Selected Unicode platform 0 encodings 0–4 and Windows 3 encodings 0/1/10 use strict UTF-16BE. Mac 1 encoding 0 receives exact ASCII, while its prior MacRoman value remains null plus raw hex. Unknown unselected codecs stay opaque; unknown selected codecs and malformed known Unicode refuse the whole font.

Retain language and table evidence without loading fonts

Name formats 0 and 1 support sorted unique records, exact and substring original string sharing, and all bounded format-1 LangTags. RFC 5646 syntax is checked, including private-use and grandfathered forms, without promising registration or canonicalization. JSON retains every language offset and raw byte string.

edited.ttf is produced without loading, rendering or installing the supplied font. Every source table checksum and complete 0xB1B0AFBA checksum is checked. name is rebuilt and head.checkSumAdjustment repairs the global checksum. Glyf, loca, cmap, metrics and all other table bytes are retained; their complete semantics are not certified.

Signed DSIG, variable tables, CFF/CFF2, TTC and WOFF containers refuse atomically. FontTools 4.66.1 reads every edited name and all tested glyph outlines, but emits format-1 storageOffset warnings and does not expose LangTag records. Independent struct checks cover every preserved language byte and offset; this gap is not hidden as universal compatibility.

Apply simultaneous budgets and recover the same originals

T323 allows 1,000 files, each 1 MiB and combined 32 MiB, 10,000 ExtraData blocks and 10,000 IDList items per file, and 100,000 total structure visits. Its complete JSON plus safe CSV is limited to 40 MiB. The 74 MiB ZIP allocation guard is dominated by those budgets.

T324 allows one 20 MiB file, 256 tables, 4,096 name records and 1,024 LangTags. Every stored name/language string is at most 8,192 bytes; source and rebuilt distinct pools are at most 65,535 bytes. Complete JSON plus safe CSV is limited to 16 MiB. A strict incremental report lower bound can refuse early; its error reports minimumBytes rather than an invented complete byte count.

Both tools limit original filenames to 512 UTF-16 units and refuse the whole result on a malformed file or budget excess. Cancellation discards partial outputs; same-source recovery uses a new Worker. Native evidence covers genuine positive incomplete cancellation on 1,000 shortcuts and 4,096 name records; browser interaction acceptance is tracked separately.

Protective guards are not fabricated independent capacity claims
GuardReason
LNK ZIP 74 MiB32 MiB originals + 40 MiB reports + bounded headers dominate
Edited TTF 21 MiB20 MiB source + 65,535 rebuilt string bytes and alignment dominate
TTF combined outputs 37 MiB21 MiB font guard + 16 MiB reports dominate

References

Tools in this category

Expand a tool to see its steps, options and supported formats, then open its workspace.

Inventory Windows shortcut declarationsRead stored paths, arguments and opaque components from local LNK originals and export a complete inventory without activating shortcuts.

Select existing LNK files. Inspect all stored local and network declarations, strings, flags and ExtraData, while keeping unresolved targets explicit. Download one ZIP with exact originals and complete JSON/CSV.

Steps

  1. Select the original LNK files; preserve a separate copy.
  2. Leave ANSI unconfirmed unless WHATWG windows-1252 is the intended decoding.
  3. Run and inspect source names, simultaneous path declarations, arguments and unresolved fields.
  4. Download the ZIP and inspect complete JSON/CSV and exact originals.

Available options

Explicit ANSI interpretation
Unconfirmed: retain raw bytes · WHATWG windows-1252

Capabilities and limits

  • Up to 1,000 originals, each 1 MiB and combined 32 MiB. Each filename is at most 512 UTF-16 units. One malformed file refuses the whole batch.
  • Strict 76-byte Shell Link header; all flags, unsigned decimal FILETIME values, signed icon index and raw/effective show command are retained. Local and network LinkInfo declarations can coexist. Unicode volume, share, device, path and suffix values remain separate stored fields.
  • All five StringData fields are read. Ordinary fields permit up to 260 units; command arguments use the uint16 wire limit of 65,535 units. Strict UTF-16 preserves literal BOM characters; malformed strings and embedded NUL are refused.
  • ANSI defaults to unconfirmed: values remain null with exact raw references. Only an explicit WHATWG windows-1252 choice enables ANSI decoding. Host locale, ConsoleFE and installed Windows codepages are never guessed; other codecs are outside this release.
  • All 11 known ExtraData signatures are framed and required sizes/offsets checked. IDList items, Console, PropertyStore and unknown payloads remain explicitly opaque where interpretation is unsupported. Environment and installer strings are literal, without expansion or resolution.
  • At most 10,000 ExtraData blocks and 10,000 IDList items per file, and 100,000 structure visits across the batch. Complete compact JSON plus formula-protected CSV must fit 40 MiB. The 74 MiB ZIP cap is a dominated allocation guard, not a separately reachable supported ceiling.
  • The ZIP contains controlled sources/NNNN.lnk originals, shortcut-inventory.json and shortcut-map.csv. JSON keeps original names and values; CSV alone prefixes formula-leading cells. The table keeps all source rows, with cells shortened to 2,000 UTF-16 units; complete fields and every raw span remain in downloads.
  • No COM, Shell activation, commands, URL navigation, filesystem/network lookup, environment expansion, installed-application resolution or target existence check. resolvedTarget is always null. This is stored-declaration inventory, not a scan of your live Start Menu or anonymization.
Open Inventory Windows shortcut declarations →
Edit TrueType font namesRewrite explicit internal identities in a supported static TTF while preserving glyph and other table bytes and rebuilding checksums.

Select one static, unsigned glyf/loca TrueType font and enter four explicit internal identities. Edit every supported existing name record, preserving style names, glyphs and other tables. Download edited.ttf and a complete change report.

Steps

  1. Keep the original and confirm that it is a supported unsigned static TTF.
  2. Enter all four internal names explicitly; changing the filename is a separate operation.
  3. Run and inspect every edited-record count and unchanged-table evidence.
  4. Download edited.ttf plus complete JSON/CSV; assess installation and application behavior separately.

Available options

Family
New
Full name
aNew
PostScript name
Review
Unique ID
Different

Capabilities and limits

  • One sfnt 0x00010000 TrueType original, at most 20 MiB, with head/name/glyf/loca/maxp/cmap/hhea/hmtx. At most 256 sorted unique aligned tables. Every table checksum and the complete 0xB1B0AFBA checksum are checked; directory bounds, head/maxp and loca ranges are validated.
  • Name formats 0 and 1 only, with at most 4,096 sorted unique records and 1,024 LangTags. Every stored name or language string is at most 8,192 bytes; original and rebuilt distinct string pools are each at most 65,535 bytes. Exact and substring source string sharing is supported.
  • Existing IDs 1/3/4/6/16/18/21 are edited. Existing style IDs 2/17/22, copyright, license and all other names remain unchanged. Family, full name, PostScript name and unique ID are four explicit 1–63 printable ASCII strings; PostScript excludes whitespace and [](){}<>/%. No names or style metadata are inferred.
  • Selected Unicode platform 0 encodings 0–4 and Windows platform 3 encodings 0/1/10 use strict UTF-16BE. Mac platform 1 encoding 0 writes exact ASCII; the old MacRoman value remains null with raw hex. Unknown unselected codecs remain opaque; an unknown selected codec refuses the whole font. Malformed known Unicode also refuses unselected records.
  • Every format-1 LangTag is preserved, with RFC 5646 syntax checks including private use and grandfathered forms. No IANA registration or canonicalization is promised. Version-0 custom platforms 240–255 may retain high language IDs.
  • Only name is rebuilt; head.checkSumAdjustment changes to repair the global checksum. Every other table is byte-identical. Container offsets, gaps and padding may change. Complete JSON keeps all old/new name bytes, language records and table offsets/SHA256; complete CSV protects formula-leading cells.
  • Filename at most 512 UTF-16 units; complete JSON plus safe CSV at most 16 MiB. An incremental report lower-bound guard can refuse before allocating an oversized full report. Edited-font 21 MiB and combined 37 MiB allocation guards are dominated by source/string/report limits; no independent exact ceiling is promised.
  • DSIG, variable tables including fvar/avar/STAT/gvar/cvar/HVAR/VVAR/MVAR, CFF/CFF2, TTC, WOFF and WOFF2 are refused. No font loading, installation, glyph bytecode execution, rendering, style inference or full OpenType semantic validation. OS caches and applications may still group or reject edited fonts; compatibility and coexistence are not guaranteed. Table cells are previews of at most 2,000 UTF-16 units.
Open Edit TrueType font names →

Tools used in this article

Inventory Windows shortcut declarations →Read stored paths, arguments and opaque components from local LNK originals and export a complete inventory without activating shortcuts.Edit TrueType font names →Rewrite explicit internal identities in a supported static TTF while preserving glyph and other table bytes and rebuilding checksums.