텍스트 및 일상 도구 · QR 및 바코드 툴킷
Code 128 코드 세트 A, B, C: 숫자로 인해 바코드가 더 짧아지는 이유
· 작동 방식
인코딩 인쇄 중 개발자 워크플로
세 가지 Code 128 코드 세트, 코드 세트 C가 기호당 두 자리 숫자를 압축하는 방법, 숫자 전용 레이블이 혼합 레이블보다 눈에 띄게 더 좁아지는 이유를 설명합니다.
라벨에 맞지 않는 바코드 - 글꼴 크기뿐만 아니라 문자 선택이 Code 128 기호의 너비를 제어하는 방법
Code 128 너비는 캡션 글꼴을 축소하는 것이 아니라 내보낸 기호 시퀀스에 의해 제어됩니다. ToolAcre의 테스트에서는 자동 인코더가 쌍을 이루는 숫자를 사용할 수 있기 때문에 일련의 숫자가 비슷한 크기의 문자보다 더 컴팩트하게 인코딩되는 것으로 나타났습니다.
`generateCode128`은 바이너리 패턴으로 `moduleCount`을 반환하므로 라벨 디자이너는 결과를 직접 측정할 수 있습니다. 문자 길이가 같은 두 문자열 중 하나는 숫자 쌍을 허용하고 다른 하나는 개별 문자 또는 세트 변경을 요구하는 경우 모듈 수가 다를 수 있습니다. 내보낸 너비에는 고정된 여백 영역도 포함되어 있으므로 캡션을 누르거나 글꼴을 변경해도 막대 자체가 줄어들지는 않습니다.
하나의 테이블에 있는 코드 세트 A, B, C — 제어 문자와 대문자, 대문자와 소문자, 숫자 쌍
세 가지 코드 세트는 Code 128 레퍼토리의 서로 다른 부분을 다룹니다. A는 대문자와 컨트롤에 유용하고, B는 인쇄 가능한 대소문자 혼합 텍스트를 다루고, C는 소수 쌍을 나타냅니다. ToolAcre는 사용자에게 세트를 수동으로 선택하도록 요청하지 않습니다.
ToolAcre는 자동 인코더가 완전한 입력을 갖고 일관되게 전환을 선택할 수 있기 때문에 의도적으로 수동 세트 선택을 숨깁니다. 이는 사용자가 문자에 대해 C 세트를 강제로 설정하거나 일반 텍스트에 대해 컨트롤 지향 세트를 실수하는 UI를 방지합니다. 경계도 마찬가지로 중요합니다. 자동 선택은 유효한 ASCII 문자열을 최적화하지만 악센트가 있는 문자를 음역하거나 Code 128을 코드 포인트 0부터 127까지 확장하지 않습니다.
코드 세트 C가 숫자 폭을 절반으로 줄이는 이유 — 두 자리당 하나의 기호 및 홀수 숫자 계산 시 발생하는 현상
세트 C는 각 완전한 숫자 쌍을 하나의 데이터 기호로 변환하므로 긴 짝수 길이의 숫자 실행에는 더 적은 기호가 필요합니다. 홀수 개수의 경우 인코더는 일치하지 않는 숫자에 대해 세트 C를 떠나거나 지연해야 하므로 정확한 결과는 자동 분할에 따라 달라집니다.
홀수 실행은 "기호당 2자리" 단축키의 한계를 보여줍니다. `12345`에서 마지막 숫자는 set-C 쌍을 형성할 수 없으므로 인코더는 다른 전략과 전환 오버헤드를 통해 이를 설명해야 합니다. 실행 앞에 `A`을 붙이면 쌍이 아닌 다른 문자가 추가됩니다. 분할 결정은 캡션이 아닌 방출된 모듈에 표시되므로 표시된 6개의 문자에서 너비를 추정하는 대신 두 값을 모두 생성합니다.
중간 바코드 전환 — 추가 기호를 사용하여 하나의 바코드 혼합 세트를 만드는 방법 시프트 및 코드 변경 문자
혼합 식별자는 저장된 기호가 전환 오버헤드보다 클 때 세트 간에 전환할 수 있습니다. CODE128_AUTO 인코더가 그러한 결정을 내립니다. 애플리케이션은 모든 격리된 숫자 쌍이 특정 전환을 트리거한다고 약속하는 대신 출력을 확인합니다.
스위치 기호는 공간을 소비합니다. 즉, 문자 안의 짧은 숫자 섬은 세트 C에 들어갈 가치가 없을 수 있습니다. CODE128_AUTO는 두 자리마다 스위치를 트리거하는 규칙이 아니라 전체 문자열에서 결정합니다. 이는 또한 연재물에 구두점을 삽입하면 하나 이상의 데이터 기호만큼 확장될 수 있는 이유를 설명합니다. 이는 유용한 실행을 분할하고 중단 주위에 전환을 일으킬 수 있습니다.
카운팅 모듈 — 기호당 11개 모듈, 정지 패턴용 13개 및 인쇄 너비 예측을 위한 여백(Quiet Zone)
일반 Code 128 기호는 11개의 모듈을 차지하는 반면 정지 패턴은 더 길고 렌더러는 양쪽에 10개의 좁은 막대 여백 영역을 추가합니다. 방출된 모듈을 계산하면 표시되는 입력 문자를 계산하는 것보다 너비를 더 안정적으로 예측할 수 있습니다.
렌더러는 각 바이너리 모듈을 고정된 배수의 픽셀로 변환하고 양쪽에 10개의 좁은 모듈 여백 영역을 추가합니다. 정지 시퀀스는 13개 모듈로 구성된 반면 일반 기호는 11개 모듈 그룹으로 시작됩니다. 이러한 구현 사실을 통해 레이아웃은 반환된 모듈 수를 사용하여 후보 픽셀 너비를 계산할 수 있습니다. 실제 인쇄물이 특정 장치에서 스캔된다는 보장은 없습니다.
작업된 예 — 숫자만 포함된 동일한 12자 연속 문자와 문자 접두어를 사용하여 기호 수와 너비를 비교
123456789012을 생성기의 A12345678901과 비교합니다. 모든 숫자 입력은 인코더에 연속적인 일련의 쌍을 제공하는 반면 접두사는 혼합 시퀀스를 강제합니다. ToolAcre의 테스트는 이와 동일한 원리를 사용하여 숫자 데이터가 더 좁은지 확인합니다.
`123456789012` 및 `A12345678901`과 같은 제어된 쌍을 사용하고 동일한 내보내기 설정을 유지하고 두 SVG viewBox 너비를 비교합니다. 두 번째 값에는 둘 다 12개의 문자가 포함되어 있더라도 다른 시작 세트와 혼합 인코딩이 필요할 수 있습니다. 이는 더 작은 모듈 크기를 대체하는 것보다 더 나은 설계 증명으로, 개수는 유지하지만 프린터와 리더기가 모든 막대를 해결하기 어렵게 만듭니다.
여기에 포함되지 않는 내용 — 프린터 해상도, 리본 품질 및 소매 바코드에 대한 GS1 규칙
이러한 비교는 리본 품질, 프린터 도트 또는 GS1 라벨 규칙에 대해서는 아무 의미도 없습니다. 또한 ToolAcre를 소매 바코드 서비스로 전환하지 않습니다. 구성 및 구현된 기호는 귀하가 제어하는 식별자에 대해 일반 Code 128입니다.
ToolAcre가 정확한 형상을 생성한 후에 프린터 도트, 잉크 확산 및 리본 전송이 발생합니다. GS1 규칙은 인코딩할 데이터와 컨트롤을 정의하여 그보다 먼저 발생합니다. 자동 코드 세트 선택으로는 두 문제가 모두 해결되지 않습니다. 기술적으로 컴팩트한 SVG는 여전히 잘못된 기호일 수 있고, 해결되지 않은 인쇄물이거나 수신 데이터베이스가 등록하지 않은 식별자일 수 있습니다.
요점 — 숫자가 포함된 디자인 라벨은 가능한 한 실행된 다음 QR 및 바코드 툴킷에서 바코드를 생성하여 너비를 확인합니다.
간결성이 중요한 경우 유용한 숫자 실행을 사용하여 내부 식별자를 디자인하되 입력해야 하는 사람들이 이해할 수 있도록 유지하십시오. 실제 모듈 개수가 중요한 너비이기 때문에 라벨을 배치하기 전에 최종 패턴을 생성하세요.
컴팩트함은 안정적인 운영에 종속되어야 합니다. 숫자 키가 짧을수록 모듈을 저장할 수 있지만, 불투명한 시퀀스는 손상된 라벨을 수동으로 입력해야 할 때 전사 실수를 증가시킬 수 있습니다. 직원과 소프트웨어가 사용할 수 있는 구성표를 선택하고, 라벨 템플릿을 수정하기 전에 대표적인 극단을 생성하고, 근처 텍스트를 위해 빈 공간을 회수하는 대신 여백을 보존하십시오.