Skip to content

Commit

Permalink
Added comments. Added old design standard PDFs.
Browse files Browse the repository at this point in the history
  • Loading branch information
jonsagara committed Nov 20, 2024
1 parent 50b49e9 commit 592453b
Show file tree
Hide file tree
Showing 8 changed files with 18 additions and 6 deletions.
Binary file added docs/AAMVA-2000-DLID-Card-Design-Standard.pdf
Binary file not shown.
Binary file added docs/AAMVA-2003-DLID-Card-Design-Standard.pdf
Binary file not shown.
Binary file added docs/AAMVA-2005-DLID-Card-Design-Standard.pdf
Binary file not shown.
Binary file added docs/AAMVA-2010-DLID-Card-Design-Standard.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "8.0.200",
"version": "8.0.404",
"rollForward": "latestPatch"
}
}
18 changes: 13 additions & 5 deletions src/IdParser.Core/Fixes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,19 @@ internal static string TryToCorrectHeader(string rawPdf417Input, ILoggerFactory
{
var logger = loggerFactory.CreateLogger(typeof(Fixes));

return rawPdf417Input
.RemoveUndefinedCharacters()
.RemoveInvalidCharactersFromHeader(logger)
.FixIncorrectHeader(logger)
.RemoveIncorrectCarriageReturns(logger);
// This isn't easily debuggable.
//return rawPdf417Input
// .RemoveUndefinedCharacters()
// .RemoveInvalidCharactersFromHeader(logger)
// .FixIncorrectHeader(logger)
// .RemoveIncorrectCarriageReturns(logger);

rawPdf417Input = rawPdf417Input.RemoveUndefinedCharacters();
rawPdf417Input = rawPdf417Input.RemoveInvalidCharactersFromHeader(logger);
rawPdf417Input = rawPdf417Input.FixIncorrectHeader(logger);
rawPdf417Input = rawPdf417Input.RemoveIncorrectCarriageReturns(logger);

return rawPdf417Input;
}


Expand Down
3 changes: 3 additions & 0 deletions src/IdParser.Core/Parsers/Id/NameParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

internal record NameParts(string? First, string? Middle, string? Last, string? Suffix);

/// <summary>
/// Name parser for legacy AAMVA 2000 spec. The field code doesn't appear in the 2020 spec.
/// </summary>
internal static class NameParser
{
private static readonly char[] StandardSeparators = { ',', '$', '@' };
Expand Down
1 change: 1 addition & 0 deletions src/IdParser.Core/Parsers/Parser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ internal static ParseAndSetElementResult ParseAndSetIdCardElement(string element
break;

case SubfileElementIds.Name:
// Name parser for legacy 2000 spec. The field code doesn't appear in the 2020 spec.
// NOTE: this parser doesn't report errors
var nameParts = NameParser.Parse(elementId: elementId, rawValue: rawValue);
idCard.FirstName = FieldHelpers.ParsedField(elementId: elementId, value: nameParts?.First, rawValue: rawValue);
Expand Down

0 comments on commit 592453b

Please sign in to comment.