test_pdf_utils Module



Functions

public function find_subsequence(arr, n, pat, start_idx) result(pos)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: arr(n)
integer(kind=int64), intent(in) :: n
character(len=*), intent(in) :: pat
integer, intent(in) :: start_idx

Return Value integer

public function pdf_stream_has_stroke_rgb(stream_text, rgb, tol) result(found)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: stream_text
real(kind=dp), intent(in) :: rgb(3)
real(kind=dp), intent(in) :: tol

Return Value logical

public function pdf_stream_count_operator(stream_text, op) result(count_op)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: stream_text
character(len=*), intent(in) :: op

Return Value integer

public function is_pdf_whitespace(ch) result(is_ws)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: ch

Return Value logical

public function is_pdf_delimiter(ch) result(is_delim)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: ch

Return Value logical

public function is_octal_digit(ch) result(is_digit)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: ch

Return Value logical

public function parse_real_token(token, token_len, value) result(ok)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: token
integer, intent(in) :: token_len
real(kind=dp), intent(out) :: value

Return Value logical


Subroutines

public subroutine extract_pdf_stream_text(filename, stream_text, status)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
character(len=:), intent(out), allocatable :: stream_text
integer, intent(out) :: status

public subroutine append_string(target, chunk)

Arguments

Type IntentOptional Attributes Name
character(len=:), intent(inout), allocatable :: target
character(len=*), intent(in) :: chunk

public subroutine bytes_to_string(bytes, text)

Arguments

Type IntentOptional Attributes Name
integer(kind=int8), intent(in) :: bytes(:)
character(len=*), intent(out) :: text

public subroutine pdf_next_token(text, pos, token, token_len, has_token)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: text
integer, intent(inout) :: pos
character(len=*), intent(out) :: token
integer, intent(out) :: token_len
logical, intent(out) :: has_token

public subroutine pdf_skip_comment(text, pos)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: text
integer, intent(inout) :: pos

public subroutine pdf_scan_literal_string(text, pos, end_pos)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: text
integer, intent(inout) :: pos
integer, intent(out) :: end_pos

public subroutine pdf_scan_hex_string(text, pos, end_pos)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: text
integer, intent(inout) :: pos
integer, intent(out) :: end_pos

public subroutine shift_recent_tokens(token, token_len, t1, t1_len, t2, t2_len, t3, t3_len)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: token
integer, intent(in) :: token_len
character(len=*), intent(inout) :: t1
integer, intent(inout) :: t1_len
character(len=*), intent(inout) :: t2
integer, intent(inout) :: t2_len
character(len=*), intent(inout) :: t3
integer, intent(inout) :: t3_len