Contracts and limitations

StringKit-FP deliberately preserves a stable, practical API. The following details matter when processing external or non-ASCII data.

AreaContract
SubStringStartPos follows Pascal Copy convention and is 1-based.
Text classificationcasing, word tokenisation, URL, hex, and related APIs are largely byte/ASCII-oriented, not Unicode grapheme-aware.
Identifier caseseparators, lower-to-upper changes, acronym boundaries, and digits are handled by the ASCII tokenizer.
Validatorsemail, URL, IP, and date methods are pragmatic syntax checks, not complete RFC validators or reachability checks.
Percent encodingPercentEncode uses %20 for spaces and PercentDecode preserves literal +.
Form encodingFormURLEncode uses + for spaces; legacy URLEncode and URLDecode retain the same form semantics.
Safe parsingTryHexDecode, TryDecode64, and TryFromRoman return False and clear their out value on malformed input.
ReadabilityEnglish readability formulas use heuristic syllable counts.

These are contracts, not shortcomings hidden by the documentation: make a Unicode-aware or standards-complete validation decision explicitly when your application requires it.